liquid-fixpoint 0.7.0.7 → 0.8.0.2
raw patch · 467 files changed
+41131/−1562 lines, 467 filesdep −bifunctorsdep −bytestringdep −dotgendep ~basedep ~mtldep ~prettybinary-addedPVP ok
version bump matches the API change (PVP)
Dependencies removed: bifunctors, bytestring, dotgen, fgl-visualize, filemanip, located-base, parallel-io, time
Dependency ranges changed: base, mtl, pretty, tasty-rerun, transformers
API changes (from Hackage documentation)
Files
- .DS_Store binary
- ._.DS_Store binary
- .circleci/config.yml +42/−0
- .ghci +1/−0
- .git +1/−0
- .gitignore +33/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/autogen/Paths_liquid_fixpoint.dump-hi +69/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Defunctionalize.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Defunctionalize.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Defunctionalize.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Defunctionalize.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Deps.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Deps.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Deps.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Deps.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Indexed.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Indexed.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Indexed.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Indexed.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Partition.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Partition.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Partition.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Partition.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Reducible.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Reducible.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Reducible.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Reducible.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Types.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Types.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Types.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Graph/Types.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Parse.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Parse.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Parse.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Parse.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Solve.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Solve.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Solve.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Solve.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Transformations.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Transformations.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Transformations.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Transformations.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Types.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Types.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Types.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Horn/Types.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Minimize.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Minimize.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Minimize.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Minimize.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Misc.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Misc.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Misc.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Misc.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Parse.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Parse.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Parse.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Parse.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Bitvector.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Bitvector.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Bitvector.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Bitvector.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Interface.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Interface.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Interface.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Interface.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Serialize.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Serialize.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Serialize.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Serialize.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Theories.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Theories.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Theories.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Theories.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Types.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Types.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Types.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Smt/Types.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Eliminate.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Eliminate.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Eliminate.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Eliminate.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/GradualSolution.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/GradualSolution.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/GradualSolution.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/GradualSolution.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Instantiate.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Instantiate.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Instantiate.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Instantiate.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Monad.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Monad.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Monad.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Monad.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Sanitize.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Sanitize.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Sanitize.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Sanitize.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Solution.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Solution.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Solution.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Solution.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Solve.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Solve.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Solve.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Solve.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/TrivialSort.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/TrivialSort.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/TrivialSort.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/TrivialSort.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/UniqifyBinds.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/UniqifyBinds.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/UniqifyBinds.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/UniqifyBinds.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/UniqifyKVars.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/UniqifyKVars.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/UniqifyKVars.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/UniqifyKVars.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Worklist.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Worklist.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Worklist.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Solver/Worklist.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/SortCheck.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/SortCheck.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/SortCheck.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/SortCheck.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Config.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Config.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Config.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Config.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Constraints.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Constraints.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Constraints.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Constraints.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Environments.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Environments.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Environments.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Environments.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Errors.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Errors.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Errors.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Errors.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Graduals.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Graduals.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Graduals.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Graduals.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Names.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Names.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Names.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Names.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/PrettyPrint.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/PrettyPrint.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/PrettyPrint.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/PrettyPrint.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Refinements.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Refinements.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Refinements.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Refinements.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Solutions.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Solutions.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Solutions.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Solutions.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Sorts.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Sorts.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Sorts.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Sorts.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Spans.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Spans.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Spans.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Spans.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Substitutions.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Substitutions.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Substitutions.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Substitutions.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Templates.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Templates.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Templates.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Templates.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Theories.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Theories.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Theories.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Theories.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Triggers.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Triggers.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Triggers.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Triggers.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Utils.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Utils.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Utils.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Utils.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Visitor.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Visitor.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Visitor.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Types/Visitor.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Files.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Files.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Files.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Files.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Progress.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Progress.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Progress.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Progress.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Statistics.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Statistics.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Statistics.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Statistics.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Trie.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Trie.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Trie.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Language/Fixpoint/Utils/Trie.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Paths_liquid_fixpoint.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Paths_liquid_fixpoint.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Paths_liquid_fixpoint.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Paths_liquid_fixpoint.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Text/PrettyPrint/HughesPJ/Compat.dyn_hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Text/PrettyPrint/HughesPJ/Compat.dyn_o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Text/PrettyPrint/HughesPJ/Compat.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Text/PrettyPrint/HughesPJ/Compat.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/autogen/Paths_liquid_fixpoint.hs +50/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/autogen/cabal_macros.h +462/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/fixpoint/autogen/Paths_liquid_fixpoint.hs +50/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/fixpoint/autogen/cabal_macros.h +173/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/fixpoint/fixpoint too large to diff
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/fixpoint/fixpoint-tmp/Main.hi binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/fixpoint/fixpoint-tmp/Main.o binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/fixpoint/fixpoint-tmp/bin/Fixpoint.dump-hi +139/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/libHSliquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep-ghc8.6.5.dylib too large to diff
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/libHSliquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep.a too large to diff
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Defunctionalize.dump-hi +372/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Graph.dump-hi +224/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Graph/Deps.dump-hi +389/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Graph/Indexed.dump-hi +185/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Graph/Partition.dump-hi +283/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Graph/Reducible.dump-hi +136/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Graph/Types.dump-hi +497/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Horn/Parse.dump-hi +187/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Horn/Solve.dump-hi +373/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Horn/Transformations.dump-hi +300/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Horn/Types.dump-hi +707/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Minimize.dump-hi +204/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Misc.dump-hi +471/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Parse.dump-hi +1022/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Smt/Bitvector.dump-hi +270/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Smt/Interface.dump-hi +431/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Smt/Serialize.dump-hi +318/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Smt/Theories.dump-hi +312/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Smt/Types.dump-hi +272/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Solver.dump-hi +312/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Solver/Eliminate.dump-hi +186/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Solver/GradualSolution.dump-hi +206/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Solver/Instantiate.dump-hi +575/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Solver/Monad.dump-hi +391/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Solver/Sanitize.dump-hi +319/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Solver/Solution.dump-hi +413/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Solver/Solve.dump-hi +284/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Solver/TrivialSort.dump-hi +280/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Solver/UniqifyBinds.dump-hi +256/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Solver/UniqifyKVars.dump-hi +155/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Solver/Worklist.dump-hi +352/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/SortCheck.dump-hi +620/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types.dump-hi +1164/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Config.dump-hi +723/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Constraints.dump-hi +2621/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Environments.dump-hi +880/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Errors.dump-hi +585/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Graduals.dump-hi +436/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Names.dump-hi +689/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/PrettyPrint.dump-hi +439/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Refinements.dump-hi +2382/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Solutions.dump-hi +1237/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Sorts.dump-hi +1389/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Spans.dump-hi +454/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Substitutions.dump-hi +373/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Templates.dump-hi +202/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Theories.dump-hi +795/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Triggers.dump-hi +265/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Utils.dump-hi +151/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Types/Visitor.dump-hi +528/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Utils/Files.dump-hi +247/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Utils/Statistics.dump-hi +273/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Language/Fixpoint/Utils/Trie.dump-hi +119/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/src/Text/PrettyPrint/HughesPJ/Compat.dump-hi +104/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/unix/Language/Fixpoint/Utils/Progress.dump-hi +98/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/package.conf.inplace/liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep.conf +84/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/package.conf.inplace/package.cache binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/package.conf.inplace/package.cache.lock +0/−0
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/setup-config binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/stack-build-caches/exe-fixpoint binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/stack-build-caches/lib binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/stack-cabal-mod binary
- .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/stack-config-cache binary
- CHANGES.md +46/−0
- Makefile +3/−7
- README.md +319/−0
- TODO.md +18/−0
- bin/.DS_Store binary
- bin/._.DS_Store binary
- bin/Fixpoint.hs +29/−7
- default.nix +32/−0
- liquid-fixpoint.cabal +168/−214
- scripts/travis +137/−0
- shell.nix +17/−0
- src/Language/Fixpoint/Congruence/Closure.hs +67/−0
- src/Language/Fixpoint/Congruence/Types.hs +100/−0
- src/Language/Fixpoint/Defunctionalize.hs +5/−179
- src/Language/Fixpoint/Graph/Deps.hs +42/−14
- src/Language/Fixpoint/Graph/Partition.hs +9/−5
- src/Language/Fixpoint/Graph/Types.hs +5/−3
- src/Language/Fixpoint/Horn/Info.hs +146/−0
- src/Language/Fixpoint/Horn/Parse.hs +109/−0
- src/Language/Fixpoint/Horn/Solve.hs +64/−0
- src/Language/Fixpoint/Horn/Transformations.hs +1132/−0
- src/Language/Fixpoint/Horn/Types.hs +210/−0
- src/Language/Fixpoint/Misc.hs +67/−36
- src/Language/Fixpoint/Parse.hs +82/−34
- src/Language/Fixpoint/Smt/Interface.hs +28/−27
- src/Language/Fixpoint/Smt/Serialize.hs +51/−12
- src/Language/Fixpoint/Smt/Theories.hs +6/−3
- src/Language/Fixpoint/Smt/Types.hs +7/−11
- src/Language/Fixpoint/Solver.hs +18/−27
- src/Language/Fixpoint/Solver/Eliminate.hs +4/−3
- src/Language/Fixpoint/Solver/GradualSolution.hs +3/−3
- src/Language/Fixpoint/Solver/GradualSolve.hs +331/−0
- src/Language/Fixpoint/Solver/Instantiate.hs +635/−362
- src/Language/Fixpoint/Solver/Monad.hs +15/−16
- src/Language/Fixpoint/Solver/Sanitize.hs +17/−15
- src/Language/Fixpoint/Solver/Solution.hs +199/−77
- src/Language/Fixpoint/Solver/Solve.hs +21/−12
- src/Language/Fixpoint/Solver/UniqifyKVars.hs +1/−1
- src/Language/Fixpoint/SortCheck.hs +269/−112
- src/Language/Fixpoint/Types.hs +1/−0
- src/Language/Fixpoint/Types/Config.hs +15/−11
- src/Language/Fixpoint/Types/Constraints.hs +192/−91
- src/Language/Fixpoint/Types/Environments.hs +37/−15
- src/Language/Fixpoint/Types/Errors.hs +26/−12
- src/Language/Fixpoint/Types/Graduals.hs +4/−1
- src/Language/Fixpoint/Types/Names.hs +58/−35
- src/Language/Fixpoint/Types/PrettyPrint.hs +20/−14
- src/Language/Fixpoint/Types/Refinements.hs +36/−23
- src/Language/Fixpoint/Types/Solutions.hs +100/−38
- src/Language/Fixpoint/Types/Sorts.hs +139/−27
- src/Language/Fixpoint/Types/Spans.hs +9/−1
- src/Language/Fixpoint/Types/Substitutions.hs +72/−27
- src/Language/Fixpoint/Types/Templates.hs +106/−0
- src/Language/Fixpoint/Types/Theories.hs +26/−20
- src/Language/Fixpoint/Types/Visitor.hs +24/−7
- src/Language/Fixpoint/Utils/Trie.hs +130/−0
- src/Text/PrettyPrint/HughesPJ/Compat.hs +13/−0
- stack.yaml +19/−0
- tests/crash/EqConstr0.fq +9/−0
- tests/crash/EqConstr1.fq +12/−0
- tests/crash/num00.fq +29/−0
- tests/crash/sort00.fq +12/−0
- tests/crash/sort01.fq +13/−0
- tests/cut/test00-tx.fq +12/−0
- tests/cut/test00.fq +28/−0
- tests/cut/test00a-tx.fq +43/−0
- tests/cut/test00a.fq +29/−0
- tests/cut/test1-tx.fq +43/−0
- tests/cut/test1.fq +29/−0
- tests/cut/test2-tx.fq +112/−0
- tests/cut/test2.fq +51/−0
- tests/elim/div00.fq +23/−0
- tests/elim/elim00.fq +1494/−0
- tests/elim/kvparam00.fq +20/−0
- tests/elim/len00.fq +23/−0
- tests/elim/test00-tx.fq +12/−0
- tests/elim/test00.fq +26/−0
- tests/elim/test00a.fq +28/−0
- tests/elim/test1.fq +29/−0
- tests/elim/test2.fq +53/−0
- tests/elim/tuple00.fq +114/−0
- tests/elim/tuple01.fq +137/−0
- tests/horn/neg/abs02-re.smt2 +29/−0
- tests/horn/neg/ebind03.smt2 +16/−0
- tests/horn/neg/test00.smt2 +10/−0
- tests/horn/neg/test01.smt2 +16/−0
- tests/horn/neg/test02.smt2 +18/−0
- tests/horn/neg/test03.smt2 +24/−0
- tests/horn/pos/abs02-re.smt2 +13/−0
- tests/horn/pos/constant.smt2 +13/−0
- tests/horn/pos/ebind01.smt2 +6/−0
- tests/horn/pos/ebind02.smt2 +11/−0
- tests/horn/pos/ebind03.smt2 +14/−0
- tests/horn/pos/icfp17-ex1.smt2 +14/−0
- tests/horn/pos/icfp17-ex2.smt2 +19/−0
- tests/horn/pos/icfp17-ex3.smt2 +16/−0
- tests/horn/pos/sum-rec-ok.smt2 +24/−0
- tests/horn/pos/sum-rec.smt2 +24/−0
- tests/horn/pos/test00.smt2 +15/−0
- tests/horn/pos/test01.smt2 +12/−0
- tests/horn/pos/test02.smt2 +18/−0
- tests/horn/pos/test03.smt2 +22/−0
- tests/minimize/two-cores.fq +30/−0
- tests/neg/NonLinear.hs.fq +91/−0
- tests/neg/adt_mutrec.fq +24/−0
- tests/neg/baz.fq +22/−0
- tests/neg/ebind-00.fq +16/−0
- tests/neg/ebind-01.fq +17/−0
- tests/neg/ebind-02.fq +28/−0
- tests/neg/ebind-03.fq +45/−0
- tests/neg/ebind-04.fq +35/−0
- tests/neg/ebind-elim2.fq +26/−0
- tests/neg/qualif-template-00.fq +33/−0
- tests/neg/qualif-template-01.fq +34/−0
- tests/neg/qualif-template-02.fq +27/−0
- tests/neg/sets01.fq +39/−0
- tests/neg/test00.hs.fq +286/−0
- tests/pos/LogicCurry1.hs.fq +245/−0
- tests/pos/adt_either.fq +0/−17
- tests/pos/adt_mutrec.fq +24/−0
- tests/pos/baz.fq +0/−22
- tests/pos/coerce2a.fq +9/−0
- tests/pos/coerce2b.fq +11/−0
- tests/pos/ebind-00.fq +16/−0
- tests/pos/ebind-01.fq +17/−0
- tests/pos/ebind-02.fq +28/−0
- tests/pos/ebind-03.fq +45/−0
- tests/pos/ebind-03a.fq +55/−0
- tests/pos/ebind-04.fq +35/−0
- tests/pos/ebind-05.fq +31/−0
- tests/pos/ebind-06.fq +27/−0
- tests/pos/gfp00.fq +23/−0
- tests/pos/hex.ts.fq +342/−0
- tests/pos/listqual.hs.fq +577/−0
- tests/pos/literals01.fq +6/−0
- tests/pos/literals06.fq +10/−0
- tests/pos/min00.fq +1/−1
- tests/pos/qualif-template-00.fq +34/−0
- tests/pos/qualif-template-01.fq +34/−0
- tests/pos/qualif-template-02.fq +25/−0
- tests/pos/sets01.fq +39/−0
- tests/pos/test00.hs.fq +1021/−0
- tests/pos/test000.hs.fq +489/−0
- tests/proof/LH1424.fq +43/−0
- tests/proof/T387.fq +26/−0
- tests/proof/contra.fq +19/−0
- tests/proof/list00.fq +16/−0
- tests/proof/list01.fq +19/−0
- tests/proof/list02.fq +29/−0
- tests/proof/ple0.fq +13/−0
- tests/proof/ple1.fq +17/−0
- tests/proof/ple2.fq +20/−0
- tests/proof/ple3.fq +40/−0
- tests/proof/ple4.fq +30/−0
- tests/proof/sum.fq +18/−0
- tests/rankNTypes/T407.hs.fq +17/−0
- tests/test.hs +17/−7
- tests/testParser.hs +2/−2
- tests/todo-crash/wl01.fq +39/−0
- tests/todo/LH1090.fq +17/−0
- tests/todo/T1371-short.fq +77/−0
- tests/todo/ebind-kvar-chain.fq +39/−0
- unix/Language/Fixpoint/Utils/Progress.hs +22/−11
binary file changed (absent → 8196 bytes)
binary file changed (absent → 120 bytes)
@@ -0,0 +1,42 @@+---+version: 2.0++jobs:+ build:+ docker:+ - image: fpco/stack-build:lts-14.0+ steps:+ - add_ssh_keys+ - run: apt-get install z3+ - checkout+ - restore_cache:+ keys:+ - stack-{{ checksum "stack.yaml" }}+ - run:+ name: Dependencies+ command: |+ stack setup+ stack build liquid-fixpoint --only-dependencies --test --no-run-tests+ - save_cache:+ key: stack-{{ checksum "stack.yaml" }}+ paths:+ - ~/.stack+ - ./.stack-work+ - run:+ name: Compile+ command : |+ stack build liquid-fixpoint --flag liquid-fixpoint:devel+ stack build liquid-fixpoint --flag liquid-fixpoint:devel --test --no-run-tests+ - run:+ name: Test+ command: |+ stack clean+ mkdir -p /tmp/junit+ stack test liquid-fixpoint:test --flag liquid-fixpoint:devel --test-arguments="--xml=/tmp/junit/main-test-results.xml":+ stack haddock+ stack sdist+ # mkdir -p $CIRCLE_TEST_REPORTS/tasty+ # cp -r tests/logs/cur $CIRCLE_TEST_REPORTS/tasty/log+ - run:+ name: Dist+ command: stack sdist
@@ -0,0 +1,1 @@+:set -isrc
@@ -0,0 +1,1 @@+gitdir: ../.git/modules/liquid-fixpoint
@@ -0,0 +1,33 @@+Session.vim+.depend+*.cmi+*.cmo+*.cmx+*.o+/dist*+.liquid+/.vagrant/+/.stack-work/+/build.sh+/external/fixpoint/config.make+/external/fixpoint/fixpoint.native+/external/fixpoint/misc+/external/fixpoint/smtZ3.ml+/external/ocamlgraph/META+/external/ocamlgraph/Makefile+/external/ocamlgraph/config.status+/external/ocamlgraph/graph.a+/external/ocamlgraph/graph.cma+/external/ocamlgraph/graph.cmxa+/external/ocamlgraph/src/dot_lexer.ml+/external/ocamlgraph/src/dot_parser.ml+/external/ocamlgraph/src/dot_parser.mli+/external/ocamlgraph/src/dot_parser.output+/external/ocamlgraph/src/gml.ml+/external/ocamlgraph/src/version.ml+/tests/neg/.liquid/+/tests/pos/.liquid/+/tests/logs/cur/summary.csv+/external/ocamlgraph/config.log+/TAGS+/tags
@@ -0,0 +1,69 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:21.090711 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Paths_liquid_fixpoint 8065+ interface hash: cc3c58b760d29a4cc4a7ccb83cbae560+ ABI hash: 0bca1085725fe7d9abd1434f83644343+ export-list hash: 8a92e412b29cd5629ca65890acd7ea26+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 4af7dc2cc9bca087063b063bff54bf8a+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Paths_liquid_fixpoint.getBinDir+ Paths_liquid_fixpoint.getDataDir+ Paths_liquid_fixpoint.getDataFileName+ Paths_liquid_fixpoint.getDynLibDir+ Paths_liquid_fixpoint.getLibDir+ Paths_liquid_fixpoint.getLibexecDir+ Paths_liquid_fixpoint.getSysconfDir+ Paths_liquid_fixpoint.version+module dependencies:+package dependencies: base-4.12.0.0* ghc-prim-0.5.3+ integer-gmp-1.0.2.0+orphans: base-4.12.0.0:GHC.Float base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity base-4.12.0.0:Data.Monoid+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+import -/ base-4.12.0.0:Control.Exception 041da5b6267cf6b639ff5716d5b299a9+import -/ base-4.12.0.0:Data.Version b91365c9d28e06272e2a2db7656d57ee+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.IO 898d4ddbf00eb4732e5f462760aa42ae+import -/ base-4.12.0.0:GHC.IO.Exception 77722984940ee6ccf9e2f7dab10b83a4+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.Environment c54e0d0308e729fdace6bc37aa74bb52+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+addDependentFile "/Users/niki/.stack/programs/x86_64-osx/ghc-8.6.5/lib/ghc-8.6.5/include/ghcversion.h" 43db44f9bb88490c2fa995e5f5ec33f2+addDependentFile ".stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/autogen/cabal_macros.h" 5d4a89af56b14b9a96821af0abd9deca+8c9810d73869d81da9ec2f3e3d269657+ $trModule :: GHC.Types.Module+3ecf11715f225be088bbe4246d34279d+ getBinDir :: GHC.Types.IO GHC.IO.FilePath+d6a182b9de2741a5d64e0dd77c3b2710+ getDataDir :: GHC.Types.IO GHC.IO.FilePath+147dd184fea14ef220ede73d694ec6a5+ getDataFileName :: GHC.IO.FilePath -> GHC.Types.IO GHC.IO.FilePath+4a6c346393ed21278cfb3a566ad92790+ getDynLibDir :: GHC.Types.IO GHC.IO.FilePath+eb203ca1aa98bc51f5ae5b199a27ff11+ getLibDir :: GHC.Types.IO GHC.IO.FilePath+8eb283ac97d6d8cc13e650d40111e7f2+ getLibexecDir :: GHC.Types.IO GHC.IO.FilePath+84e299faff41afb1a4e764ad3df9698d+ getSysconfDir :: GHC.Types.IO GHC.IO.FilePath+8ef06f6985b0e7be12afa1b24d63ed2a+ version :: Data.Version.Version+trusted: safe+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
binary file changed (absent → 11616 bytes)
binary file changed (absent → 82072 bytes)
binary file changed (absent → 11604 bytes)
binary file changed (absent → 81920 bytes)
binary file changed (absent → 9013 bytes)
binary file changed (absent → 1004 bytes)
binary file changed (absent → 9001 bytes)
binary file changed (absent → 1004 bytes)
binary file changed (absent → 13475 bytes)
binary file changed (absent → 221644 bytes)
binary file changed (absent → 13463 bytes)
binary file changed (absent → 220812 bytes)
binary file changed (absent → 6310 bytes)
binary file changed (absent → 35316 bytes)
binary file changed (absent → 6298 bytes)
binary file changed (absent → 35220 bytes)
binary file changed (absent → 10206 bytes)
binary file changed (absent → 74040 bytes)
binary file changed (absent → 10194 bytes)
binary file changed (absent → 73848 bytes)
binary file changed (absent → 5618 bytes)
binary file changed (absent → 24080 bytes)
binary file changed (absent → 5606 bytes)
binary file changed (absent → 24016 bytes)
binary file changed (absent → 14354 bytes)
binary file changed (absent → 116352 bytes)
binary file changed (absent → 14342 bytes)
binary file changed (absent → 116048 bytes)
binary file changed (absent → 7317 bytes)
binary file changed (absent → 63720 bytes)
binary file changed (absent → 7305 bytes)
binary file changed (absent → 63512 bytes)
binary file changed (absent → 13998 bytes)
binary file changed (absent → 71380 bytes)
binary file changed (absent → 13986 bytes)
binary file changed (absent → 71204 bytes)
binary file changed (absent → 9708 bytes)
binary file changed (absent → 269904 bytes)
binary file changed (absent → 9696 bytes)
binary file changed (absent → 268816 bytes)
binary file changed (absent → 18123 bytes)
binary file changed (absent → 213260 bytes)
binary file changed (absent → 18111 bytes)
binary file changed (absent → 212692 bytes)
binary file changed (absent → 7537 bytes)
binary file changed (absent → 46600 bytes)
binary file changed (absent → 7525 bytes)
binary file changed (absent → 46432 bytes)
binary file changed (absent → 19402 bytes)
binary file changed (absent → 202724 bytes)
binary file changed (absent → 19390 bytes)
binary file changed (absent → 201764 bytes)
binary file changed (absent → 27683 bytes)
binary file changed (absent → 538692 bytes)
binary file changed (absent → 27671 bytes)
binary file changed (absent → 536564 bytes)
binary file changed (absent → 8436 bytes)
binary file changed (absent → 50384 bytes)
binary file changed (absent → 8424 bytes)
binary file changed (absent → 50136 bytes)
binary file changed (absent → 14666 bytes)
binary file changed (absent → 195808 bytes)
binary file changed (absent → 14654 bytes)
binary file changed (absent → 194952 bytes)
binary file changed (absent → 10439 bytes)
binary file changed (absent → 130236 bytes)
binary file changed (absent → 10427 bytes)
binary file changed (absent → 129860 bytes)
binary file changed (absent → 10303 bytes)
binary file changed (absent → 217352 bytes)
binary file changed (absent → 10291 bytes)
binary file changed (absent → 216776 bytes)
binary file changed (absent → 9707 bytes)
binary file changed (absent → 95296 bytes)
binary file changed (absent → 9695 bytes)
binary file changed (absent → 94928 bytes)
binary file changed (absent → 12517 bytes)
binary file changed (absent → 93204 bytes)
binary file changed (absent → 12505 bytes)
binary file changed (absent → 92844 bytes)
binary file changed (absent → 7332 bytes)
binary file changed (absent → 40988 bytes)
binary file changed (absent → 7320 bytes)
binary file changed (absent → 40860 bytes)
binary file changed (absent → 8031 bytes)
binary file changed (absent → 44476 bytes)
binary file changed (absent → 8019 bytes)
binary file changed (absent → 44380 bytes)
binary file changed (absent → 19372 bytes)
binary file changed (absent → 344172 bytes)
binary file changed (absent → 19360 bytes)
binary file changed (absent → 342892 bytes)
binary file changed (absent → 13274 bytes)
binary file changed (absent → 97784 bytes)
binary file changed (absent → 13262 bytes)
binary file changed (absent → 97536 bytes)
binary file changed (absent → 11545 bytes)
binary file changed (absent → 139724 bytes)
binary file changed (absent → 11533 bytes)
binary file changed (absent → 139220 bytes)
binary file changed (absent → 14172 bytes)
binary file changed (absent → 198736 bytes)
binary file changed (absent → 14160 bytes)
binary file changed (absent → 198168 bytes)
binary file changed (absent → 11710 bytes)
binary file changed (absent → 92060 bytes)
binary file changed (absent → 11698 bytes)
binary file changed (absent → 91716 bytes)
binary file changed (absent → 9282 bytes)
binary file changed (absent → 84248 bytes)
binary file changed (absent → 9270 bytes)
binary file changed (absent → 83944 bytes)
binary file changed (absent → 9023 bytes)
binary file changed (absent → 74956 bytes)
binary file changed (absent → 9011 bytes)
binary file changed (absent → 74844 bytes)
binary file changed (absent → 6010 bytes)
binary file changed (absent → 29244 bytes)
binary file changed (absent → 5998 bytes)
binary file changed (absent → 29164 bytes)
binary file changed (absent → 10922 bytes)
binary file changed (absent → 105040 bytes)
binary file changed (absent → 10910 bytes)
binary file changed (absent → 104856 bytes)
binary file changed (absent → 17697 bytes)
binary file changed (absent → 414572 bytes)
binary file changed (absent → 17685 bytes)
binary file changed (absent → 413148 bytes)
binary file changed (absent → 40619 bytes)
binary file changed (absent → 1004 bytes)
binary file changed (absent → 40607 bytes)
binary file changed (absent → 1004 bytes)
binary file changed (absent → 17658 bytes)
binary file changed (absent → 306732 bytes)
binary file changed (absent → 17646 bytes)
binary file changed (absent → 305804 bytes)
binary file changed (absent → 58797 bytes)
binary file changed (absent → 1017492 bytes)
binary file changed (absent → 58785 bytes)
binary file changed (absent → 1015108 bytes)
binary file changed (absent → 20723 bytes)
binary file changed (absent → 250396 bytes)
binary file changed (absent → 20711 bytes)
binary file changed (absent → 249900 bytes)
binary file changed (absent → 15670 bytes)
binary file changed (absent → 229112 bytes)
binary file changed (absent → 15658 bytes)
binary file changed (absent → 228600 bytes)
binary file changed (absent → 12990 bytes)
binary file changed (absent → 118008 bytes)
binary file changed (absent → 12978 bytes)
binary file changed (absent → 117768 bytes)
binary file changed (absent → 17040 bytes)
binary file changed (absent → 200264 bytes)
binary file changed (absent → 17028 bytes)
binary file changed (absent → 199984 bytes)
binary file changed (absent → 12663 bytes)
binary file changed (absent → 118476 bytes)
binary file changed (absent → 12651 bytes)
binary file changed (absent → 118220 bytes)
binary file changed (absent → 51384 bytes)
binary file changed (absent → 1037228 bytes)
binary file changed (absent → 51372 bytes)
binary file changed (absent → 1033500 bytes)
binary file changed (absent → 28572 bytes)
binary file changed (absent → 300756 bytes)
binary file changed (absent → 28560 bytes)
binary file changed (absent → 300004 bytes)
binary file changed (absent → 31264 bytes)
binary file changed (absent → 544468 bytes)
binary file changed (absent → 31252 bytes)
binary file changed (absent → 542112 bytes)
binary file changed (absent → 11901 bytes)
binary file changed (absent → 140864 bytes)
binary file changed (absent → 11889 bytes)
binary file changed (absent → 140568 bytes)
binary file changed (absent → 9817 bytes)
binary file changed (absent → 153852 bytes)
binary file changed (absent → 9805 bytes)
binary file changed (absent → 153268 bytes)
binary file changed (absent → 6555 bytes)
binary file changed (absent → 48696 bytes)
binary file changed (absent → 6543 bytes)
binary file changed (absent → 48592 bytes)
binary file changed (absent → 19124 bytes)
binary file changed (absent → 354136 bytes)
binary file changed (absent → 19112 bytes)
binary file changed (absent → 352776 bytes)
binary file changed (absent → 7836 bytes)
binary file changed (absent → 53988 bytes)
binary file changed (absent → 7824 bytes)
binary file changed (absent → 53860 bytes)
binary file changed (absent → 5522 bytes)
binary file changed (absent → 14528 bytes)
binary file changed (absent → 5510 bytes)
binary file changed (absent → 14504 bytes)
binary file changed (absent → 15519 bytes)
binary file changed (absent → 145400 bytes)
binary file changed (absent → 15507 bytes)
binary file changed (absent → 144848 bytes)
binary file changed (absent → 8701 bytes)
binary file changed (absent → 87140 bytes)
binary file changed (absent → 8689 bytes)
binary file changed (absent → 86868 bytes)
binary file changed (absent → 4587 bytes)
binary file changed (absent → 15692 bytes)
binary file changed (absent → 4575 bytes)
binary file changed (absent → 15636 bytes)
binary file changed (absent → 8801 bytes)
binary file changed (absent → 60784 bytes)
binary file changed (absent → 8789 bytes)
binary file changed (absent → 60584 bytes)
binary file changed (absent → 3378 bytes)
binary file changed (absent → 40728 bytes)
binary file changed (absent → 3366 bytes)
binary file changed (absent → 40632 bytes)
binary file changed (absent → 2467 bytes)
binary file changed (absent → 18212 bytes)
binary file changed (absent → 2455 bytes)
binary file changed (absent → 18212 bytes)
binary file changed (absent → 3572 bytes)
binary file changed (absent → 1304 bytes)
binary file changed (absent → 3560 bytes)
binary file changed (absent → 1304 bytes)
@@ -0,0 +1,50 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE NoRebindableSyntax #-}+{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}+module Paths_liquid_fixpoint (+ version,+ getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,+ getDataFileName, getSysconfDir+ ) where++import qualified Control.Exception as Exception+import Data.Version (Version(..))+import System.Environment (getEnv)+import Prelude++#if defined(VERSION_base)++#if MIN_VERSION_base(4,0,0)+catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a+#else+catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a+#endif++#else+catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a+#endif+catchIO = Exception.catch++version :: Version+version = Version [0,8,0,2] []+bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath++bindir = "/Users/niki/liquidtypes/liquidhaskell/.stack-work/install/x86_64-osx/lts-13.20/8.6.5/bin"+libdir = "/Users/niki/liquidtypes/liquidhaskell/.stack-work/install/x86_64-osx/lts-13.20/8.6.5/lib/x86_64-osx-ghc-8.6.5/liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+dynlibdir = "/Users/niki/liquidtypes/liquidhaskell/.stack-work/install/x86_64-osx/lts-13.20/8.6.5/lib/x86_64-osx-ghc-8.6.5"+datadir = "/Users/niki/liquidtypes/liquidhaskell/.stack-work/install/x86_64-osx/lts-13.20/8.6.5/share/x86_64-osx-ghc-8.6.5/liquid-fixpoint-0.8.0.2"+libexecdir = "/Users/niki/liquidtypes/liquidhaskell/.stack-work/install/x86_64-osx/lts-13.20/8.6.5/libexec/x86_64-osx-ghc-8.6.5/liquid-fixpoint-0.8.0.2"+sysconfdir = "/Users/niki/liquidtypes/liquidhaskell/.stack-work/install/x86_64-osx/lts-13.20/8.6.5/etc"++getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath+getBinDir = catchIO (getEnv "liquid_fixpoint_bindir") (\_ -> return bindir)+getLibDir = catchIO (getEnv "liquid_fixpoint_libdir") (\_ -> return libdir)+getDynLibDir = catchIO (getEnv "liquid_fixpoint_dynlibdir") (\_ -> return dynlibdir)+getDataDir = catchIO (getEnv "liquid_fixpoint_datadir") (\_ -> return datadir)+getLibexecDir = catchIO (getEnv "liquid_fixpoint_libexecdir") (\_ -> return libexecdir)+getSysconfDir = catchIO (getEnv "liquid_fixpoint_sysconfdir") (\_ -> return sysconfdir)++getDataFileName :: FilePath -> IO FilePath+getDataFileName name = do+ dir <- getDataDir+ return (dir ++ "/" ++ name)
@@ -0,0 +1,462 @@+/* DO NOT EDIT: This file is automatically generated by Cabal */++/* package liquid-fixpoint-0.8.0.2 */+#ifndef VERSION_liquid_fixpoint+#define VERSION_liquid_fixpoint "0.8.0.2"+#endif /* VERSION_liquid_fixpoint */+#ifndef MIN_VERSION_liquid_fixpoint+#define MIN_VERSION_liquid_fixpoint(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 8 || \+ (major1) == 0 && (major2) == 8 && (minor) <= 0)+#endif /* MIN_VERSION_liquid_fixpoint */++/* package ansi-terminal-0.8.2 */+#ifndef VERSION_ansi_terminal+#define VERSION_ansi_terminal "0.8.2"+#endif /* VERSION_ansi_terminal */+#ifndef MIN_VERSION_ansi_terminal+#define MIN_VERSION_ansi_terminal(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 8 || \+ (major1) == 0 && (major2) == 8 && (minor) <= 2)+#endif /* MIN_VERSION_ansi_terminal */++/* package array-0.5.3.0 */+#ifndef VERSION_array+#define VERSION_array "0.5.3.0"+#endif /* VERSION_array */+#ifndef MIN_VERSION_array+#define MIN_VERSION_array(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 5 || \+ (major1) == 0 && (major2) == 5 && (minor) <= 3)+#endif /* MIN_VERSION_array */++/* package ascii-progress-0.3.3.0 */+#ifndef VERSION_ascii_progress+#define VERSION_ascii_progress "0.3.3.0"+#endif /* VERSION_ascii_progress */+#ifndef MIN_VERSION_ascii_progress+#define MIN_VERSION_ascii_progress(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 3 || \+ (major1) == 0 && (major2) == 3 && (minor) <= 3)+#endif /* MIN_VERSION_ascii_progress */++/* package async-2.2.1 */+#ifndef VERSION_async+#define VERSION_async "2.2.1"+#endif /* VERSION_async */+#ifndef MIN_VERSION_async+#define MIN_VERSION_async(major1,major2,minor) (\+ (major1) < 2 || \+ (major1) == 2 && (major2) < 2 || \+ (major1) == 2 && (major2) == 2 && (minor) <= 1)+#endif /* MIN_VERSION_async */++/* package attoparsec-0.13.2.2 */+#ifndef VERSION_attoparsec+#define VERSION_attoparsec "0.13.2.2"+#endif /* VERSION_attoparsec */+#ifndef MIN_VERSION_attoparsec+#define MIN_VERSION_attoparsec(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 13 || \+ (major1) == 0 && (major2) == 13 && (minor) <= 2)+#endif /* MIN_VERSION_attoparsec */++/* package base-4.12.0.0 */+#ifndef VERSION_base+#define VERSION_base "4.12.0.0"+#endif /* VERSION_base */+#ifndef MIN_VERSION_base+#define MIN_VERSION_base(major1,major2,minor) (\+ (major1) < 4 || \+ (major1) == 4 && (major2) < 12 || \+ (major1) == 4 && (major2) == 12 && (minor) <= 0)+#endif /* MIN_VERSION_base */++/* package binary-0.8.6.0 */+#ifndef VERSION_binary+#define VERSION_binary "0.8.6.0"+#endif /* VERSION_binary */+#ifndef MIN_VERSION_binary+#define MIN_VERSION_binary(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 8 || \+ (major1) == 0 && (major2) == 8 && (minor) <= 6)+#endif /* MIN_VERSION_binary */++/* package boxes-0.1.5 */+#ifndef VERSION_boxes+#define VERSION_boxes "0.1.5"+#endif /* VERSION_boxes */+#ifndef MIN_VERSION_boxes+#define MIN_VERSION_boxes(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 1 || \+ (major1) == 0 && (major2) == 1 && (minor) <= 5)+#endif /* MIN_VERSION_boxes */++/* package cereal-0.5.8.0 */+#ifndef VERSION_cereal+#define VERSION_cereal "0.5.8.0"+#endif /* VERSION_cereal */+#ifndef MIN_VERSION_cereal+#define MIN_VERSION_cereal(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 5 || \+ (major1) == 0 && (major2) == 5 && (minor) <= 8)+#endif /* MIN_VERSION_cereal */++/* package cmdargs-0.10.20 */+#ifndef VERSION_cmdargs+#define VERSION_cmdargs "0.10.20"+#endif /* VERSION_cmdargs */+#ifndef MIN_VERSION_cmdargs+#define MIN_VERSION_cmdargs(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 10 || \+ (major1) == 0 && (major2) == 10 && (minor) <= 20)+#endif /* MIN_VERSION_cmdargs */++/* package containers-0.6.0.1 */+#ifndef VERSION_containers+#define VERSION_containers "0.6.0.1"+#endif /* VERSION_containers */+#ifndef MIN_VERSION_containers+#define MIN_VERSION_containers(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 6 || \+ (major1) == 0 && (major2) == 6 && (minor) <= 0)+#endif /* MIN_VERSION_containers */++/* package deepseq-1.4.4.0 */+#ifndef VERSION_deepseq+#define VERSION_deepseq "1.4.4.0"+#endif /* VERSION_deepseq */+#ifndef MIN_VERSION_deepseq+#define MIN_VERSION_deepseq(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 4 || \+ (major1) == 1 && (major2) == 4 && (minor) <= 4)+#endif /* MIN_VERSION_deepseq */++/* package directory-1.3.3.0 */+#ifndef VERSION_directory+#define VERSION_directory "1.3.3.0"+#endif /* VERSION_directory */+#ifndef MIN_VERSION_directory+#define MIN_VERSION_directory(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 3 || \+ (major1) == 1 && (major2) == 3 && (minor) <= 3)+#endif /* MIN_VERSION_directory */++/* package fgl-5.7.0.1 */+#ifndef VERSION_fgl+#define VERSION_fgl "5.7.0.1"+#endif /* VERSION_fgl */+#ifndef MIN_VERSION_fgl+#define MIN_VERSION_fgl(major1,major2,minor) (\+ (major1) < 5 || \+ (major1) == 5 && (major2) < 7 || \+ (major1) == 5 && (major2) == 7 && (minor) <= 0)+#endif /* MIN_VERSION_fgl */++/* package filepath-1.4.2.1 */+#ifndef VERSION_filepath+#define VERSION_filepath "1.4.2.1"+#endif /* VERSION_filepath */+#ifndef MIN_VERSION_filepath+#define MIN_VERSION_filepath(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 4 || \+ (major1) == 1 && (major2) == 4 && (minor) <= 2)+#endif /* MIN_VERSION_filepath */++/* package ghc-prim-0.5.3 */+#ifndef VERSION_ghc_prim+#define VERSION_ghc_prim "0.5.3"+#endif /* VERSION_ghc_prim */+#ifndef MIN_VERSION_ghc_prim+#define MIN_VERSION_ghc_prim(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 5 || \+ (major1) == 0 && (major2) == 5 && (minor) <= 3)+#endif /* MIN_VERSION_ghc_prim */++/* package hashable-1.2.7.0 */+#ifndef VERSION_hashable+#define VERSION_hashable "1.2.7.0"+#endif /* VERSION_hashable */+#ifndef MIN_VERSION_hashable+#define MIN_VERSION_hashable(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 2 || \+ (major1) == 1 && (major2) == 2 && (minor) <= 7)+#endif /* MIN_VERSION_hashable */++/* package intern-0.9.2 */+#ifndef VERSION_intern+#define VERSION_intern "0.9.2"+#endif /* VERSION_intern */+#ifndef MIN_VERSION_intern+#define MIN_VERSION_intern(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 9 || \+ (major1) == 0 && (major2) == 9 && (minor) <= 2)+#endif /* MIN_VERSION_intern */++/* package mtl-2.2.2 */+#ifndef VERSION_mtl+#define VERSION_mtl "2.2.2"+#endif /* VERSION_mtl */+#ifndef MIN_VERSION_mtl+#define MIN_VERSION_mtl(major1,major2,minor) (\+ (major1) < 2 || \+ (major1) == 2 && (major2) < 2 || \+ (major1) == 2 && (major2) == 2 && (minor) <= 2)+#endif /* MIN_VERSION_mtl */++/* package parallel-3.2.2.0 */+#ifndef VERSION_parallel+#define VERSION_parallel "3.2.2.0"+#endif /* VERSION_parallel */+#ifndef MIN_VERSION_parallel+#define MIN_VERSION_parallel(major1,major2,minor) (\+ (major1) < 3 || \+ (major1) == 3 && (major2) < 2 || \+ (major1) == 3 && (major2) == 2 && (minor) <= 2)+#endif /* MIN_VERSION_parallel */++/* package parsec-3.1.13.0 */+#ifndef VERSION_parsec+#define VERSION_parsec "3.1.13.0"+#endif /* VERSION_parsec */+#ifndef MIN_VERSION_parsec+#define MIN_VERSION_parsec(major1,major2,minor) (\+ (major1) < 3 || \+ (major1) == 3 && (major2) < 1 || \+ (major1) == 3 && (major2) == 1 && (minor) <= 13)+#endif /* MIN_VERSION_parsec */++/* package pretty-1.1.3.6 */+#ifndef VERSION_pretty+#define VERSION_pretty "1.1.3.6"+#endif /* VERSION_pretty */+#ifndef MIN_VERSION_pretty+#define MIN_VERSION_pretty(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 1 || \+ (major1) == 1 && (major2) == 1 && (minor) <= 3)+#endif /* MIN_VERSION_pretty */++/* package process-1.6.5.0 */+#ifndef VERSION_process+#define VERSION_process "1.6.5.0"+#endif /* VERSION_process */+#ifndef MIN_VERSION_process+#define MIN_VERSION_process(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 6 || \+ (major1) == 1 && (major2) == 6 && (minor) <= 5)+#endif /* MIN_VERSION_process */++/* package syb-0.7 */+#ifndef VERSION_syb+#define VERSION_syb "0.7"+#endif /* VERSION_syb */+#ifndef MIN_VERSION_syb+#define MIN_VERSION_syb(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 7 || \+ (major1) == 0 && (major2) == 7 && (minor) <= 0)+#endif /* MIN_VERSION_syb */++/* package text-1.2.3.1 */+#ifndef VERSION_text+#define VERSION_text "1.2.3.1"+#endif /* VERSION_text */+#ifndef MIN_VERSION_text+#define MIN_VERSION_text(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 2 || \+ (major1) == 1 && (major2) == 2 && (minor) <= 3)+#endif /* MIN_VERSION_text */++/* package text-format-0.3.2 */+#ifndef VERSION_text_format+#define VERSION_text_format "0.3.2"+#endif /* VERSION_text_format */+#ifndef MIN_VERSION_text_format+#define MIN_VERSION_text_format(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 3 || \+ (major1) == 0 && (major2) == 3 && (minor) <= 2)+#endif /* MIN_VERSION_text_format */++/* package transformers-0.5.6.2 */+#ifndef VERSION_transformers+#define VERSION_transformers "0.5.6.2"+#endif /* VERSION_transformers */+#ifndef MIN_VERSION_transformers+#define MIN_VERSION_transformers(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 5 || \+ (major1) == 0 && (major2) == 5 && (minor) <= 6)+#endif /* MIN_VERSION_transformers */++/* package unordered-containers-0.2.9.0 */+#ifndef VERSION_unordered_containers+#define VERSION_unordered_containers "0.2.9.0"+#endif /* VERSION_unordered_containers */+#ifndef MIN_VERSION_unordered_containers+#define MIN_VERSION_unordered_containers(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 2 || \+ (major1) == 0 && (major2) == 2 && (minor) <= 9)+#endif /* MIN_VERSION_unordered_containers */++/* tool alex-3.2.3 */+#ifndef TOOL_VERSION_alex+#define TOOL_VERSION_alex "3.2.3"+#endif /* TOOL_VERSION_alex */+#ifndef MIN_TOOL_VERSION_alex+#define MIN_TOOL_VERSION_alex(major1,major2,minor) (\+ (major1) < 3 || \+ (major1) == 3 && (major2) < 2 || \+ (major1) == 3 && (major2) == 2 && (minor) <= 3)+#endif /* MIN_TOOL_VERSION_alex */++/* tool cpphs-1.20.1 */+#ifndef TOOL_VERSION_cpphs+#define TOOL_VERSION_cpphs "1.20.1"+#endif /* TOOL_VERSION_cpphs */+#ifndef MIN_TOOL_VERSION_cpphs+#define MIN_TOOL_VERSION_cpphs(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 20 || \+ (major1) == 1 && (major2) == 20 && (minor) <= 1)+#endif /* MIN_TOOL_VERSION_cpphs */++/* tool gcc-4.2.1 */+#ifndef TOOL_VERSION_gcc+#define TOOL_VERSION_gcc "4.2.1"+#endif /* TOOL_VERSION_gcc */+#ifndef MIN_TOOL_VERSION_gcc+#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\+ (major1) < 4 || \+ (major1) == 4 && (major2) < 2 || \+ (major1) == 4 && (major2) == 2 && (minor) <= 1)+#endif /* MIN_TOOL_VERSION_gcc */++/* tool ghc-8.6.5 */+#ifndef TOOL_VERSION_ghc+#define TOOL_VERSION_ghc "8.6.5"+#endif /* TOOL_VERSION_ghc */+#ifndef MIN_TOOL_VERSION_ghc+#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\+ (major1) < 8 || \+ (major1) == 8 && (major2) < 6 || \+ (major1) == 8 && (major2) == 6 && (minor) <= 5)+#endif /* MIN_TOOL_VERSION_ghc */++/* tool ghc-pkg-8.6.5 */+#ifndef TOOL_VERSION_ghc_pkg+#define TOOL_VERSION_ghc_pkg "8.6.5"+#endif /* TOOL_VERSION_ghc_pkg */+#ifndef MIN_TOOL_VERSION_ghc_pkg+#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\+ (major1) < 8 || \+ (major1) == 8 && (major2) < 6 || \+ (major1) == 8 && (major2) == 6 && (minor) <= 5)+#endif /* MIN_TOOL_VERSION_ghc_pkg */++/* tool haddock-2.22.0 */+#ifndef TOOL_VERSION_haddock+#define TOOL_VERSION_haddock "2.22.0"+#endif /* TOOL_VERSION_haddock */+#ifndef MIN_TOOL_VERSION_haddock+#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\+ (major1) < 2 || \+ (major1) == 2 && (major2) < 22 || \+ (major1) == 2 && (major2) == 22 && (minor) <= 0)+#endif /* MIN_TOOL_VERSION_haddock */++/* tool happy-1.19.9 */+#ifndef TOOL_VERSION_happy+#define TOOL_VERSION_happy "1.19.9"+#endif /* TOOL_VERSION_happy */+#ifndef MIN_TOOL_VERSION_happy+#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 19 || \+ (major1) == 1 && (major2) == 19 && (minor) <= 9)+#endif /* MIN_TOOL_VERSION_happy */++/* tool hpc-0.67 */+#ifndef TOOL_VERSION_hpc+#define TOOL_VERSION_hpc "0.67"+#endif /* TOOL_VERSION_hpc */+#ifndef MIN_TOOL_VERSION_hpc+#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 67 || \+ (major1) == 0 && (major2) == 67 && (minor) <= 0)+#endif /* MIN_TOOL_VERSION_hpc */++/* tool hsc2hs-0.68.5 */+#ifndef TOOL_VERSION_hsc2hs+#define TOOL_VERSION_hsc2hs "0.68.5"+#endif /* TOOL_VERSION_hsc2hs */+#ifndef MIN_TOOL_VERSION_hsc2hs+#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 68 || \+ (major1) == 0 && (major2) == 68 && (minor) <= 5)+#endif /* MIN_TOOL_VERSION_hsc2hs */++/* tool hscolour-1.24 */+#ifndef TOOL_VERSION_hscolour+#define TOOL_VERSION_hscolour "1.24"+#endif /* TOOL_VERSION_hscolour */+#ifndef MIN_TOOL_VERSION_hscolour+#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 24 || \+ (major1) == 1 && (major2) == 24 && (minor) <= 0)+#endif /* MIN_TOOL_VERSION_hscolour */++/* tool pkg-config-0.29.2 */+#ifndef TOOL_VERSION_pkg_config+#define TOOL_VERSION_pkg_config "0.29.2"+#endif /* TOOL_VERSION_pkg_config */+#ifndef MIN_TOOL_VERSION_pkg_config+#define MIN_TOOL_VERSION_pkg_config(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 29 || \+ (major1) == 0 && (major2) == 29 && (minor) <= 2)+#endif /* MIN_TOOL_VERSION_pkg_config */++/* tool runghc-8.6.5 */+#ifndef TOOL_VERSION_runghc+#define TOOL_VERSION_runghc "8.6.5"+#endif /* TOOL_VERSION_runghc */+#ifndef MIN_TOOL_VERSION_runghc+#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\+ (major1) < 8 || \+ (major1) == 8 && (major2) < 6 || \+ (major1) == 8 && (major2) == 6 && (minor) <= 5)+#endif /* MIN_TOOL_VERSION_runghc */++#ifndef CURRENT_PACKAGE_KEY+#define CURRENT_PACKAGE_KEY "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+#endif /* CURRENT_PACKAGE_KEY */+#ifndef CURRENT_COMPONENT_ID+#define CURRENT_COMPONENT_ID "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+#endif /* CURRENT_COMPONENT_ID */+#ifndef CURRENT_PACKAGE_VERSION+#define CURRENT_PACKAGE_VERSION "0.8.0.2"+#endif /* CURRENT_PACKAGE_VERSION */
@@ -0,0 +1,50 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE NoRebindableSyntax #-}+{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}+module Paths_liquid_fixpoint (+ version,+ getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,+ getDataFileName, getSysconfDir+ ) where++import qualified Control.Exception as Exception+import Data.Version (Version(..))+import System.Environment (getEnv)+import Prelude++#if defined(VERSION_base)++#if MIN_VERSION_base(4,0,0)+catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a+#else+catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a+#endif++#else+catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a+#endif+catchIO = Exception.catch++version :: Version+version = Version [0,8,0,2] []+bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath++bindir = "/Users/niki/liquidtypes/liquidhaskell/.stack-work/install/x86_64-osx/lts-13.20/8.6.5/bin"+libdir = "/Users/niki/liquidtypes/liquidhaskell/.stack-work/install/x86_64-osx/lts-13.20/8.6.5/lib/x86_64-osx-ghc-8.6.5/liquid-fixpoint-0.8.0.2-Bb58iWJrgsb1lgnwGfcFPT-fixpoint"+dynlibdir = "/Users/niki/liquidtypes/liquidhaskell/.stack-work/install/x86_64-osx/lts-13.20/8.6.5/lib/x86_64-osx-ghc-8.6.5"+datadir = "/Users/niki/liquidtypes/liquidhaskell/.stack-work/install/x86_64-osx/lts-13.20/8.6.5/share/x86_64-osx-ghc-8.6.5/liquid-fixpoint-0.8.0.2"+libexecdir = "/Users/niki/liquidtypes/liquidhaskell/.stack-work/install/x86_64-osx/lts-13.20/8.6.5/libexec/x86_64-osx-ghc-8.6.5/liquid-fixpoint-0.8.0.2"+sysconfdir = "/Users/niki/liquidtypes/liquidhaskell/.stack-work/install/x86_64-osx/lts-13.20/8.6.5/etc"++getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath+getBinDir = catchIO (getEnv "liquid_fixpoint_bindir") (\_ -> return bindir)+getLibDir = catchIO (getEnv "liquid_fixpoint_libdir") (\_ -> return libdir)+getDynLibDir = catchIO (getEnv "liquid_fixpoint_dynlibdir") (\_ -> return dynlibdir)+getDataDir = catchIO (getEnv "liquid_fixpoint_datadir") (\_ -> return datadir)+getLibexecDir = catchIO (getEnv "liquid_fixpoint_libexecdir") (\_ -> return libexecdir)+getSysconfDir = catchIO (getEnv "liquid_fixpoint_sysconfdir") (\_ -> return sysconfdir)++getDataFileName :: FilePath -> IO FilePath+getDataFileName name = do+ dir <- getDataDir+ return (dir ++ "/" ++ name)
@@ -0,0 +1,173 @@+/* DO NOT EDIT: This file is automatically generated by Cabal */++/* package liquid-fixpoint-0.8.0.2 */+#ifndef VERSION_liquid_fixpoint+#define VERSION_liquid_fixpoint "0.8.0.2"+#endif /* VERSION_liquid_fixpoint */+#ifndef MIN_VERSION_liquid_fixpoint+#define MIN_VERSION_liquid_fixpoint(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 8 || \+ (major1) == 0 && (major2) == 8 && (minor) <= 0)+#endif /* MIN_VERSION_liquid_fixpoint */++/* package base-4.12.0.0 */+#ifndef VERSION_base+#define VERSION_base "4.12.0.0"+#endif /* VERSION_base */+#ifndef MIN_VERSION_base+#define MIN_VERSION_base(major1,major2,minor) (\+ (major1) < 4 || \+ (major1) == 4 && (major2) < 12 || \+ (major1) == 4 && (major2) == 12 && (minor) <= 0)+#endif /* MIN_VERSION_base */++/* package liquid-fixpoint-0.8.0.2 */+#ifndef VERSION_liquid_fixpoint+#define VERSION_liquid_fixpoint "0.8.0.2"+#endif /* VERSION_liquid_fixpoint */+#ifndef MIN_VERSION_liquid_fixpoint+#define MIN_VERSION_liquid_fixpoint(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 8 || \+ (major1) == 0 && (major2) == 8 && (minor) <= 0)+#endif /* MIN_VERSION_liquid_fixpoint */++/* tool alex-3.2.3 */+#ifndef TOOL_VERSION_alex+#define TOOL_VERSION_alex "3.2.3"+#endif /* TOOL_VERSION_alex */+#ifndef MIN_TOOL_VERSION_alex+#define MIN_TOOL_VERSION_alex(major1,major2,minor) (\+ (major1) < 3 || \+ (major1) == 3 && (major2) < 2 || \+ (major1) == 3 && (major2) == 2 && (minor) <= 3)+#endif /* MIN_TOOL_VERSION_alex */++/* tool cpphs-1.20.1 */+#ifndef TOOL_VERSION_cpphs+#define TOOL_VERSION_cpphs "1.20.1"+#endif /* TOOL_VERSION_cpphs */+#ifndef MIN_TOOL_VERSION_cpphs+#define MIN_TOOL_VERSION_cpphs(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 20 || \+ (major1) == 1 && (major2) == 20 && (minor) <= 1)+#endif /* MIN_TOOL_VERSION_cpphs */++/* tool gcc-4.2.1 */+#ifndef TOOL_VERSION_gcc+#define TOOL_VERSION_gcc "4.2.1"+#endif /* TOOL_VERSION_gcc */+#ifndef MIN_TOOL_VERSION_gcc+#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\+ (major1) < 4 || \+ (major1) == 4 && (major2) < 2 || \+ (major1) == 4 && (major2) == 2 && (minor) <= 1)+#endif /* MIN_TOOL_VERSION_gcc */++/* tool ghc-8.6.5 */+#ifndef TOOL_VERSION_ghc+#define TOOL_VERSION_ghc "8.6.5"+#endif /* TOOL_VERSION_ghc */+#ifndef MIN_TOOL_VERSION_ghc+#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\+ (major1) < 8 || \+ (major1) == 8 && (major2) < 6 || \+ (major1) == 8 && (major2) == 6 && (minor) <= 5)+#endif /* MIN_TOOL_VERSION_ghc */++/* tool ghc-pkg-8.6.5 */+#ifndef TOOL_VERSION_ghc_pkg+#define TOOL_VERSION_ghc_pkg "8.6.5"+#endif /* TOOL_VERSION_ghc_pkg */+#ifndef MIN_TOOL_VERSION_ghc_pkg+#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\+ (major1) < 8 || \+ (major1) == 8 && (major2) < 6 || \+ (major1) == 8 && (major2) == 6 && (minor) <= 5)+#endif /* MIN_TOOL_VERSION_ghc_pkg */++/* tool haddock-2.22.0 */+#ifndef TOOL_VERSION_haddock+#define TOOL_VERSION_haddock "2.22.0"+#endif /* TOOL_VERSION_haddock */+#ifndef MIN_TOOL_VERSION_haddock+#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\+ (major1) < 2 || \+ (major1) == 2 && (major2) < 22 || \+ (major1) == 2 && (major2) == 22 && (minor) <= 0)+#endif /* MIN_TOOL_VERSION_haddock */++/* tool happy-1.19.9 */+#ifndef TOOL_VERSION_happy+#define TOOL_VERSION_happy "1.19.9"+#endif /* TOOL_VERSION_happy */+#ifndef MIN_TOOL_VERSION_happy+#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 19 || \+ (major1) == 1 && (major2) == 19 && (minor) <= 9)+#endif /* MIN_TOOL_VERSION_happy */++/* tool hpc-0.67 */+#ifndef TOOL_VERSION_hpc+#define TOOL_VERSION_hpc "0.67"+#endif /* TOOL_VERSION_hpc */+#ifndef MIN_TOOL_VERSION_hpc+#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 67 || \+ (major1) == 0 && (major2) == 67 && (minor) <= 0)+#endif /* MIN_TOOL_VERSION_hpc */++/* tool hsc2hs-0.68.5 */+#ifndef TOOL_VERSION_hsc2hs+#define TOOL_VERSION_hsc2hs "0.68.5"+#endif /* TOOL_VERSION_hsc2hs */+#ifndef MIN_TOOL_VERSION_hsc2hs+#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 68 || \+ (major1) == 0 && (major2) == 68 && (minor) <= 5)+#endif /* MIN_TOOL_VERSION_hsc2hs */++/* tool hscolour-1.24 */+#ifndef TOOL_VERSION_hscolour+#define TOOL_VERSION_hscolour "1.24"+#endif /* TOOL_VERSION_hscolour */+#ifndef MIN_TOOL_VERSION_hscolour+#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 24 || \+ (major1) == 1 && (major2) == 24 && (minor) <= 0)+#endif /* MIN_TOOL_VERSION_hscolour */++/* tool pkg-config-0.29.2 */+#ifndef TOOL_VERSION_pkg_config+#define TOOL_VERSION_pkg_config "0.29.2"+#endif /* TOOL_VERSION_pkg_config */+#ifndef MIN_TOOL_VERSION_pkg_config+#define MIN_TOOL_VERSION_pkg_config(major1,major2,minor) (\+ (major1) < 0 || \+ (major1) == 0 && (major2) < 29 || \+ (major1) == 0 && (major2) == 29 && (minor) <= 2)+#endif /* MIN_TOOL_VERSION_pkg_config */++/* tool runghc-8.6.5 */+#ifndef TOOL_VERSION_runghc+#define TOOL_VERSION_runghc "8.6.5"+#endif /* TOOL_VERSION_runghc */+#ifndef MIN_TOOL_VERSION_runghc+#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\+ (major1) < 8 || \+ (major1) == 8 && (major2) < 6 || \+ (major1) == 8 && (major2) == 6 && (minor) <= 5)+#endif /* MIN_TOOL_VERSION_runghc */++#ifndef CURRENT_COMPONENT_ID+#define CURRENT_COMPONENT_ID "liquid-fixpoint-0.8.0.2-Bb58iWJrgsb1lgnwGfcFPT-fixpoint"+#endif /* CURRENT_COMPONENT_ID */+#ifndef CURRENT_PACKAGE_VERSION+#define CURRENT_PACKAGE_VERSION "0.8.0.2"+#endif /* CURRENT_PACKAGE_VERSION */
file too large to diff
binary file changed (absent → 6754 bytes)
binary file changed (absent → 10268 bytes)
@@ -0,0 +1,139 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:57.38484 UTC++interface main:Main 8065+ interface hash: d2ae6b8647b0bfeb39ef67e199ce8a45+ ABI hash: 03b8f6af2f3b9bb38da6606ab30658d2+ export-list hash: 69a61aaf2eaaaf729d0664e40a25a256+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 1792f8766840fa4ddb73de210d6fe3ae+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Main.main+module dependencies:+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0+ ascii-progress-0.3.3.0 async-2.2.1 attoparsec-0.13.2.2+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5+ concurrent-output-1.10.9 containers-0.6.0.1 data-default-0.7.1.1+ data-default-class-0.1.2.0 data-default-instances-containers-0.0.1+ data-default-instances-dlist-0.0.1+ data-default-instances-old-locale-0.0.1 deepseq-1.4.4.0+ directory-1.3.3.0 dlist-0.8.0.6 double-conversion-2.0.2.0+ exceptions-0.10.2 fgl-5.7.0.1 filepath-1.4.2.1 ghc-boot-th-8.6.5+ ghc-prim-0.5.3 hashable-1.2.7.0 integer-gmp-1.0.2.0+ integer-logarithms-1.0.3 intern-0.9.2 liquid-fixpoint-0.8.0.2+ mtl-2.2.2 old-locale-1.0.0.7 parallel-3.2.2.0 parsec-3.1.13.0+ pretty-1.1.3.6 primitive-0.6.4.0 process-1.6.5.0 scientific-0.3.6.2+ split-0.2.3.3 stm-2.5.0.0 syb-0.7 template-haskell-2.14.0.0+ terminal-size-0.3.2.1 text-1.2.3.1 text-format-0.3.2 time-1.8.0.2+ transformers-0.5.6.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2:Language.Fixpoint.Solver.Instantiate+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Smt.Serialize+ attoparsec-0.13.2.2:Data.Attoparsec.Text.Internal+ data-default-instances-containers-0.0.1:Data.Default.Instances.Containers+ data-default-instances-dlist-0.0.1:Data.Default.Instances.DList+ data-default-instances-old-locale-0.0.1:Data.Default.Instances.OldLocale+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Horn.Transformations+ transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ colour-2.3.5:Data.Colour time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: attoparsec-0.13.2.2:Data.Attoparsec.Internal.Types+ base-4.12.0.0:Control.Applicative base-4.12.0.0:Data.Complex+ base-4.12.0.0:Data.Functor.Compose base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ dlist-0.8.0.6:Data.DList+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ ghc-boot-th-8.6.5:GHC.ForeignSrcLang.Type+ ghc-boot-th-8.6.5:GHC.LanguageExtensions.Type+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Horn.Solve+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Horn.Types+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Parse+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Smt.Bitvector+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Solver.Monad+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Solver.UniqifyBinds+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Triggers+ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Utils.Statistics+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ+ primitive-0.6.4.0:Control.Monad.Primitive+ primitive-0.6.4.0:Data.Primitive.Array+ template-haskell-2.14.0.0:Language.Haskell.TH.Syntax+ terminal-size-0.3.2.1:System.Console.Terminal.Common+ text-1.2.3.1:Data.Text text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Exception 041da5b6267cf6b639ff5716d5b299a9+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.IO 898d4ddbf00eb4732e5f462760aa42ae+import -/ base-4.12.0.0:GHC.IO.Exception 77722984940ee6ccf9e2f7dab10b83a4+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.Exit 3c945ec7c596067c067092c41083c3d0+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Horn.Solve 0da38fbdbea11f6217ab6a5bf314fad9+import -/ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+import -/ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Solver 039893cf368a87c0167e7e5ab0a6c92e+import -/ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+import -/ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+import -/ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+import -/ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+import -/ liquid-fixpoint-0.8.0.2:Language.Fixpoint.Utils.Files b2b779ebebf03f66af4a684b17d25d25+1ca40dc83a9c879effdb760462cc9a2d+ $trModule :: GHC.Types.Module+8a003a8627e6dbfb4e082e8733b2589f+ main :: GHC.Types.IO ()+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
file too large to diff
file too large to diff
@@ -0,0 +1,372 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:53.161252 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Defunctionalize 8065+ interface hash: fc5da96bda011ec5730852a626256c77+ ABI hash: 1d90f9122b6c5e6ad683a06eb6b5b76c+ export-list hash: 44b2eca79f60178c88556395b24303d5+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 9eb6b83e07344364fb5b0fa4f4bfc709+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Defunctionalize.defuncAny+ Language.Fixpoint.Defunctionalize.defunctionalize+ Language.Fixpoint.Defunctionalize.Defunc{Language.Fixpoint.Defunctionalize.defunc}+module dependencies: Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.Solver.Sanitize Language.Fixpoint.SortCheck+ 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ fgl-5.7.0.1 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ fM fc0ed533fb3547ed8f3e5e90f6f89b62+ mapSnd 56a8c287203c2790b4db9115db2b9192+ secondM 769157a40c452ca0ad3ada0e937271df+import -/ Language.Fixpoint.Solver.Sanitize da8eac0e8562bb4a8fb712f9620a920d+ exports: 09f539552af63f8cdd1953f939eb3211+ symbolEnv e9ab0691e8ecbe0102273ed657a09d59+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+ allowHO 3988ec36858b82afed711ea7ff67ff00+ defunction 3988ec36858b82afed711ea7ff67ff00+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ GInfo 90ef96c47f269969affd7c3639af34f3+ GWfC bec043696f6233a82767c87474654ee6+ SInfo 90ef96c47f269969affd7c3639af34f3+ SimpC 03dcffeea2a5199db7c9ff0154825bc0+ TaggedC ec47f4df806fb3eb50e32a07ab4ee371+ WfC 1ac206eb21b0e2e607ad20985c4be7cd+ WfC ad7a627c031dc594c719d4e423bdd067+ _crhs 03dcffeea2a5199db7c9ff0154825bc0+ asserts 90ef96c47f269969affd7c3639af34f3+ bs 90ef96c47f269969affd7c3639af34f3+ cm 90ef96c47f269969affd7c3639af34f3+ dLits 90ef96c47f269969affd7c3639af34f3+ gLits 90ef96c47f269969affd7c3639af34f3+ senv b5a22d3808334133ad38d92f07d130ac+ wenv ad7a627c031dc594c719d4e423bdd067+ wexpr ad7a627c031dc594c719d4e423bdd067+ wrft ad7a627c031dc594c719d4e423bdd067+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ IBindEnv b71d4c279d7a7920d70dd44bac0305aa+ SEnv 7b76b1b3898bd64fc8c2187c261c0f80+ emptyIBindEnv 6cfa8d73992960a6ab6331f8d3b757ff+ insertSEnv 4288c53866870f2766a71eff8924b8fb+ mapMSEnv 152e72246f3c15ad5db786e1c57bd498+ mapWithKeyMBindEnv 219f508e16df9faacad8d3bc324a44d1+ memberIBindEnv 042d686ac1046dc546144657885262c4+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+ intSymbol a4ae136aedf5d0fada743997e9c6751f+ lamArgSymbol 934937917f1dc2b7ff950de0d0661403+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ EApp 54242238b0fd99173645e603ea6a95e1+ ECst 77d8fb760e457bfd124c455ed691c864+ ELam e0029a0f9c90cfaf5ca8a8fc8de8a995+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Expr 58dd7eff6040aa97f060415235c6cb01+ PAll 95061dd88b416f835271772df1b74807+ RR bc18741bade52dfcbbbc2473e1b91821+ Reft 11628612f280bce553f9c182ec061ec6+ Reft 58dd7eff6040aa97f060415235c6cb01+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ subst1 32fda17df52baa2dc57c3f6fcba8c1ae+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ Sort 30d6fd7d99459ff88296e3b55c87b46c+import -/ Language.Fixpoint.Types.Theories 2d31db6b0cdc7b0f2231db238b021516+ SymEnv 0506688674ca55c28cc4df4c4dbdb2df+import -/ Language.Fixpoint.Types.Triggers 8abd2355db756b37b9b5fb3b0ce44e32+ TR a3d1f7b1a17835a315118c4cf4f7907f+ Triggered d4e347d662ffae46e19beccd9e71f8e0+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ mapMExpr 6293e52d58f2fec83e2af187562c44a6+import -/ mtl-2.2.2:Control.Monad.State 753def63fe8e937dc636f11e5230745a+import -/ mtl-2.2.2:Control.Monad.State.Class 243c828469104fb94563be0ea268f418+import -/ transformers-0.5.6.2:Control.Monad.Trans.State.Lazy 0c22827dedcb94d04bf072c00f8e95c2+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+1c192c4ae277006835a462a694d8eb14+ $fDefunc(,) ::+ Language.Fixpoint.Defunctionalize.Defunc+ (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)+ DFunId+1c192c4ae277006835a462a694d8eb14+ $fDefunc(,)0 ::+ Language.Fixpoint.Defunctionalize.Defunc+ (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft)+ DFunId+1c192c4ae277006835a462a694d8eb14+ $fDefuncExpr ::+ Language.Fixpoint.Defunctionalize.Defunc+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+1c192c4ae277006835a462a694d8eb14+ $fDefuncGInfo ::+ (Language.Fixpoint.Defunctionalize.Defunc (c a),+ Language.Fixpoint.Types.Constraints.TaggedC c a) =>+ Language.Fixpoint.Defunctionalize.Defunc+ (Language.Fixpoint.Types.Constraints.GInfo c a)+ DFunId+1c192c4ae277006835a462a694d8eb14+ $fDefuncHashMap ::+ (Language.Fixpoint.Defunctionalize.Defunc a, GHC.Classes.Eq k,+ Data.Hashable.Class.Hashable k) =>+ Language.Fixpoint.Defunctionalize.Defunc+ (Data.HashMap.Base.HashMap k a)+ DFunId+1c192c4ae277006835a462a694d8eb14+ $fDefuncReft ::+ Language.Fixpoint.Defunctionalize.Defunc+ Language.Fixpoint.Types.Refinements.Reft+ DFunId+1c192c4ae277006835a462a694d8eb14+ $fDefuncSEnv ::+ Language.Fixpoint.Defunctionalize.Defunc a =>+ Language.Fixpoint.Defunctionalize.Defunc+ (Language.Fixpoint.Types.Environments.SEnv a)+ DFunId+1c192c4ae277006835a462a694d8eb14+ $fDefuncSimpC ::+ Language.Fixpoint.Defunctionalize.Defunc+ (Language.Fixpoint.Types.Constraints.SimpC a)+ DFunId+1c192c4ae277006835a462a694d8eb14+ $fDefuncSizedEnv ::+ Language.Fixpoint.Defunctionalize.Defunc+ Language.Fixpoint.Types.Environments.BindEnv+ DFunId+1c192c4ae277006835a462a694d8eb14+ $fDefuncSort ::+ Language.Fixpoint.Defunctionalize.Defunc+ Language.Fixpoint.Types.Sorts.Sort+ DFunId+1c192c4ae277006835a462a694d8eb14+ $fDefuncSortedReft ::+ Language.Fixpoint.Defunctionalize.Defunc+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+1c192c4ae277006835a462a694d8eb14+ $fDefuncTriggered ::+ Language.Fixpoint.Defunctionalize.Defunc a =>+ Language.Fixpoint.Defunctionalize.Defunc+ (Language.Fixpoint.Types.Triggers.Triggered a)+ DFunId+1c192c4ae277006835a462a694d8eb14+ $fDefuncWfC ::+ Language.Fixpoint.Defunctionalize.Defunc+ (Language.Fixpoint.Types.Constraints.WfC a)+ DFunId+1c192c4ae277006835a462a694d8eb14+ $fDefunc[] ::+ Language.Fixpoint.Defunctionalize.Defunc a =>+ Language.Fixpoint.Defunctionalize.Defunc [a]+ DFunId+ba946c2b042ce91519506f96373a5e20+ $tc'C:Defunc :: GHC.Types.TyCon+e22372a11232765ebf9214be885544fd+ $tc'DFST :: GHC.Types.TyCon+5f2bab08d2f786853da3fa88bd51e582+ $tcDFST :: GHC.Types.TyCon+69ba3a1a527f2ed6ae627047e0ec3b34+ $tcDefunc :: GHC.Types.TyCon+242aba0a6adb27ec9c043230e385a3c5+ $trModule :: GHC.Types.Module+d3dd44c5e2ae27f9a940e4c6a0f62ceb+ type DF =+ Control.Monad.Trans.State.Lazy.State+ Language.Fixpoint.Defunctionalize.DFST+ :: * -> *+c7363972b307b303d32d5b8361c4b693+ data DFST+ = DFST {dfFresh :: !GHC.Types.Int,+ dfEnv :: !Language.Fixpoint.Types.Theories.SymEnv,+ dfBEnv :: !Language.Fixpoint.Types.Environments.IBindEnv,+ dfHO :: !GHC.Types.Bool,+ dfLams :: ![Language.Fixpoint.Types.Refinements.Expr],+ dfRedex :: ![Language.Fixpoint.Types.Refinements.Expr],+ dfBinds :: !(Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort)}+1c192c4ae277006835a462a694d8eb14+ class Defunc a where+ defunc :: a -> Language.Fixpoint.Defunctionalize.DF a+ {-# MINIMAL defunc #-}+66de87ab882b30b605fe1e924257c559+ defuncAny ::+ Language.Fixpoint.Defunctionalize.Defunc a =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Theories.SymEnv -> a -> a+6f11f2226cee00ae34549605683847f2+ defunctionalize ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.SInfo a+ -> Language.Fixpoint.Types.Constraints.SInfo a+c7363972b307b303d32d5b8361c4b693+ dfBEnv ::+ Language.Fixpoint.Defunctionalize.DFST+ -> Language.Fixpoint.Types.Environments.IBindEnv+ RecSel Left Language.Fixpoint.Defunctionalize.DFST+c7363972b307b303d32d5b8361c4b693+ dfBinds ::+ Language.Fixpoint.Defunctionalize.DFST+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Defunctionalize.DFST+c7363972b307b303d32d5b8361c4b693+ dfEnv ::+ Language.Fixpoint.Defunctionalize.DFST+ -> Language.Fixpoint.Types.Theories.SymEnv+ RecSel Left Language.Fixpoint.Defunctionalize.DFST+c7363972b307b303d32d5b8361c4b693+ dfFresh :: Language.Fixpoint.Defunctionalize.DFST -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Defunctionalize.DFST+c7363972b307b303d32d5b8361c4b693+ dfHO :: Language.Fixpoint.Defunctionalize.DFST -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Defunctionalize.DFST+c7363972b307b303d32d5b8361c4b693+ dfLams ::+ Language.Fixpoint.Defunctionalize.DFST+ -> [Language.Fixpoint.Types.Refinements.Expr]+ RecSel Left Language.Fixpoint.Defunctionalize.DFST+c7363972b307b303d32d5b8361c4b693+ dfRedex ::+ Language.Fixpoint.Defunctionalize.DFST+ -> [Language.Fixpoint.Types.Refinements.Expr]+ RecSel Left Language.Fixpoint.Defunctionalize.DFST+instance Language.Fixpoint.Defunctionalize.Defunc [(,)]+ = Language.Fixpoint.Defunctionalize.$fDefunc(,)+instance Language.Fixpoint.Defunctionalize.Defunc [(,)]+ = Language.Fixpoint.Defunctionalize.$fDefunc(,)0+instance Language.Fixpoint.Defunctionalize.Defunc [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Defunctionalize.$fDefuncExpr+instance Language.Fixpoint.Defunctionalize.Defunc [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Defunctionalize.$fDefuncGInfo+instance Language.Fixpoint.Defunctionalize.Defunc [Data.HashMap.Base.HashMap]+ = Language.Fixpoint.Defunctionalize.$fDefuncHashMap+instance Language.Fixpoint.Defunctionalize.Defunc [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Defunctionalize.$fDefuncReft+instance Language.Fixpoint.Defunctionalize.Defunc [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Defunctionalize.$fDefuncSEnv+instance Language.Fixpoint.Defunctionalize.Defunc [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Defunctionalize.$fDefuncSimpC+instance Language.Fixpoint.Defunctionalize.Defunc [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Defunctionalize.$fDefuncSizedEnv+instance Language.Fixpoint.Defunctionalize.Defunc [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Defunctionalize.$fDefuncSort+instance Language.Fixpoint.Defunctionalize.Defunc [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Defunctionalize.$fDefuncSortedReft+instance Language.Fixpoint.Defunctionalize.Defunc [Language.Fixpoint.Types.Triggers.Triggered]+ = Language.Fixpoint.Defunctionalize.$fDefuncTriggered+instance Language.Fixpoint.Defunctionalize.Defunc [Language.Fixpoint.Types.Constraints.WfC]+ = Language.Fixpoint.Defunctionalize.$fDefuncWfC+instance Language.Fixpoint.Defunctionalize.Defunc [[]]+ = Language.Fixpoint.Defunctionalize.$fDefunc[]+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,224 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:50.213298 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph 8065+ interface hash: 25a41b31939700e54c60f3f32f83bf8f+ ABI hash: 59334fea55dc8d64130719f78eeb5109+ export-list hash: 70a8f3bb9be3a7f9430fb829908b4dcf+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 3afb024a66b98a7771e7ad37a80911a1+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Graph.Deps.decompose+ Language.Fixpoint.Graph.Deps.elimDeps+ Language.Fixpoint.Graph.Deps.elimVars+ Language.Fixpoint.Graph.Deps.graphStatistics+ Language.Fixpoint.Graph.Deps.isTarget+ Language.Fixpoint.Graph.Deps.kvEdges+ Language.Fixpoint.Graph.Deps.slice+ Language.Fixpoint.Graph.Partition.dumpPartitions+ Language.Fixpoint.Graph.Partition.mcInfo+ Language.Fixpoint.Graph.Partition.partition+ Language.Fixpoint.Graph.Partition.partition'+ Language.Fixpoint.Graph.Partition.partitionN+ Language.Fixpoint.Graph.Reducible.isReducible+ Language.Fixpoint.Graph.Types.isRealEdge+ Language.Fixpoint.Graph.Types.lookupCMap+ Language.Fixpoint.Graph.Types.writeEdges+ Language.Fixpoint.Graph.Types.writeGraph+ Language.Fixpoint.Graph.Deps.Elims{Language.Fixpoint.Graph.Deps.Deps depCuts depNonCuts}+ Language.Fixpoint.Graph.Partition.CPart{Language.Fixpoint.Graph.Partition.CPart pcm pws}+ Language.Fixpoint.Graph.Partition.MCInfo{Language.Fixpoint.Graph.Partition.MCInfo mcCores mcMaxPartSize mcMinPartSize}+ Language.Fixpoint.Graph.Types.CDeps{Language.Fixpoint.Graph.Types.CDs cNumScc cPrev cRank cSucc}+ Language.Fixpoint.Graph.Types.CEdge+ Language.Fixpoint.Graph.Types.CGraph{Language.Fixpoint.Graph.Types.CGraph gEdges gRanks gSccs gSucc}+ Language.Fixpoint.Graph.Types.CVertex{Language.Fixpoint.Graph.Types.Cstr Language.Fixpoint.Graph.Types.DKVar Language.Fixpoint.Graph.Types.EBind Language.Fixpoint.Graph.Types.KVar}+ Language.Fixpoint.Graph.Types.Comps+ Language.Fixpoint.Graph.Types.DepEdge+ Language.Fixpoint.Graph.Types.KVComps+ Language.Fixpoint.Graph.Types.KVGraph{Language.Fixpoint.Graph.Types.KVGraph kvgEdges}+ Language.Fixpoint.Graph.Types.KVRead+ Language.Fixpoint.Graph.Types.Rank{Language.Fixpoint.Graph.Types.Rank rIcc rScc rTag}+ Language.Fixpoint.Graph.Types.Slice{Language.Fixpoint.Graph.Types.Slice slConcCs slEdges slKVarCs}+ Language.Fixpoint.Graph.Types.SolverInfo{Language.Fixpoint.Graph.Types.SI siDeps siQuery siSol siVars}+ Language.Fixpoint.Types.Constraints.SubcId+ Language.Fixpoint.Types.Solutions.CMap+module dependencies: Language.Fixpoint.Graph.Deps+ Language.Fixpoint.Graph.Indexed Language.Fixpoint.Graph.Partition+ Language.Fixpoint.Graph.Reducible Language.Fixpoint.Graph.Types+ Language.Fixpoint.Misc Language.Fixpoint.Smt.Theories+ Language.Fixpoint.Smt.Types Language.Fixpoint.SortCheck+ 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ fgl-5.7.0.1 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ Language.Fixpoint.Graph.Deps f58fb5bc911772ff16e90c021342fd77+ exports: 7deeeee1d668195264f1154820a52680+ Deps c3cb706eed279b0e33e459517fdc62fc+ Elims c993725cef81addc46fa6e960ae18a56+ decompose 4773457816fb7844595c6cce724cae20+ depCuts c993725cef81addc46fa6e960ae18a56+ depNonCuts c993725cef81addc46fa6e960ae18a56+ elimDeps dc3d3bae02683f6ae264dac8243bec09+ elimVars 4be3da868d909f2205fdad0e4d0d5b05+ graphStatistics 0c1e1a0a1a853779537b29a9aa270680+ isTarget d1daed292929204f16030b2bb40ffd2e+ kvEdges 686b8200ce806f2031e4d7483f206668+ slice ebd8822ee891d60be909112e676bd8ce+import -/ Language.Fixpoint.Graph.Partition 10b792bb9300a0bfeef35f9a6335155b+ exports: f177a010be01f53501cf29b1043f9946+ CPart 599f41feda32e84d86385ce81d2e8faf+ CPart 34f38a4d10574cd66bf22ef00cee91aa+ MCInfo 4b71420ed2c5df045c4d7cdd7f6ad778+ MCInfo 1310569d9441a00e5d026d0ba60274b5+ dumpPartitions b22c89a9aec0774421cedaa5595dfbce+ mcCores 1310569d9441a00e5d026d0ba60274b5+ mcInfo 1b954f79e466123de525c83e62f723ee+ mcMaxPartSize 1310569d9441a00e5d026d0ba60274b5+ mcMinPartSize 1310569d9441a00e5d026d0ba60274b5+ partition 00f9f31dc845d7647e1224fc08a89d10+ partition' 604dec4b5afaf691202e7ed2938aa872+ partitionN 2a353cadac6e10dd4186111d3ddb7653+ pcm 34f38a4d10574cd66bf22ef00cee91aa+ pws 34f38a4d10574cd66bf22ef00cee91aa+import -/ Language.Fixpoint.Graph.Reducible 7036b2a613444e3bf30da08908c4d9d5+ exports: bf921c869217837466c3fa389c66ce1c+ isReducible 547323ed729071407cd453530e983e3c+import -/ Language.Fixpoint.Graph.Types 90354efadf49650a4d644eca42325aa3+ exports: 68162b3a5b2b3dfa40ecf54da514ced3+ CDeps fb08c7abe463f57655419905998c9e3c+ CDs d9f2f987efef35ec0ef051129b12d887+ CEdge 5926a8a79eef96a67d64e7e2de539c49+ CGraph e39736edd224acccd8417b0edf19aa1e+ CGraph 66236c65d66a8151ebba5e6b1bf5230c+ CVertex 4c2dcbf4968a23ede6d681da7c0332b4+ Comps 73dc5a86a8a8cae61cc19bbc3d9fc43d+ Cstr fb3e234b3b6ba6293e60b57759fd6db5+ DKVar 4aa9c49c4eda2fada0ea4da9ae537843+ DepEdge 4e73444bc8aa8dcc78647298be9df38e+ EBind 99874c354c29806b18442958f2188464+ KVComps def5a7dc502d951c9d5669d25bead965+ KVGraph a7ba87c7553ab45ba4fa623963e90126+ KVGraph fe819e3425a3bf9de917a8ddb59b6513+ KVRead 46544e1280bc1665457446550a616b1f+ KVar c4a8980acc6c70ca8becabae4f5f5f0a+ Rank eab4b6d561fa41bd7aab47eb6968cbf6+ Rank cf29aa20410874c45eb55b88a9039fa1+ SI acae40c3d81f5865f3bafc419a2516f3+ Slice 53737e181653c6696ab008e006cd2b7b+ Slice c9f558b1c2b09536b1215379ef863bfc+ SolverInfo 9a73d9e092f73b37b6476ae70547e961+ cNumScc fb08c7abe463f57655419905998c9e3c+ cPrev fb08c7abe463f57655419905998c9e3c+ cRank fb08c7abe463f57655419905998c9e3c+ cSucc fb08c7abe463f57655419905998c9e3c+ gEdges 66236c65d66a8151ebba5e6b1bf5230c+ gRanks 66236c65d66a8151ebba5e6b1bf5230c+ gSccs 66236c65d66a8151ebba5e6b1bf5230c+ gSucc 66236c65d66a8151ebba5e6b1bf5230c+ isRealEdge dfc0340045fc5c818e72018ad55a3050+ kvgEdges fe819e3425a3bf9de917a8ddb59b6513+ lookupCMap 39b9410ac905fdea8ba0cbc0cd18b14b+ rIcc cf29aa20410874c45eb55b88a9039fa1+ rScc cf29aa20410874c45eb55b88a9039fa1+ rTag cf29aa20410874c45eb55b88a9039fa1+ siDeps 9a73d9e092f73b37b6476ae70547e961+ siQuery 9a73d9e092f73b37b6476ae70547e961+ siSol 9a73d9e092f73b37b6476ae70547e961+ siVars 9a73d9e092f73b37b6476ae70547e961+ slConcCs c9f558b1c2b09536b1215379ef863bfc+ slEdges c9f558b1c2b09536b1215379ef863bfc+ slKVarCs c9f558b1c2b09536b1215379ef863bfc+ writeEdges ef51f742359e1b490dcec54af017b86e+ writeGraph d4282ed4e9a464fdcbf0fdae2a09bb51+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ SubcId 311c8f398e2d0f5e23e664bacb45f905+import -/ Language.Fixpoint.Types.Solutions 0b8a944fa50bd0859885907efb6ca971+ CMap f6eaa2c8b036cb0052c0242863f4089d+f9f2f8723a4790077d4f612f316d2991+ $trModule :: GHC.Types.Module+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,389 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:49.374254 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Deps 8065+ interface hash: e14ff37dd96730aab5649d3ec1eb7f95+ ABI hash: f58fb5bc911772ff16e90c021342fd77+ export-list hash: 7deeeee1d668195264f1154820a52680+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: f8513aacf2907f9b889afe9802925dca+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Graph.Deps.decompose+ Language.Fixpoint.Graph.Deps.elimDeps+ Language.Fixpoint.Graph.Deps.elimVars+ Language.Fixpoint.Graph.Deps.graphStatistics+ Language.Fixpoint.Graph.Deps.isTarget+ Language.Fixpoint.Graph.Deps.kvEdges+ Language.Fixpoint.Graph.Deps.slice+ Language.Fixpoint.Graph.Deps.Elims{Language.Fixpoint.Graph.Deps.Deps depCuts depNonCuts}+module dependencies: Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Reducible Language.Fixpoint.Graph.Types+ Language.Fixpoint.Misc Language.Fixpoint.Smt.Theories+ Language.Fixpoint.Smt.Types Language.Fixpoint.SortCheck+ 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ fgl-5.7.0.1 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Function 739684530bf19978a9a47e63c494ac7b+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:Debug.Trace 60f75ad789dcddb29321db1cb21ccd4c+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ containers-0.6.0.1:Data.Graph 681805d2edd6844f7f403edb3665ef4a+import -/ containers-0.6.0.1:Data.Tree 241fc3b8487c8d8df54670f45b16e9e5+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Graph.Indexed 5d28372066e67e039fc277b7e008e880+ exports: 1af7d08065167e1ab9a37bc5e529ea5d+ IKVGraph 060fc3471bf1245ee9c6140f9cbd1765+ addLinks 59e61579a4804ffb233a5667b6ecd00a+ delNodes 5d6f34604c580a4f6189dd97dfa08363+ edgesIkvg 6ce67dc8b816a5db670c8556c1200907+ getPreds 059c1ae752faade4df87b97f1e9d4d9a+ getSuccs 6732d41489db714e56e71f6538e2f8a1+ ikvgEdges 834e178233044dee20d7da3adc9c5f6a+import -/ Language.Fixpoint.Graph.Reducible 7036b2a613444e3bf30da08908c4d9d5+ exports: bf921c869217837466c3fa389c66ce1c+ isReducible 547323ed729071407cd453530e983e3c+import -/ Language.Fixpoint.Graph.Types 90354efadf49650a4d644eca42325aa3+ exports: 68162b3a5b2b3dfa40ecf54da514ced3+ CDeps fb08c7abe463f57655419905998c9e3c+ CDs d9f2f987efef35ec0ef051129b12d887+ CEdge 5926a8a79eef96a67d64e7e2de539c49+ CGraph e39736edd224acccd8417b0edf19aa1e+ CGraph 66236c65d66a8151ebba5e6b1bf5230c+ CVertex 4c2dcbf4968a23ede6d681da7c0332b4+ Cstr fb3e234b3b6ba6293e60b57759fd6db5+ DKVar 4aa9c49c4eda2fada0ea4da9ae537843+ DepEdge 4e73444bc8aa8dcc78647298be9df38e+ EBind 99874c354c29806b18442958f2188464+ KVComps def5a7dc502d951c9d5669d25bead965+ KVGraph a7ba87c7553ab45ba4fa623963e90126+ KVGraph fe819e3425a3bf9de917a8ddb59b6513+ KVRead 46544e1280bc1665457446550a616b1f+ KVar c4a8980acc6c70ca8becabae4f5f5f0a+ Rank eab4b6d561fa41bd7aab47eb6968cbf6+ Rank cf29aa20410874c45eb55b88a9039fa1+ Slice 53737e181653c6696ab008e006cd2b7b+ Slice c9f558b1c2b09536b1215379ef863bfc+ cNumScc fb08c7abe463f57655419905998c9e3c+ cPrev fb08c7abe463f57655419905998c9e3c+ cRank fb08c7abe463f57655419905998c9e3c+ cSucc fb08c7abe463f57655419905998c9e3c+ gEdges 66236c65d66a8151ebba5e6b1bf5230c+ gRanks 66236c65d66a8151ebba5e6b1bf5230c+ gSccs 66236c65d66a8151ebba5e6b1bf5230c+ gSucc 66236c65d66a8151ebba5e6b1bf5230c+ isRealEdge dfc0340045fc5c818e72018ad55a3050+ kvgEdges fe819e3425a3bf9de917a8ddb59b6513+ lookupCMap 39b9410ac905fdea8ba0cbc0cd18b14b+ slConcCs c9f558b1c2b09536b1215379ef863bfc+ slEdges c9f558b1c2b09536b1215379ef863bfc+ slKVarCs c9f558b1c2b09536b1215379ef863bfc+ writeEdges ef51f742359e1b490dcec54af017b86e+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ componentsWith 07b1e107ee5aa6a1c4cb57f6f7b9b347+ errorstar e47c2d482124b43e020a405f809adcff+ fst3 f5278b30747d6e9b343f3260d38ec0b3+ group 89622853601fa33661a1ceef6d1ea621+ groupList 89ce0af3d82aae7a2d9f3f3c1cde0d05+ sortNub 7d73d874da71f31bd97dc544f8572fc4+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+ autoKuts 3988ec36858b82afed711ea7ff67ff00+ elimBound 3988ec36858b82afed711ea7ff67ff00+ elimStats 3988ec36858b82afed711ea7ff67ff00+ nonLinCuts 3988ec36858b82afed711ea7ff67ff00+ noslice 3988ec36858b82afed711ea7ff67ff00+ queryFile 24dfc95af04dba576b5be5b6594619e1+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ GInfo 90ef96c47f269969affd7c3639af34f3+ SubcId 311c8f398e2d0f5e23e664bacb45f905+ TaggedC ec47f4df806fb3eb50e32a07ab4ee371+ bs 90ef96c47f269969affd7c3639af34f3+ clhs 00dbb4f04b49ed91a7500360192dbe82+ cm 90ef96c47f269969affd7c3639af34f3+ crhs 9701eec311803b00e8ff03aadeb150fa+ ebinds 90ef96c47f269969affd7c3639af34f3+ ksMember 202c76f7c51615b606e4a1028b152172+ ksVars 72e8e948b4d2861f1e29f60f1aa59a0c+ kuts 90ef96c47f269969affd7c3639af34f3+ stag 99b38d7c44906da122f4e3e424da4733+ subcId c5ad3aad4a42726885659f4c083c4240+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ BindId c1dc08df6d648ef575cab1d33fc5df7b+ lookupBindEnv d43e50ddb41c32b57594f5f31bf34671+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ DocTable b770cb7429f7fb2e003768f2afd382a6+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ PTable e8b4bbc42515b2faadf940cf2792c24b+ pprint 955dc9d031db587300edf6146ac33be4+ ptable 010a61d3c3108da1c22e8c22f9cd7753+ showpp a9f79fc9a75f72593341c16b4b8ac492+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ isTautoPred b0ebfe363526526426c55e6ea6cc9f4d+ syms cedb5518769db9d49f4ce507184c5e1f+import -/ Language.Fixpoint.Types.Solutions 0b8a944fa50bd0859885907efb6ca971+ CMap f6eaa2c8b036cb0052c0242863f4089d+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ envKVars 784f60e3e785577497db1a4d2900625e+ envKVarsN d41a77b81a8cda60e8ad71df46f5b649+ isConcC 2f660a3d29daa78cb1b3ea5a2a1db8d7+ kvars c0e50d3c638d80582ef2ff4559ccde96+ rhsKVars c3fdeb202ac602acd77641047c2b5ffa+import -/ Language.Fixpoint.Utils.Files b2b779ebebf03f66af4a684b17d25d25+ exports: 061e3dd63eb42c6c413f2db46ae3d0cb+ Dot 7fab3cb31665cd1c81dc72aae611acf7+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+c993725cef81addc46fa6e960ae18a56+ $fMonoidElims ::+ (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a) =>+ GHC.Base.Monoid (Language.Fixpoint.Graph.Deps.Elims a)+ DFunId+c993725cef81addc46fa6e960ae18a56+ $fPPrintElims ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Language.Fixpoint.Graph.Deps.Elims a)+ DFunId+5d6f61236e78db88da779baa833ab63e+ $fPTableStats ::+ Language.Fixpoint.Types.PrettyPrint.PTable+ Language.Fixpoint.Graph.Deps.Stats+ DFunId+c993725cef81addc46fa6e960ae18a56+ $fSemigroupElims ::+ (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a) =>+ GHC.Base.Semigroup (Language.Fixpoint.Graph.Deps.Elims a)+ DFunId+c993725cef81addc46fa6e960ae18a56+ $fShowElims ::+ GHC.Show.Show a =>+ GHC.Show.Show (Language.Fixpoint.Graph.Deps.Elims a)+ DFunId+8bf50120de7fb78269f0acead58c242f+ $tc'Deps :: GHC.Types.TyCon+4738ea686a61df7536fc1d048630bb19+ $tc'Stats :: GHC.Types.TyCon+25fc333e6cd97b4db33f7c5dff27daae+ $tcElims :: GHC.Types.TyCon+6df2e6dfabb0d3c75f9f261ec40b5d76+ $tcStats :: GHC.Types.TyCon+2f4d3fc83c2fe5b70d520e0cde6e57fe+ $trModule :: GHC.Types.Module+c3078f952ccc67fbbcece0a814a09373+ type Cutable a =+ (GHC.Classes.Eq a, GHC.Classes.Ord a,+ Data.Hashable.Class.Hashable a, GHC.Show.Show a)+ :: GHC.Types.Constraint+84d9ced04af251b61bcf985a7cf16164+ type Cutter a = [(a, a, [a])] -> GHC.Maybe.Maybe (a, [(a, a, [a])])+8f38f761bdc3089153f1ecb1c8023cb8+ type EdgeRank =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar GHC.Integer.Type.Integer+c993725cef81addc46fa6e960ae18a56+ type role Elims nominal+ data Elims a+ = Deps {depCuts :: !(Data.HashSet.HashSet a),+ depNonCuts :: !(Data.HashSet.HashSet a)}+5d6f61236e78db88da779baa833ab63e+ data Stats+ = Stats {stNumKVCuts :: !GHC.Types.Int,+ stNumKVNonLin :: !GHC.Types.Int,+ stNumKVTotal :: !GHC.Types.Int,+ stIsReducible :: !GHC.Types.Bool,+ stSetKVNonLin :: !(Data.HashSet.HashSet+ Language.Fixpoint.Types.Refinements.KVar)}+4773457816fb7844595c6cce724cae20+ decompose ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> Language.Fixpoint.Graph.Types.KVComps+c993725cef81addc46fa6e960ae18a56+ depCuts ::+ Language.Fixpoint.Graph.Deps.Elims a -> Data.HashSet.HashSet a+ RecSel Left Language.Fixpoint.Graph.Deps.Elims+c993725cef81addc46fa6e960ae18a56+ depNonCuts ::+ Language.Fixpoint.Graph.Deps.Elims a -> Data.HashSet.HashSet a+ RecSel Left Language.Fixpoint.Graph.Deps.Elims+dc3d3bae02683f6ae264dac8243bec09+ elimDeps ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> [Language.Fixpoint.Graph.Types.CEdge]+ -> Data.HashSet.HashSet Language.Fixpoint.Types.Refinements.KVar+ -> Data.HashSet.HashSet Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Graph.Types.CDeps+4be3da868d909f2205fdad0e4d0d5b05+ elimVars ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.GInfo c a+ -> ([Language.Fixpoint.Graph.Types.CEdge],+ Language.Fixpoint.Graph.Deps.Elims+ Language.Fixpoint.Types.Refinements.KVar)+0c1e1a0a1a853779537b29a9aa270680+ graphStatistics ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.GInfo c a -> GHC.Types.IO ()+d1daed292929204f16030b2bb40ffd2e+ isTarget ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ c a -> GHC.Types.Bool+686b8200ce806f2031e4d7483f206668+ kvEdges ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> [Language.Fixpoint.Graph.Types.CEdge]+ebd8822ee891d60be909112e676bd8ce+ slice ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.GInfo c a+ -> Language.Fixpoint.Types.Constraints.GInfo c a+5d6f61236e78db88da779baa833ab63e+ stIsReducible ::+ Language.Fixpoint.Graph.Deps.Stats -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Graph.Deps.Stats+5d6f61236e78db88da779baa833ab63e+ stNumKVCuts :: Language.Fixpoint.Graph.Deps.Stats -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Graph.Deps.Stats+5d6f61236e78db88da779baa833ab63e+ stNumKVNonLin ::+ Language.Fixpoint.Graph.Deps.Stats -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Graph.Deps.Stats+5d6f61236e78db88da779baa833ab63e+ stNumKVTotal :: Language.Fixpoint.Graph.Deps.Stats -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Graph.Deps.Stats+5d6f61236e78db88da779baa833ab63e+ stSetKVNonLin ::+ Language.Fixpoint.Graph.Deps.Stats+ -> Data.HashSet.HashSet Language.Fixpoint.Types.Refinements.KVar+ RecSel Left Language.Fixpoint.Graph.Deps.Stats+instance GHC.Base.Monoid [Language.Fixpoint.Graph.Deps.Elims]+ = Language.Fixpoint.Graph.Deps.$fMonoidElims+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Graph.Deps.Elims]+ = Language.Fixpoint.Graph.Deps.$fPPrintElims+instance Language.Fixpoint.Types.PrettyPrint.PTable [Language.Fixpoint.Graph.Deps.Stats]+ = Language.Fixpoint.Graph.Deps.$fPTableStats+instance GHC.Base.Semigroup [Language.Fixpoint.Graph.Deps.Elims]+ = Language.Fixpoint.Graph.Deps.$fSemigroupElims+instance GHC.Show.Show [Language.Fixpoint.Graph.Deps.Elims]+ = Language.Fixpoint.Graph.Deps.$fShowElims+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,185 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:49.024996 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Indexed 8065+ interface hash: d4f2d1609343a3a292e993021cf301ea+ ABI hash: 5d28372066e67e039fc277b7e008e880+ export-list hash: 1af7d08065167e1ab9a37bc5e529ea5d+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 497d4927850250f8b40752e0999882e8+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Graph.Indexed.addLinks+ Language.Fixpoint.Graph.Indexed.delNodes+ Language.Fixpoint.Graph.Indexed.edgesIkvg+ Language.Fixpoint.Graph.Indexed.getPreds+ Language.Fixpoint.Graph.Indexed.getSuccs+ Language.Fixpoint.Graph.Indexed.ikvgEdges+ Language.Fixpoint.Graph.Indexed.IKVGraph{Language.Fixpoint.Graph.Indexed.IKVGraph igPred igSucc}+module dependencies: Language.Fixpoint.Graph.Types+ Language.Fixpoint.Misc Language.Fixpoint.Smt.Theories+ Language.Fixpoint.Smt.Types Language.Fixpoint.SortCheck+ 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ Language.Fixpoint.Graph.Types 90354efadf49650a4d644eca42325aa3+ exports: 68162b3a5b2b3dfa40ecf54da514ced3+ CEdge 5926a8a79eef96a67d64e7e2de539c49+ CVertex 4c2dcbf4968a23ede6d681da7c0332b4+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+060fc3471bf1245ee9c6140f9cbd1765+ $fShowIKVGraph ::+ GHC.Show.Show Language.Fixpoint.Graph.Indexed.IKVGraph+ DFunId+2ddb350abcd0b483dc20ccb5d1efe3c9+ $tc'IKVGraph :: GHC.Types.TyCon+9cc932eaaaa999d251abe89a8b3b0544+ $tcIKVGraph :: GHC.Types.TyCon+68d8ded8f41fadd4b2ca78c3763f9966+ $trModule :: GHC.Types.Module+060fc3471bf1245ee9c6140f9cbd1765+ data IKVGraph+ = IKVGraph {igSucc :: !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Graph.Types.CVertex+ (Data.HashSet.HashSet Language.Fixpoint.Graph.Types.CVertex)),+ igPred :: !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Graph.Types.CVertex+ (Data.HashSet.HashSet Language.Fixpoint.Graph.Types.CVertex))}+59e61579a4804ffb233a5667b6ecd00a+ addLinks ::+ Language.Fixpoint.Graph.Indexed.IKVGraph+ -> [Language.Fixpoint.Graph.Types.CEdge]+ -> Language.Fixpoint.Graph.Indexed.IKVGraph+5d6f34604c580a4f6189dd97dfa08363+ delNodes ::+ Language.Fixpoint.Graph.Indexed.IKVGraph+ -> [Language.Fixpoint.Graph.Types.CVertex]+ -> Language.Fixpoint.Graph.Indexed.IKVGraph+6ce67dc8b816a5db670c8556c1200907+ edgesIkvg ::+ [Language.Fixpoint.Graph.Types.CEdge]+ -> Language.Fixpoint.Graph.Indexed.IKVGraph+059c1ae752faade4df87b97f1e9d4d9a+ getPreds ::+ Language.Fixpoint.Graph.Indexed.IKVGraph+ -> Language.Fixpoint.Graph.Types.CVertex+ -> [Language.Fixpoint.Graph.Types.CVertex]+6732d41489db714e56e71f6538e2f8a1+ getSuccs ::+ Language.Fixpoint.Graph.Indexed.IKVGraph+ -> Language.Fixpoint.Graph.Types.CVertex+ -> [Language.Fixpoint.Graph.Types.CVertex]+060fc3471bf1245ee9c6140f9cbd1765+ igPred ::+ Language.Fixpoint.Graph.Indexed.IKVGraph+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Graph.Types.CVertex+ (Data.HashSet.HashSet Language.Fixpoint.Graph.Types.CVertex)+ RecSel Left Language.Fixpoint.Graph.Indexed.IKVGraph+060fc3471bf1245ee9c6140f9cbd1765+ igSucc ::+ Language.Fixpoint.Graph.Indexed.IKVGraph+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Graph.Types.CVertex+ (Data.HashSet.HashSet Language.Fixpoint.Graph.Types.CVertex)+ RecSel Left Language.Fixpoint.Graph.Indexed.IKVGraph+834e178233044dee20d7da3adc9c5f6a+ ikvgEdges ::+ Language.Fixpoint.Graph.Indexed.IKVGraph+ -> [Language.Fixpoint.Graph.Types.CEdge]+instance GHC.Show.Show [Language.Fixpoint.Graph.Indexed.IKVGraph]+ = Language.Fixpoint.Graph.Indexed.$fShowIKVGraph+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,283 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:49.976423 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Partition 8065+ interface hash: 2c23efc346c7e7711f144c0d77d58762+ ABI hash: 10b792bb9300a0bfeef35f9a6335155b+ export-list hash: f177a010be01f53501cf29b1043f9946+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: f04a00b888e60e7f6999cba0f4cca719+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Graph.Partition.dumpPartitions+ Language.Fixpoint.Graph.Partition.mcInfo+ Language.Fixpoint.Graph.Partition.partition+ Language.Fixpoint.Graph.Partition.partition'+ Language.Fixpoint.Graph.Partition.partitionN+ Language.Fixpoint.Graph.Partition.CPart{Language.Fixpoint.Graph.Partition.CPart pcm pws}+ Language.Fixpoint.Graph.Partition.MCInfo{Language.Fixpoint.Graph.Partition.MCInfo mcCores mcMaxPartSize mcMinPartSize}+module dependencies: Language.Fixpoint.Graph.Deps+ Language.Fixpoint.Graph.Indexed Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.SortCheck 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ fgl-5.7.0.1 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Conc a58be285a0644f0fcf5703314b511833+import -/ base-4.12.0.0:GHC.Conc.Sync 275e94c5ede09d3593e4c106b892e4f5+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Graph.Deps f58fb5bc911772ff16e90c021342fd77+ exports: 7deeeee1d668195264f1154820a52680+ decompose 4773457816fb7844595c6cce724cae20+import -/ Language.Fixpoint.Graph.Types 90354efadf49650a4d644eca42325aa3+ exports: 68162b3a5b2b3dfa40ecf54da514ced3+ Cstr fb3e234b3b6ba6293e60b57759fd6db5+ KVComps def5a7dc502d951c9d5669d25bead965+ KVar c4a8980acc6c70ca8becabae4f5f5f0a+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ ListNE 34c095e41b29e7147eb4001d73367295+ applyNonNull 40b42461aae0e8b66421eafcc31fc750+ errorstar e47c2d482124b43e020a405f809adcff+ groupMap 135c39744041342903077ebc32cf0599+ safeLookup de93685c8ce33b5619842061a589410f+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+ cores 3988ec36858b82afed711ea7ff67ff00+ maxPartSize 3988ec36858b82afed711ea7ff67ff00+ minPartSize 3988ec36858b82afed711ea7ff67ff00+ queryFile 24dfc95af04dba576b5be5b6594619e1+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ GInfo 90ef96c47f269969affd7c3639af34f3+ Result 9b37020b88a84332f42c4a4efcccc0c2+ TaggedC ec47f4df806fb3eb50e32a07ab4ee371+ WfC ad7a627c031dc594c719d4e423bdd067+ cm 90ef96c47f269969affd7c3639af34f3+ toFixpoint 45b39b5a071a079c10972832dc83941b+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ KVar f4ebd74e51621c4f10e9fc003e3885a9+import -/ Language.Fixpoint.Utils.Files b2b779ebebf03f66af4a684b17d25d25+ exports: 061e3dd63eb42c6c413f2db46ae3d0cb+ Part 9245f0b9967fcd6cf47f1f2c64cb661b+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+34f38a4d10574cd66bf22ef00cee91aa+ $fMonoidCPart ::+ GHC.Base.Monoid (Language.Fixpoint.Graph.Partition.CPart c a)+ DFunId+34f38a4d10574cd66bf22ef00cee91aa+ $fSemigroupCPart ::+ GHC.Base.Semigroup (Language.Fixpoint.Graph.Partition.CPart c a)+ DFunId+1310569d9441a00e5d026d0ba60274b5+ $fShowMCInfo ::+ GHC.Show.Show Language.Fixpoint.Graph.Partition.MCInfo+ DFunId+e2701ad011e9693a0f72f349c37f903b+ $tc'CPart :: GHC.Types.TyCon+f56002c6b41af618663b7fa394d90971+ $tc'MCInfo :: GHC.Types.TyCon+64cf008be5fb5527ffb08734f0b70906+ $tcCPart :: GHC.Types.TyCon+aca9e11a3cb6054c62a289ee99c11431+ $tcMCInfo :: GHC.Types.TyCon+c33e0c5505b38ee5f799be03df4760a6+ $trModule :: GHC.Types.Module+34f38a4d10574cd66bf22ef00cee91aa+ type role CPart representational nominal+ data CPart (c :: * -> *) a+ = CPart {pws :: !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ (Language.Fixpoint.Types.Constraints.WfC a)),+ pcm :: !(Data.HashMap.Base.HashMap GHC.Integer.Type.Integer (c a))}+1310569d9441a00e5d026d0ba60274b5+ data MCInfo+ = MCInfo {mcCores :: !GHC.Types.Int,+ mcMinPartSize :: !GHC.Types.Int,+ mcMaxPartSize :: !GHC.Types.Int}+93693c3e82826f99bc2371287f9887f0+ type PartitionCtor (c :: * -> *) a b =+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> Data.HashMap.Base.HashMap+ GHC.Types.Int [(GHC.Integer.Type.Integer, c a)]+ -> Data.HashMap.Base.HashMap+ GHC.Types.Int+ [(Language.Fixpoint.Types.Refinements.KVar,+ Language.Fixpoint.Types.Constraints.WfC a)]+ -> GHC.Types.Int+ -> b+b22c89a9aec0774421cedaa5595dfbce+ dumpPartitions ::+ (Language.Fixpoint.Types.PrettyPrint.Fixpoint (c a),+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a) =>+ Language.Fixpoint.Types.Config.Config+ -> [Language.Fixpoint.Types.Constraints.GInfo c a]+ -> GHC.Types.IO ()+1310569d9441a00e5d026d0ba60274b5+ mcCores ::+ Language.Fixpoint.Graph.Partition.MCInfo -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Graph.Partition.MCInfo+1b954f79e466123de525c83e62f723ee+ mcInfo ::+ Language.Fixpoint.Types.Config.Config+ -> GHC.Types.IO Language.Fixpoint.Graph.Partition.MCInfo+1310569d9441a00e5d026d0ba60274b5+ mcMaxPartSize ::+ Language.Fixpoint.Graph.Partition.MCInfo -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Graph.Partition.MCInfo+1310569d9441a00e5d026d0ba60274b5+ mcMinPartSize ::+ Language.Fixpoint.Graph.Partition.MCInfo -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Graph.Partition.MCInfo+00f9f31dc845d7647e1224fc08a89d10+ partition ::+ (Language.Fixpoint.Types.PrettyPrint.Fixpoint a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint (c a),+ Language.Fixpoint.Types.Constraints.TaggedC c a) =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.GInfo c a+ -> GHC.Types.IO+ (Language.Fixpoint.Types.Constraints.Result+ (GHC.Integer.Type.Integer, a))+604dec4b5afaf691202e7ed2938aa872+ partition' ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ GHC.Maybe.Maybe Language.Fixpoint.Graph.Partition.MCInfo+ -> Language.Fixpoint.Types.Constraints.GInfo c a+ -> [Language.Fixpoint.Types.Constraints.GInfo c a]+2a353cadac6e10dd4186111d3ddb7653+ partitionN ::+ Language.Fixpoint.Graph.Partition.MCInfo+ -> Language.Fixpoint.Types.Constraints.GInfo c a+ -> [Language.Fixpoint.Graph.Partition.CPart c a]+ -> [Language.Fixpoint.Types.Constraints.GInfo c a]+34f38a4d10574cd66bf22ef00cee91aa+ pcm ::+ Language.Fixpoint.Graph.Partition.CPart c a+ -> Data.HashMap.Base.HashMap GHC.Integer.Type.Integer (c a)+ RecSel Left Language.Fixpoint.Graph.Partition.CPart+34f38a4d10574cd66bf22ef00cee91aa+ pws ::+ Language.Fixpoint.Graph.Partition.CPart c a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ (Language.Fixpoint.Types.Constraints.WfC a)+ RecSel Left Language.Fixpoint.Graph.Partition.CPart+instance GHC.Base.Monoid [Language.Fixpoint.Graph.Partition.CPart]+ = Language.Fixpoint.Graph.Partition.$fMonoidCPart+instance GHC.Base.Semigroup [Language.Fixpoint.Graph.Partition.CPart]+ = Language.Fixpoint.Graph.Partition.$fSemigroupCPart+instance GHC.Show.Show [Language.Fixpoint.Graph.Partition.MCInfo]+ = Language.Fixpoint.Graph.Partition.$fShowMCInfo+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,136 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:46.452562 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Reducible 8065+ interface hash: dfcdd5385841362c53f2647a83ebfcde+ ABI hash: 7036b2a613444e3bf30da08908c4d9d5+ export-list hash: bf921c869217837466c3fa389c66ce1c+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: f04a00b888e60e7f6999cba0f4cca719+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Graph.Reducible.isReducible+module dependencies: Language.Fixpoint.Misc 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 fgl-5.7.0.1 filepath-1.4.2.1+ ghc-prim-0.5.3 hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2+ mtl-2.2.2 parsec-3.1.13.0 pretty-1.1.3.6 process-1.6.5.0+ split-0.2.3.3 stm-2.5.0.0 syb-0.7 text-1.2.3.1 time-1.8.0.2+ transformers-0.5.6.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ containers-0.6.0.1:Data.Tree 241fc3b8487c8d8df54670f45b16e9e5+import -/ fgl-5.7.0.1:Data.Graph.Inductive 928376d48b13871ada3d7d3e7b8e78d8+import -/ fgl-5.7.0.1:Data.Graph.Inductive.Graph ed8c5a7634ddd2266d76d4f3b3d959ae+import -/ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree 51ad887acd03e28e43536d0e5050a56f+import -/ fgl-5.7.0.1:Data.Graph.Inductive.Query.DFS 3efafcc8e2421b618d9a3f9dcc8eae95+import -/ fgl-5.7.0.1:Data.Graph.Inductive.Query.Dominators 91df2e996695326616521c507379e7f5+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ safeLookup de93685c8ce33b5619842061a589410f+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ GInfo 90ef96c47f269969affd7c3639af34f3+ TaggedC ec47f4df806fb3eb50e32a07ab4ee371+ bs 90ef96c47f269969affd7c3639af34f3+ cm 90ef96c47f269969affd7c3639af34f3+ crhs 9701eec311803b00e8ff03aadeb150fa+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ KVar f4ebd74e51621c4f10e9fc003e3885a9+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ envKVars 784f60e3e785577497db1a4d2900625e+ kvars c0e50d3c638d80582ef2ff4559ccde96+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+8d0caf516aa8d0a3ef48b0cfcbc08795+ $trModule :: GHC.Types.Module+547323ed729071407cd453530e983e3c+ isReducible ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ Language.Fixpoint.Types.Constraints.GInfo c a -> GHC.Types.Bool+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,497 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:48.702869 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types [family instance module] 8065+ interface hash: eb0436e611ee955ace59f541147cc18e+ ABI hash: 90354efadf49650a4d644eca42325aa3+ export-list hash: 68162b3a5b2b3dfa40ecf54da514ced3+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 89aef9aa3f7bffe55a7c94cc1c7c64a4+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Graph.Types.isRealEdge+ Language.Fixpoint.Graph.Types.lookupCMap+ Language.Fixpoint.Graph.Types.writeEdges+ Language.Fixpoint.Graph.Types.writeGraph+ Language.Fixpoint.Graph.Types.CDeps{Language.Fixpoint.Graph.Types.CDs cNumScc cPrev cRank cSucc}+ Language.Fixpoint.Graph.Types.CEdge+ Language.Fixpoint.Graph.Types.CGraph{Language.Fixpoint.Graph.Types.CGraph gEdges gRanks gSccs gSucc}+ Language.Fixpoint.Graph.Types.CVertex{Language.Fixpoint.Graph.Types.Cstr Language.Fixpoint.Graph.Types.DKVar Language.Fixpoint.Graph.Types.EBind Language.Fixpoint.Graph.Types.KVar}+ Language.Fixpoint.Graph.Types.Comps+ Language.Fixpoint.Graph.Types.DepEdge+ Language.Fixpoint.Graph.Types.KVComps+ Language.Fixpoint.Graph.Types.KVGraph{Language.Fixpoint.Graph.Types.KVGraph kvgEdges}+ Language.Fixpoint.Graph.Types.KVRead+ Language.Fixpoint.Graph.Types.Rank{Language.Fixpoint.Graph.Types.Rank rIcc rScc rTag}+ Language.Fixpoint.Graph.Types.Slice{Language.Fixpoint.Graph.Types.Slice slConcCs slEdges slKVarCs}+ Language.Fixpoint.Graph.Types.SolverInfo{Language.Fixpoint.Graph.Types.SI siDeps siQuery siSol siVars}+ Language.Fixpoint.Types.Constraints.SubcId+ Language.Fixpoint.Types.Solutions.CMap+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.SortCheck 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.IO 898d4ddbf00eb4732e5f462760aa42ae+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:GHC.Stack 2e7ebbc83674265f5754688ee2a2c7af+import -/ base-4.12.0.0:GHC.Stack.Types cc5765ec7323d457f659b1d744594490+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ group 89622853601fa33661a1ceef6d1ea621+ safeLookup de93685c8ce33b5619842061a589410f+ wrap d12ffeef035a47d87849891a6e05a16f+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ SInfo 90ef96c47f269969affd7c3639af34f3+ SubcId 311c8f398e2d0f5e23e664bacb45f905+ Tag f16c6ce3b8b49003401603dfb3b1715f+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ pprint 955dc9d031db587300edf6146ac33be4+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ exports: c373b88351492ec6aa75dffded20541a+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ kv f4ebd74e51621c4f10e9fc003e3885a9+import -/ Language.Fixpoint.Types.Solutions 0b8a944fa50bd0859885907efb6ca971+ exports: afa649b912ca2c885ac627d761c55201+ CMap f6eaa2c8b036cb0052c0242863f4089d+ QBind a143c3dc8e88328902f82f3430d31b51+ Sol 7e54038e4321923be0c504747fce3360+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+ <-> a6bccb4500bca89f567c047995747774+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+4c2dcbf4968a23ede6d681da7c0332b4+ $fEqCVertex :: GHC.Classes.Eq Language.Fixpoint.Graph.Types.CVertex+ DFunId+cf29aa20410874c45eb55b88a9039fa1+ $fEqRank :: GHC.Classes.Eq Language.Fixpoint.Graph.Types.Rank+ DFunId+c9f558b1c2b09536b1215379ef863bfc+ $fEqSlice :: GHC.Classes.Eq Language.Fixpoint.Graph.Types.Slice+ DFunId+4c2dcbf4968a23ede6d681da7c0332b4+ $fGenericCVertex ::+ GHC.Generics.Generic Language.Fixpoint.Graph.Types.CVertex+ DFunId+4c2dcbf4968a23ede6d681da7c0332b4+ $fHashableCVertex ::+ Data.Hashable.Class.Hashable Language.Fixpoint.Graph.Types.CVertex+ DFunId+4c2dcbf4968a23ede6d681da7c0332b4+ $fOrdCVertex ::+ GHC.Classes.Ord Language.Fixpoint.Graph.Types.CVertex+ DFunId+4c2dcbf4968a23ede6d681da7c0332b4+ $fPPrintCVertex ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Graph.Types.CVertex+ DFunId+fe819e3425a3bf9de917a8ddb59b6513+ $fPPrintKVGraph ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Graph.Types.KVGraph+ DFunId+cf29aa20410874c45eb55b88a9039fa1+ $fPPrintRank ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Graph.Types.Rank+ DFunId+4c2dcbf4968a23ede6d681da7c0332b4+ $fShowCVertex ::+ GHC.Show.Show Language.Fixpoint.Graph.Types.CVertex+ DFunId+cf29aa20410874c45eb55b88a9039fa1+ $fShowRank :: GHC.Show.Show Language.Fixpoint.Graph.Types.Rank+ DFunId+c9f558b1c2b09536b1215379ef863bfc+ $fShowSlice :: GHC.Show.Show Language.Fixpoint.Graph.Types.Slice+ DFunId+6c83605e7052af0165f1e053f1469676+ $tc'CDs :: GHC.Types.TyCon+195f30ef2b2878e218be2bcb0a55ab52+ $tc'CGraph :: GHC.Types.TyCon+e990ee1f816ff1744d7fcec5df4b4ff7+ $tc'Cstr :: GHC.Types.TyCon+4581886ac3fc6564767725e2426ac2d8+ $tc'DKVar :: GHC.Types.TyCon+7692fe56afe4cd36b2da9ded4ab2953a+ $tc'EBind :: GHC.Types.TyCon+e682b8c279f0586162de873b85fbd0e0+ $tc'KVGraph :: GHC.Types.TyCon+c9b68d2658788cae23b6158e8eabc48a+ $tc'KVar :: GHC.Types.TyCon+e5f9c3da2a27f98f505a8006966df00d+ $tc'Rank :: GHC.Types.TyCon+7b99dae6051f4520a9ee8f8ebe45090f+ $tc'SI :: GHC.Types.TyCon+c9f8075c0718ea1e49e7d5cc17be6608+ $tc'Slice :: GHC.Types.TyCon+35e840cadec4d6877ecab97b29979c05+ $tcCDeps :: GHC.Types.TyCon+022fb62c1a9185f0e3eaab11809c74ad+ $tcCGraph :: GHC.Types.TyCon+f33d1cbd296d7dc9cb1279696f111e20+ $tcCVertex :: GHC.Types.TyCon+3e0bcfd2de4259ad48ffbb58ff9c0222+ $tcKVGraph :: GHC.Types.TyCon+b7e060b4741985546ce3711c79523ae7+ $tcRank :: GHC.Types.TyCon+2fd0ff257e592df034f6bbef3a03c1fe+ $tcSlice :: GHC.Types.TyCon+bb7c112f3204862fbd0b9ba9a4a1c3b2+ $tcSolverInfo :: GHC.Types.TyCon+dce44a4bebb69fc8384ee666155c66fb+ $trModule :: GHC.Types.Module+fb08c7abe463f57655419905998c9e3c+ data CDeps+ = CDs {cSucc :: !(Language.Fixpoint.Types.Solutions.CMap+ [Language.Fixpoint.Types.Constraints.SubcId]),+ cPrev :: !(Language.Fixpoint.Types.Solutions.CMap+ [Language.Fixpoint.Types.Refinements.KVar]),+ cRank :: !(Language.Fixpoint.Types.Solutions.CMap+ Language.Fixpoint.Graph.Types.Rank),+ cNumScc :: !GHC.Types.Int}+5926a8a79eef96a67d64e7e2de539c49+ type CEdge =+ (Language.Fixpoint.Graph.Types.CVertex,+ Language.Fixpoint.Graph.Types.CVertex)+66236c65d66a8151ebba5e6b1bf5230c+ data CGraph+ = CGraph {gEdges :: [Language.Fixpoint.Graph.Types.DepEdge],+ gRanks :: !(Language.Fixpoint.Types.Solutions.CMap GHC.Types.Int),+ gSucc :: !(Language.Fixpoint.Types.Solutions.CMap+ [Language.Fixpoint.Types.Constraints.SubcId]),+ gSccs :: !GHC.Types.Int}+4c2dcbf4968a23ede6d681da7c0332b4+ data CVertex+ = KVar !Language.Fixpoint.Types.Refinements.KVar+ | DKVar !Language.Fixpoint.Types.Refinements.KVar+ | EBind !Language.Fixpoint.Types.Names.Symbol+ | Cstr !GHC.Integer.Type.Integer+73dc5a86a8a8cae61cc19bbc3d9fc43d+ type Comps a = [[a]]+4e73444bc8aa8dcc78647298be9df38e+ type DepEdge =+ (Language.Fixpoint.Types.Constraints.SubcId,+ Language.Fixpoint.Types.Constraints.SubcId,+ [Language.Fixpoint.Types.Constraints.SubcId])+def5a7dc502d951c9d5669d25bead965+ type KVComps =+ Language.Fixpoint.Graph.Types.Comps+ Language.Fixpoint.Graph.Types.CVertex+fe819e3425a3bf9de917a8ddb59b6513+ data KVGraph+ = KVGraph {kvgEdges :: [(Language.Fixpoint.Graph.Types.CVertex,+ Language.Fixpoint.Graph.Types.CVertex,+ [Language.Fixpoint.Graph.Types.CVertex])]}+46544e1280bc1665457446550a616b1f+ type KVRead =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ [Language.Fixpoint.Types.Constraints.SubcId]+cf29aa20410874c45eb55b88a9039fa1+ data Rank+ = Rank {rScc :: !GHC.Types.Int,+ rIcc :: !GHC.Types.Int,+ rTag :: !Language.Fixpoint.Types.Constraints.Tag}+4c2dcbf4968a23ede6d681da7c0332b4+ axiom Language.Fixpoint.Graph.Types.Rep_CVertex::+ GHC.Generics.Rep Language.Fixpoint.Graph.Types.CVertex+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "CVertex"+ "Language.Fixpoint.Graph.Types"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "KVar" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.KVar))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "DKVar" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.KVar)))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "EBind" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Cstr" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Integer.Type.Integer))))+c9f558b1c2b09536b1215379ef863bfc+ data Slice+ = Slice {slKVarCs :: [Language.Fixpoint.Types.Constraints.SubcId],+ slConcCs :: [Language.Fixpoint.Types.Constraints.SubcId],+ slEdges :: [Language.Fixpoint.Graph.Types.DepEdge]}+9a73d9e092f73b37b6476ae70547e961+ type role SolverInfo nominal representational+ data SolverInfo a b+ = SI {siSol :: !(Language.Fixpoint.Types.Solutions.Sol+ b Language.Fixpoint.Types.Solutions.QBind),+ siQuery :: !(Language.Fixpoint.Types.Constraints.SInfo a),+ siDeps :: !Language.Fixpoint.Graph.Types.CDeps,+ siVars :: !(Data.HashSet.HashSet+ Language.Fixpoint.Types.Refinements.KVar)}+fb08c7abe463f57655419905998c9e3c+ cNumScc :: Language.Fixpoint.Graph.Types.CDeps -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Graph.Types.CDeps+fb08c7abe463f57655419905998c9e3c+ cPrev ::+ Language.Fixpoint.Graph.Types.CDeps+ -> Language.Fixpoint.Types.Solutions.CMap+ [Language.Fixpoint.Types.Refinements.KVar]+ RecSel Left Language.Fixpoint.Graph.Types.CDeps+fb08c7abe463f57655419905998c9e3c+ cRank ::+ Language.Fixpoint.Graph.Types.CDeps+ -> Language.Fixpoint.Types.Solutions.CMap+ Language.Fixpoint.Graph.Types.Rank+ RecSel Left Language.Fixpoint.Graph.Types.CDeps+fb08c7abe463f57655419905998c9e3c+ cSucc ::+ Language.Fixpoint.Graph.Types.CDeps+ -> Language.Fixpoint.Types.Solutions.CMap+ [Language.Fixpoint.Types.Constraints.SubcId]+ RecSel Left Language.Fixpoint.Graph.Types.CDeps+66236c65d66a8151ebba5e6b1bf5230c+ gEdges ::+ Language.Fixpoint.Graph.Types.CGraph+ -> [Language.Fixpoint.Graph.Types.DepEdge]+ RecSel Left Language.Fixpoint.Graph.Types.CGraph+66236c65d66a8151ebba5e6b1bf5230c+ gRanks ::+ Language.Fixpoint.Graph.Types.CGraph+ -> Language.Fixpoint.Types.Solutions.CMap GHC.Types.Int+ RecSel Left Language.Fixpoint.Graph.Types.CGraph+66236c65d66a8151ebba5e6b1bf5230c+ gSccs :: Language.Fixpoint.Graph.Types.CGraph -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Graph.Types.CGraph+66236c65d66a8151ebba5e6b1bf5230c+ gSucc ::+ Language.Fixpoint.Graph.Types.CGraph+ -> Language.Fixpoint.Types.Solutions.CMap+ [Language.Fixpoint.Types.Constraints.SubcId]+ RecSel Left Language.Fixpoint.Graph.Types.CGraph+dfc0340045fc5c818e72018ad55a3050+ isRealEdge :: Language.Fixpoint.Graph.Types.CEdge -> GHC.Types.Bool+fe819e3425a3bf9de917a8ddb59b6513+ kvgEdges ::+ Language.Fixpoint.Graph.Types.KVGraph+ -> [(Language.Fixpoint.Graph.Types.CVertex,+ Language.Fixpoint.Graph.Types.CVertex,+ [Language.Fixpoint.Graph.Types.CVertex])]+ RecSel Left Language.Fixpoint.Graph.Types.KVGraph+39b9410ac905fdea8ba0cbc0cd18b14b+ lookupCMap ::+ (?callStack::GHC.Stack.Types.CallStack) =>+ Language.Fixpoint.Types.Solutions.CMap a+ -> Language.Fixpoint.Types.Constraints.SubcId -> a+cf29aa20410874c45eb55b88a9039fa1+ rIcc :: Language.Fixpoint.Graph.Types.Rank -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Graph.Types.Rank+cf29aa20410874c45eb55b88a9039fa1+ rScc :: Language.Fixpoint.Graph.Types.Rank -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Graph.Types.Rank+cf29aa20410874c45eb55b88a9039fa1+ rTag ::+ Language.Fixpoint.Graph.Types.Rank+ -> Language.Fixpoint.Types.Constraints.Tag+ RecSel Left Language.Fixpoint.Graph.Types.Rank+9a73d9e092f73b37b6476ae70547e961+ siDeps ::+ Language.Fixpoint.Graph.Types.SolverInfo a b+ -> Language.Fixpoint.Graph.Types.CDeps+ RecSel Left Language.Fixpoint.Graph.Types.SolverInfo+9a73d9e092f73b37b6476ae70547e961+ siQuery ::+ Language.Fixpoint.Graph.Types.SolverInfo a b+ -> Language.Fixpoint.Types.Constraints.SInfo a+ RecSel Left Language.Fixpoint.Graph.Types.SolverInfo+9a73d9e092f73b37b6476ae70547e961+ siSol ::+ Language.Fixpoint.Graph.Types.SolverInfo a b+ -> Language.Fixpoint.Types.Solutions.Sol+ b Language.Fixpoint.Types.Solutions.QBind+ RecSel Left Language.Fixpoint.Graph.Types.SolverInfo+9a73d9e092f73b37b6476ae70547e961+ siVars ::+ Language.Fixpoint.Graph.Types.SolverInfo a b+ -> Data.HashSet.HashSet Language.Fixpoint.Types.Refinements.KVar+ RecSel Left Language.Fixpoint.Graph.Types.SolverInfo+c9f558b1c2b09536b1215379ef863bfc+ slConcCs ::+ Language.Fixpoint.Graph.Types.Slice+ -> [Language.Fixpoint.Types.Constraints.SubcId]+ RecSel Left Language.Fixpoint.Graph.Types.Slice+c9f558b1c2b09536b1215379ef863bfc+ slEdges ::+ Language.Fixpoint.Graph.Types.Slice+ -> [Language.Fixpoint.Graph.Types.DepEdge]+ RecSel Left Language.Fixpoint.Graph.Types.Slice+c9f558b1c2b09536b1215379ef863bfc+ slKVarCs ::+ Language.Fixpoint.Graph.Types.Slice+ -> [Language.Fixpoint.Types.Constraints.SubcId]+ RecSel Left Language.Fixpoint.Graph.Types.Slice+ef51f742359e1b490dcec54af017b86e+ writeEdges ::+ GHC.IO.FilePath+ -> [Language.Fixpoint.Graph.Types.CEdge] -> GHC.Types.IO ()+d4282ed4e9a464fdcbf0fdae2a09bb51+ writeGraph ::+ GHC.IO.FilePath+ -> Language.Fixpoint.Graph.Types.KVGraph -> GHC.Types.IO ()+instance GHC.Classes.Eq [Language.Fixpoint.Graph.Types.CVertex]+ = Language.Fixpoint.Graph.Types.$fEqCVertex+instance GHC.Classes.Eq [Language.Fixpoint.Graph.Types.Rank]+ = Language.Fixpoint.Graph.Types.$fEqRank+instance GHC.Classes.Eq [Language.Fixpoint.Graph.Types.Slice]+ = Language.Fixpoint.Graph.Types.$fEqSlice+instance GHC.Generics.Generic [Language.Fixpoint.Graph.Types.CVertex]+ = Language.Fixpoint.Graph.Types.$fGenericCVertex+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Graph.Types.CVertex]+ = Language.Fixpoint.Graph.Types.$fHashableCVertex+instance GHC.Classes.Ord [Language.Fixpoint.Graph.Types.CVertex]+ = Language.Fixpoint.Graph.Types.$fOrdCVertex+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Graph.Types.CVertex]+ = Language.Fixpoint.Graph.Types.$fPPrintCVertex+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Graph.Types.KVGraph]+ = Language.Fixpoint.Graph.Types.$fPPrintKVGraph+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Graph.Types.Rank]+ = Language.Fixpoint.Graph.Types.$fPPrintRank+instance GHC.Show.Show [Language.Fixpoint.Graph.Types.CVertex]+ = Language.Fixpoint.Graph.Types.$fShowCVertex+instance GHC.Show.Show [Language.Fixpoint.Graph.Types.Rank]+ = Language.Fixpoint.Graph.Types.$fShowRank+instance GHC.Show.Show [Language.Fixpoint.Graph.Types.Slice]+ = Language.Fixpoint.Graph.Types.$fShowSlice+family instance GHC.Generics.Rep [Language.Fixpoint.Graph.Types.CVertex]+ = Language.Fixpoint.Graph.Types.Rep_CVertex+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,187 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:48.470942 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Horn.Parse 8065+ interface hash: d176146b332eb390a9bf970b2a2fe4ea+ ABI hash: 9f1981e42326dd58c15023ced33569e6+ export-list hash: 751630279013e53852bb88d78620b0d3+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: ffdd8bc21d9b1057aba7398b1a09f314+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Horn.Parse.hornP+module dependencies: Language.Fixpoint.Horn.Types+ Language.Fixpoint.Misc Language.Fixpoint.Parse+ Language.Fixpoint.Smt.Bitvector 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Utils.Files Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2+ parsec-3.1.13.0 pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3+ stm-2.5.0.0 syb-0.7 text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ transformers-0.5.6.2:Control.Monad.Trans.Error+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Horn.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Parse+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Bitvector+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ Language.Fixpoint.Horn.Types 0ae363ed255ece99a3de1063ec58a439+ exports: 9b0de31aa69a6babffad4da85add20a8+ All 1a7e3b9f77b04f80c74882bd6503b3fc+ Any 0026c819285e671851394e642270367f+ Bind f62ccca134d4da48207548fbdc3fb06e+ Bind 193a8da174f543b2ef448a31321a0e0a+ CAnd 2c805a8ce0258234c9defd19d95a8fed+ Cstr 193a8da174f543b2ef448a31321a0e0a+ HVar 96613aab13475aef155186ba07183349+ Head 85db9aaa2c49b57ea94b41073a266e89+ PAnd 1ddfa876810b28ab17f0f3c7f6f7bfd9+ Pred d1e3c9d23c9780cb1438b15d925e1c45+ Query 7982285f6b4b341239d765f06789d248+ Query 193a8da174f543b2ef448a31321a0e0a+ Reft 3f8572ce434a2d0b819521d12e4cf87f+ Var b2ae80e1af9b8434471af2ac86bc0cbe+ Var 49693393b4058ba73f4195bdab9e37ae+ qCon 193a8da174f543b2ef448a31321a0e0a+ qCstr 193a8da174f543b2ef448a31321a0e0a+ qDis 193a8da174f543b2ef448a31321a0e0a+ qQuals 193a8da174f543b2ef448a31321a0e0a+ qVars 193a8da174f543b2ef448a31321a0e0a+import -/ Language.Fixpoint.Parse f8821d93a62aec9ae319d8a2deffc941+ exports: c04662d065b8ef9661ceae7d7cc1940d+ Parser acba7f917e7308e392b364ab2b3f5de2+ parens 3ff74a82c6c082ae43768e3b6520d072+ predP abdb144613ea68cf27b2784d9240e49f+ reserved a00ff7b1b27c4805c4cedbcb08758ce6+ sortP edc9dd330cfb2d2d7537020273e739e0+ stringLiteral dd5125babd28fdb99570e629b5612e5f+ symbolP beab0f933832bfbcb60fab8ebd4a25e8+ upperIdP 55990084a213fa411d0f585abd4b3389+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ PatNone 25106c4b55ee4d12827f60ed4dc88939+ QP 66146f217745c702472b8c089e647bc1+ QualParam 9aae2bcc537b45559d03a4eee2bb72e5+ Qualifier 9aae2bcc537b45559d03a4eee2bb72e5+ mkQual 76509e579d10d7c92e5c9239d180adff+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ Sort 30d6fd7d99459ff88296e3b55c87b46c+import -/ parsec-3.1.13.0:Text.Parsec 39c708f6ea8ba6a25ac6856fa0bd524b+import -/ parsec-3.1.13.0:Text.Parsec.Char 99c6373d285605efc5fd2c36564cef6e+import -/ parsec-3.1.13.0:Text.Parsec.Combinator 49575f55a63dd5c8ff4f34f8c448d167+import -/ parsec-3.1.13.0:Text.Parsec.Prim 0c85e47654f64ad8bae34fb738b44d0f+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+0efdf32d08fcd462e310c5cdf1fcfea3+ $fFunctorHThing ::+ GHC.Base.Functor Language.Fixpoint.Horn.Parse.HThing+ DFunId+8f585a9084fb9e83931fd7fc7fd003f4+ $tc'HCon :: GHC.Types.TyCon+fc147e7ce31246ff5a37d16679201dd2+ $tc'HCstr :: GHC.Types.TyCon+7cee72ee06501fb1156ba8fb333c4d1e+ $tc'HDis :: GHC.Types.TyCon+5cbb62a3c1e4141ac741ebdb5de02a59+ $tc'HOpt :: GHC.Types.TyCon+b23750947ed052073e00d2bcf60bf42d+ $tc'HQual :: GHC.Types.TyCon+513f647fd8fe5063ef77ddb7556f86e1+ $tc'HVar :: GHC.Types.TyCon+ad8f70e3a67857b9165089fb8dd94600+ $tcHThing :: GHC.Types.TyCon+f2d126276159d6a1183a7913af35d5fc+ $trModule :: GHC.Types.Module+0efdf32d08fcd462e310c5cdf1fcfea3+ data HThing a+ = HQual !Language.Fixpoint.Types.Constraints.Qualifier+ | HVar !(Language.Fixpoint.Horn.Types.Var a)+ | HCstr !(Language.Fixpoint.Horn.Types.Cstr a)+ | HCon Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Sorts.Sort+ | HDis Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Sorts.Sort+ | HOpt !GHC.Base.String+694e6f4be9a57a568aa94f33ef711aa5+ hornP ::+ Language.Fixpoint.Parse.Parser+ (Language.Fixpoint.Horn.Types.Query (), [GHC.Base.String])+instance GHC.Base.Functor [Language.Fixpoint.Horn.Parse.HThing]+ = Language.Fixpoint.Horn.Parse.$fFunctorHThing+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,373 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:55.485096 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Horn.Solve [family instance module] 8065+ interface hash: fb3423bf42728de816a123766d54bd16+ ABI hash: 0da38fbdbea11f6217ab6a5bf314fad9+ export-list hash: c33b7ee7d7b86076110672b58537f5cd+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 0fa8fa3f23a8146c1a1a4633214a9427+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Horn.Solve.solve+ Language.Fixpoint.Horn.Solve.solveHorn+module dependencies: Language.Fixpoint.Defunctionalize+ Language.Fixpoint.Graph Language.Fixpoint.Graph.Deps+ Language.Fixpoint.Graph.Indexed Language.Fixpoint.Graph.Partition+ Language.Fixpoint.Graph.Reducible Language.Fixpoint.Graph.Types+ Language.Fixpoint.Horn.Parse Language.Fixpoint.Horn.Transformations+ Language.Fixpoint.Horn.Types Language.Fixpoint.Minimize+ Language.Fixpoint.Misc Language.Fixpoint.Parse+ Language.Fixpoint.Smt.Bitvector Language.Fixpoint.Smt.Interface+ Language.Fixpoint.Smt.Serialize Language.Fixpoint.Smt.Theories+ Language.Fixpoint.Smt.Types Language.Fixpoint.Solver+ Language.Fixpoint.Solver.Eliminate+ Language.Fixpoint.Solver.Instantiate Language.Fixpoint.Solver.Monad+ Language.Fixpoint.Solver.Sanitize Language.Fixpoint.Solver.Solution+ Language.Fixpoint.Solver.Solve+ Language.Fixpoint.Solver.UniqifyBinds+ Language.Fixpoint.Solver.UniqifyKVars+ Language.Fixpoint.Solver.Worklist Language.Fixpoint.SortCheck+ 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Language.Fixpoint.Utils.Progress Language.Fixpoint.Utils.Statistics+ Language.Fixpoint.Utils.Trie Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0+ ascii-progress-0.3.3.0 async-2.2.1 attoparsec-0.13.2.2+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5+ concurrent-output-1.10.9 containers-0.6.0.1 data-default-0.7.1.1+ data-default-class-0.1.2.0 data-default-instances-containers-0.0.1+ data-default-instances-dlist-0.0.1+ data-default-instances-old-locale-0.0.1 deepseq-1.4.4.0+ directory-1.3.3.0 dlist-0.8.0.6 double-conversion-2.0.2.0+ exceptions-0.10.2 fgl-5.7.0.1 filepath-1.4.2.1 ghc-boot-th-8.6.5+ ghc-prim-0.5.3 hashable-1.2.7.0 integer-gmp-1.0.2.0+ integer-logarithms-1.0.3 intern-0.9.2 mtl-2.2.2 old-locale-1.0.0.7+ parallel-3.2.2.0 parsec-3.1.13.0 pretty-1.1.3.6 primitive-0.6.4.0+ process-1.6.5.0 scientific-0.3.6.2 split-0.2.3.3 stm-2.5.0.0+ syb-0.7 template-haskell-2.14.0.0 terminal-size-0.3.2.1+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.Instantiate+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Serialize+ attoparsec-0.13.2.2:Data.Attoparsec.Text.Internal+ data-default-instances-containers-0.0.1:Data.Default.Instances.Containers+ data-default-instances-dlist-0.0.1:Data.Default.Instances.DList+ data-default-instances-old-locale-0.0.1:Data.Default.Instances.OldLocale+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Horn.Transformations+ transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: attoparsec-0.13.2.2:Data.Attoparsec.Internal.Types+ base-4.12.0.0:Control.Applicative base-4.12.0.0:Data.Complex+ base-4.12.0.0:Data.Functor.Compose base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ dlist-0.8.0.6:Data.DList+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ ghc-boot-th-8.6.5:GHC.ForeignSrcLang.Type+ ghc-boot-th-8.6.5:GHC.LanguageExtensions.Type+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Horn.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Parse+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Bitvector+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.Monad+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.UniqifyBinds+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Utils.Statistics+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ+ primitive-0.6.4.0:Control.Monad.Primitive+ primitive-0.6.4.0:Data.Primitive.Array+ template-haskell-2.14.0.0:Language.Haskell.TH.Syntax+ terminal-size-0.3.2.1:System.Console.Terminal.Common+ text-1.2.3.1:Data.Text text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Either 423bee738f25e5ee983d072216009be8+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.IO.Exception 77722984940ee6ccf9e2f7dab10b83a4+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.Exit 3c945ec7c596067c067092c41083c3d0+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ cmdargs-0.10.20:System.Console.CmdArgs.Verbosity fa5402dbe76d4158a9bd93730fac6d67+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Horn.Parse 9f1981e42326dd58c15023ced33569e6+ exports: 751630279013e53852bb88d78620b0d3+ hornP 694e6f4be9a57a568aa94f33ef711aa5+import -/ Language.Fixpoint.Horn.Transformations c5627f0f6010fe5361df636e3739b5af+ exports: 1b41926f842a0fd3fd9be1a93301bd8e+ elim 57c5c499c88ab319b32c49f34308bb99+ flatten a4a698c2981d15b7c27d6c31763b517f+ solveEbs 2e9394490a6f8bd372382329940ac65b+ uniq 34862547ab3a7586b3eadc2b4e900c33+import -/ Language.Fixpoint.Horn.Types 0ae363ed255ece99a3de1063ec58a439+ exports: 9b0de31aa69a6babffad4da85add20a8+ All 1a7e3b9f77b04f80c74882bd6503b3fc+ Any 0026c819285e671851394e642270367f+ Bind f62ccca134d4da48207548fbdc3fb06e+ Bind 193a8da174f543b2ef448a31321a0e0a+ CAnd 2c805a8ce0258234c9defd19d95a8fed+ Cstr 193a8da174f543b2ef448a31321a0e0a+ Head 85db9aaa2c49b57ea94b41073a266e89+ PAnd 1ddfa876810b28ab17f0f3c7f6f7bfd9+ Pred d1e3c9d23c9780cb1438b15d925e1c45+ Query 193a8da174f543b2ef448a31321a0e0a+ Reft 3f8572ce434a2d0b819521d12e4cf87f+ Var b2ae80e1af9b8434471af2ac86bc0cbe+ Var 49693393b4058ba73f4195bdab9e37ae+ bSym 193a8da174f543b2ef448a31321a0e0a+ dummyBind ba958beb1ae24725314ed77315fcc626+ hvArgs 49693393b4058ba73f4195bdab9e37ae+ hvMeta 49693393b4058ba73f4195bdab9e37ae+ hvName 49693393b4058ba73f4195bdab9e37ae+ qCon 193a8da174f543b2ef448a31321a0e0a+ qCstr 193a8da174f543b2ef448a31321a0e0a+ qDis 193a8da174f543b2ef448a31321a0e0a+ qQuals 193a8da174f543b2ef448a31321a0e0a+ qVars 193a8da174f543b2ef448a31321a0e0a+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ safeUncons 1e3d0122d2ff8ea02076cc889c3ef1c0+import -/ Language.Fixpoint.Parse f8821d93a62aec9ae319d8a2deffc941+ exports: c04662d065b8ef9661ceae7d7cc1940d+ parseFromFile 72d7aa2bae25f00e7bcd36e1268ae5bc+import -/ Language.Fixpoint.Solver 039893cf368a87c0167e7e5ab0a6c92e+ exports: acb796eeaeb3020b98cff7c00317780c+ resultExitCode 7255a054cfc0599dec80692c7d7e6f97+ solve b4bd1c67efecd9fcbca35dfedb838546+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+ Existentials 80fbfcd205ee5837a11c4218c3e30771+ Horn 3dbfeae7988d5ef0d9ec47f5eeeb0295+ None 96acdebbd159daac8580de1bc89738cb+ Some f6d3aafb5f7df9b41f3525c98a3a5ee2+ eliminate 3988ec36858b82afed711ea7ff67ff00+ srcFile 3988ec36858b82afed711ea7ff67ff00+ withPragmas 7a2d56db26a96b6ec8ae137971b30663+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ FInfo b6d52641b5c0c13c0e61844e2114eb16+ Result 9b37020b88a84332f42c4a4efcccc0c2+ SubC 1844afeba4cbd3ee9cea173e868f8ce9+ SubcId 311c8f398e2d0f5e23e664bacb45f905+ WfC 1ac206eb21b0e2e607ad20985c4be7cd+ WfC ad7a627c031dc594c719d4e423bdd067+ addIds 62d05512a99170596b84c3003b251911+ bs 90ef96c47f269969affd7c3639af34f3+ cm 90ef96c47f269969affd7c3639af34f3+ dLits 90ef96c47f269969affd7c3639af34f3+ ebinds 90ef96c47f269969affd7c3639af34f3+ gLits 90ef96c47f269969affd7c3639af34f3+ mkSubC 0bcd3df5f343e78bbd601b9e4b14cce4+ quals 90ef96c47f269969affd7c3639af34f3+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ BindId c1dc08df6d648ef575cab1d33fc5df7b+ IBindEnv b71d4c279d7a7920d70dd44bac0305aa+ emptyBindEnv afeb5e3d81531c7c2c84389f2d1117f9+ emptyIBindEnv 6cfa8d73992960a6ab6331f8d3b757ff+ fromListIBindEnv 203f800f75e8e2acc2223edc99807147+ fromMapSEnv 7591ee6663e1b36102232c1b70536dd0+ insertBindEnv bc97de86c3ec6f664abb49ca068d7984+ insertsIBindEnv dca3e4d95477ee71c84a2814faf94fea+import -/ Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+ panic 87059ab6cc1a67158dab0a23bc2c22e7+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+ intSymbol a4ae136aedf5d0fada743997e9c6751f+ suffixSymbol 9662173a435d59332bdcbcb24c037237+ symbol 8093c1d4f5a85b247a3a96c3fce3245c+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ showpp a9f79fc9a75f72593341c16b4b8ac492+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ Expr 58dd7eff6040aa97f060415235c6cb01+ KV 9862585cb8815843a934d7dad38d665a+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ PAnd 668269c725f0f517f2cefead144acbec+ PKVar 00776deded6bdc1a9b45a9cd2ff73aa5+ RR bc18741bade52dfcbbbc2473e1b91821+ Reft 11628612f280bce553f9c182ec061ec6+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ eVar 78f3007f3bb9a0c61a30d1ab8e58f084+ trueSortedReft 5a60d78a8bc9c5d80e01c993695d83d5+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ Sort 30d6fd7d99459ff88296e3b55c87b46c+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ Loc 4962bb0bc274d9001b974c3326b63480+import -/ Language.Fixpoint.Types.Substitutions 68389730f57eb1bd783731c1e8e83435+ mkSubst fa0e5a33f52a68ffd2f44ba8a067ca8c+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+f5db4f29e59d7c09290fb55155c5a4a6+ $fFunctorKVInfo ::+ GHC.Base.Functor Language.Fixpoint.Horn.Solve.KVInfo+ DFunId+f5db4f29e59d7c09290fb55155c5a4a6+ $fGenericKVInfo ::+ GHC.Generics.Generic (Language.Fixpoint.Horn.Solve.KVInfo a)+ DFunId+c0f4d8803355594ce24f6cc246e43041+ $tc'KVInfo :: GHC.Types.TyCon+3e39316845fc550556db9700e4f2c174+ $tcKVInfo :: GHC.Types.TyCon+0ea6aa7945792c93ec45dbb8add1205c+ $trModule :: GHC.Types.Module+8a0797b71d97f90acf3fac5960d7c0f2+ type KVEnv a =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol+ (Language.Fixpoint.Horn.Solve.KVInfo a)+f5db4f29e59d7c09290fb55155c5a4a6+ data KVInfo a+ = KVInfo {kvVar :: !(Language.Fixpoint.Horn.Types.Var a),+ kvParams :: ![Language.Fixpoint.Types.Names.Symbol],+ kvWfC :: !(Language.Fixpoint.Types.Constraints.WfC a)}+f5db4f29e59d7c09290fb55155c5a4a6+ axiom Language.Fixpoint.Horn.Solve.Rep_KVInfo::+ GHC.Generics.Rep (Language.Fixpoint.Horn.Solve.KVInfo a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "KVInfo"+ "Language.Fixpoint.Horn.Solve"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "KVInfo" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "kvVar")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 (Language.Fixpoint.Horn.Types.Var a))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "kvParams")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 [Language.Fixpoint.Types.Names.Symbol])+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "kvWfC")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Constraints.WfC+ a)))))+f5db4f29e59d7c09290fb55155c5a4a6+ kvParams ::+ Language.Fixpoint.Horn.Solve.KVInfo a+ -> [Language.Fixpoint.Types.Names.Symbol]+ RecSel Left Language.Fixpoint.Horn.Solve.KVInfo+f5db4f29e59d7c09290fb55155c5a4a6+ kvVar ::+ Language.Fixpoint.Horn.Solve.KVInfo a+ -> Language.Fixpoint.Horn.Types.Var a+ RecSel Left Language.Fixpoint.Horn.Solve.KVInfo+f5db4f29e59d7c09290fb55155c5a4a6+ kvWfC ::+ Language.Fixpoint.Horn.Solve.KVInfo a+ -> Language.Fixpoint.Types.Constraints.WfC a+ RecSel Left Language.Fixpoint.Horn.Solve.KVInfo+967871c7da629ac1a187de2d7adecc01+ solve ::+ (Language.Fixpoint.Types.PrettyPrint.PPrint a,+ Control.DeepSeq.NFData a, Language.Fixpoint.Types.Spans.Loc a,+ GHC.Show.Show a, Language.Fixpoint.Types.PrettyPrint.Fixpoint a) =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Horn.Types.Query a+ -> GHC.Types.IO+ (Language.Fixpoint.Types.Constraints.Result+ (GHC.Integer.Type.Integer, a))+de9aed82014de0c8291aefccb5db5d1c+ solveHorn ::+ Language.Fixpoint.Types.Config.Config+ -> GHC.Types.IO GHC.IO.Exception.ExitCode+instance GHC.Base.Functor [Language.Fixpoint.Horn.Solve.KVInfo]+ = Language.Fixpoint.Horn.Solve.$fFunctorKVInfo+instance GHC.Generics.Generic [Language.Fixpoint.Horn.Solve.KVInfo]+ = Language.Fixpoint.Horn.Solve.$fGenericKVInfo+family instance GHC.Generics.Rep [Language.Fixpoint.Horn.Solve.KVInfo]+ = Language.Fixpoint.Horn.Solve.Rep_KVInfo+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,300 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:47.697676 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Horn.Transformations [orphan module] 8065+ interface hash: 0a16b5946ca3296c54e9e7b40153219e+ ABI hash: c5627f0f6010fe5361df636e3739b5af+ export-list hash: 1b41926f842a0fd3fd9be1a93301bd8e+ orphan hash: 707d983f88534bcc6f7b53749f6ec665+ flag hash: 85576ccb01ba22b9d7ea4cd0dd910efe+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Horn.Transformations.cstrToExpr+ Language.Fixpoint.Horn.Transformations.elim+ Language.Fixpoint.Horn.Transformations.elimKs+ Language.Fixpoint.Horn.Transformations.elimPis+ Language.Fixpoint.Horn.Transformations.solveEbs+ Language.Fixpoint.Horn.Transformations.uniq+ Language.Fixpoint.Horn.Transformations.Flatten|{Language.Fixpoint.Horn.Transformations.flatten}+module dependencies: Language.Fixpoint.Horn.Types+ Language.Fixpoint.Misc 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2+ parsec-3.1.13.0 pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3+ stm-2.5.0.0 syb-0.7 text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Horn.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Either 423bee738f25e5ee983d072216009be8+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.Functor.Identity f8b68112573f77a401c3389544bc0f0d+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.String fa00d4c51cd8d22ee4f54a25f9e9c97d+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Err ea5e313ef4146b40b5d8b27aa168e736+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ cmdargs-0.10.20:System.Console.CmdArgs.Verbosity fa5402dbe76d4158a9bd93730fac6d67+import -/ containers-0.6.0.1:Data.Set afd5ab7eac5658da18a4fffc2d1b683c+import -/ containers-0.6.0.1:Data.Set.Internal a9b0d2c3208f9a74ef7f480a7813af2a+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Horn.Types 0ae363ed255ece99a3de1063ec58a439+ exports: 9b0de31aa69a6babffad4da85add20a8+ All 1a7e3b9f77b04f80c74882bd6503b3fc+ Any 0026c819285e671851394e642270367f+ Bind f62ccca134d4da48207548fbdc3fb06e+ Bind 193a8da174f543b2ef448a31321a0e0a+ CAnd 2c805a8ce0258234c9defd19d95a8fed+ Cstr 193a8da174f543b2ef448a31321a0e0a+ Head 85db9aaa2c49b57ea94b41073a266e89+ PAnd 1ddfa876810b28ab17f0f3c7f6f7bfd9+ Pred d1e3c9d23c9780cb1438b15d925e1c45+ Query 7982285f6b4b341239d765f06789d248+ Query 193a8da174f543b2ef448a31321a0e0a+ Reft 3f8572ce434a2d0b819521d12e4cf87f+ Var b2ae80e1af9b8434471af2ac86bc0cbe+ cLabel 4c516ed871836729e5bbc24604fe9dc1+ hvName 49693393b4058ba73f4195bdab9e37ae+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+ symbolString 8b7e66ffe1373b3c8eea5ece172dd4c9+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ showpp a9f79fc9a75f72593341c16b4b8ac492+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Eq 3f11ae5b47578ad5a2c554235bd0e66b+ Expr 58dd7eff6040aa97f060415235c6cb01+ KV 9862585cb8815843a934d7dad38d665a+ PAll 95061dd88b416f835271772df1b74807+ PAnd 668269c725f0f517f2cefead144acbec+ PAtom efd69e8b2834a0937ec103ca6d2f2b7d+ PExist c6ca2ca0202788949bf0d916db637f7a+ PImp 71d909aca81df6b76b372b30b2979f8d+ PKVar 00776deded6bdc1a9b45a9cd2ff73aa5+ PTrue 1c366fec6a192dc993b90d2b711bd4f4+ Su c7f0aa4f362b23d4096b7fbf274dffd0+ Subable 60165a51c7f24051113a59802b59cd27+ isTautoPred b0ebfe363526526426c55e6ea6cc9f4d+ splitPAnd b13d172acda197fed8cd69dde06e196a+ subst 8dc51beb28f3e734b2b3097edf7df9c8+ subst1 32fda17df52baa2dc57c3f6fcba8c1ae+ substa 4128f370b0314e7d7d083d0dc7d38a4c+ substf 2a7829ff8a455a2f5d2182c05514a458+ syms cedb5518769db9d49f4ce507184c5e1f+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ boolSort 05be9e1ff80dff4f05fc2d8105076210+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ Visitable 538848ccf7d607090eacca8d17c97af6+ Visitor b907595a56c63aacc071b11708504163+ accExpr b907595a56c63aacc071b11708504163+ ctxExpr b907595a56c63aacc071b11708504163+ defaultVisitor 702ceebf65ec7e45cbc2b67c3c0c84d3+ fold 3ff20672dabf1b7d83dceb37cbf5293a+ mapMExpr 6293e52d58f2fec83e2af187562c44a6+ trans 95b3f331427c9bad5e5eba78717c7663+ txExpr b907595a56c63aacc071b11708504163+ visit 0fbbef97336cb16941cc1503b9fe1333+import -/ mtl-2.2.2:Control.Monad.Identity e802522ee1a00db34dedef519823c0df+import -/ mtl-2.2.2:Control.Monad.State 753def63fe8e937dc636f11e5230745a+import -/ mtl-2.2.2:Control.Monad.State.Class 243c828469104fb94563be0ea268f418+import -/ transformers-0.5.6.2:Control.Monad.Trans.State.Lazy 0c22827dedcb94d04bf072c00f8e95c2+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+1873086c09ed09abc4f29b4d874d913a+ $fFlattenCstr ::+ Language.Fixpoint.Horn.Transformations.Flatten+ (Language.Fixpoint.Horn.Types.Cstr a)+ DFunId+1873086c09ed09abc4f29b4d874d913a+ $fFlattenPred ::+ Language.Fixpoint.Horn.Transformations.Flatten+ Language.Fixpoint.Horn.Types.Pred+ DFunId+1873086c09ed09abc4f29b4d874d913a+ $fFlatten[] ::+ Language.Fixpoint.Horn.Transformations.Flatten+ [Language.Fixpoint.Horn.Types.Pred]+ DFunId+1873086c09ed09abc4f29b4d874d913a+ $fFlatten[]0 ::+ Language.Fixpoint.Horn.Transformations.Flatten+ [Language.Fixpoint.Horn.Types.Cstr a]+ DFunId+e4ee8c230763958c96fd94821857c075+ $fSubableBind ::+ Language.Fixpoint.Types.Refinements.Subable+ Language.Fixpoint.Horn.Types.Bind+ DFunId+f91eee4d3a559654031c9b79fcec9702+ $fSubablePred ::+ Language.Fixpoint.Types.Refinements.Subable+ Language.Fixpoint.Horn.Types.Pred+ DFunId+cdf52ec0043ae8285e716ca760d55683+ $fVisitableCstr ::+ Language.Fixpoint.Types.Visitor.Visitable+ (Language.Fixpoint.Horn.Types.Cstr a)+ DFunId+b5608d85146801c4b34fa3eb0b2b89a1+ $fVisitablePred ::+ Language.Fixpoint.Types.Visitor.Visitable+ Language.Fixpoint.Horn.Types.Pred+ DFunId+0fa07ab7fbb514063deeaa68e72ef8cf+ $tc'C:Flatten :: GHC.Types.TyCon+6edb78f863d333c8832e1e45261daf0b+ $tcFlatten :: GHC.Types.TyCon+1408aa299da6060aa2210c3afb13603c+ $trModule :: GHC.Types.Module+1873086c09ed09abc4f29b4d874d913a+ class Flatten a where+ flatten :: a -> a+ {-# MINIMAL flatten #-}+0fd61ee8f51a21ff7a446e52d35f28b8+ type RenameMap =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol GHC.Integer.Type.Integer+07737fcfb16e999ea4a6b0608412d88a+ type Sol a =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol+ (Data.Either.Either+ (Data.Either.Either+ [[Language.Fixpoint.Horn.Types.Bind]]+ (Language.Fixpoint.Horn.Types.Cstr a))+ Language.Fixpoint.Types.Refinements.Expr)+22ffbcf1e7770e9ded2a8e6f47aac13c+ cstrToExpr ::+ Language.Fixpoint.Horn.Types.Cstr a+ -> Language.Fixpoint.Types.Refinements.Expr+57c5c499c88ab319b32c49f34308bb99+ elim ::+ Language.Fixpoint.Horn.Types.Cstr a+ -> Language.Fixpoint.Horn.Types.Cstr a+290dd56873953f9840c0fab8c2349784+ elimKs ::+ [Language.Fixpoint.Types.Names.Symbol]+ -> (Language.Fixpoint.Horn.Types.Cstr a,+ Language.Fixpoint.Horn.Types.Cstr a)+ -> (Language.Fixpoint.Horn.Types.Cstr a,+ Language.Fixpoint.Horn.Types.Cstr a)+934eb0689fe90f2f819f8b7dbdcf773c+ elimPis ::+ [Language.Fixpoint.Types.Names.Symbol]+ -> (Language.Fixpoint.Horn.Types.Cstr a,+ Language.Fixpoint.Horn.Types.Cstr a)+ -> (Language.Fixpoint.Horn.Types.Cstr a,+ Language.Fixpoint.Horn.Types.Cstr a)+2e9394490a6f8bd372382329940ac65b+ solveEbs ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ Language.Fixpoint.Horn.Types.Query a+ -> GHC.Types.IO (Language.Fixpoint.Horn.Types.Query a)+34862547ab3a7586b3eadc2b4e900c33+ uniq ::+ Language.Fixpoint.Horn.Types.Cstr a+ -> Language.Fixpoint.Horn.Types.Cstr a+instance Language.Fixpoint.Horn.Transformations.Flatten [Language.Fixpoint.Horn.Types.Cstr]+ = Language.Fixpoint.Horn.Transformations.$fFlattenCstr+instance Language.Fixpoint.Horn.Transformations.Flatten [Language.Fixpoint.Horn.Types.Pred]+ = Language.Fixpoint.Horn.Transformations.$fFlattenPred+instance Language.Fixpoint.Horn.Transformations.Flatten [[]]+ = Language.Fixpoint.Horn.Transformations.$fFlatten[]+instance Language.Fixpoint.Horn.Transformations.Flatten [[]]+ = Language.Fixpoint.Horn.Transformations.$fFlatten[]0+instance [orphan] Language.Fixpoint.Types.Refinements.Subable [Language.Fixpoint.Horn.Types.Bind]+ = Language.Fixpoint.Horn.Transformations.$fSubableBind+instance [orphan] Language.Fixpoint.Types.Refinements.Subable [Language.Fixpoint.Horn.Types.Pred]+ = Language.Fixpoint.Horn.Transformations.$fSubablePred+instance [orphan] Language.Fixpoint.Types.Visitor.Visitable [Language.Fixpoint.Horn.Types.Cstr]+ = Language.Fixpoint.Horn.Transformations.$fVisitableCstr+instance [orphan] Language.Fixpoint.Types.Visitor.Visitable [Language.Fixpoint.Horn.Types.Pred]+ = Language.Fixpoint.Horn.Transformations.$fVisitablePred+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,707 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:46.973783 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Horn.Types [family instance module] 8065+ interface hash: 4880d42d9c46d46216e38f37035708f3+ ABI hash: 0ae363ed255ece99a3de1063ec58a439+ export-list hash: 9b0de31aa69a6babffad4da85add20a8+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: f0c339b2a0700d2422a10112f2d9778e+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Horn.Types.cLabel+ Language.Fixpoint.Horn.Types.dummyBind+ Language.Fixpoint.Horn.Types.okCstr+ Language.Fixpoint.Horn.Types.quals+ Language.Fixpoint.Horn.Types.Bind{Language.Fixpoint.Horn.Types.Bind bPred bSort bSym}+ Language.Fixpoint.Horn.Types.Cstr{Language.Fixpoint.Horn.Types.All Language.Fixpoint.Horn.Types.Any Language.Fixpoint.Horn.Types.CAnd Language.Fixpoint.Horn.Types.Head}+ Language.Fixpoint.Horn.Types.Pred{Language.Fixpoint.Horn.Types.PAnd Language.Fixpoint.Horn.Types.Reft Language.Fixpoint.Horn.Types.Var}+ Language.Fixpoint.Horn.Types.Query{Language.Fixpoint.Horn.Types.Query qCon qCstr qDis qQuals qVars}+ Language.Fixpoint.Horn.Types.Var{Language.Fixpoint.Horn.Types.HVar hvArgs hvMeta hvName}+module dependencies: Language.Fixpoint.Misc 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Utils.Files Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2 unix-2.7.2.2+ unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Data 2949b01dc3799f9122535900668dfcef+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Typeable 1095be85dd9009a6503a3981a259490e+import -/ base-4.12.0.0:Data.Typeable.Internal e1cb15df401654131814917774d4d7ed+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ hashNub ffbfe6b323d9b9a6b0c8a57a5eb3b302+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ Qualifier 9aae2bcc537b45559d03a4eee2bb72e5+ mkQ efbd7d0eadf5b297611bd0cc8257edde+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ SEnv 7b76b1b3898bd64fc8c2187c261c0f80+ emptySEnv 9f2c7c962f68c35c8835c06a06f1db76+ insertSEnv 4288c53866870f2766a71eff8924b8fb+ lookupSEnv 94599d47b6378649795b045198f42e89+import -/ Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+ panic 87059ab6cc1a67158dab0a23bc2c22e7+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+ dummySymbol 511b7e2d64aed867c4c005991f9f72f8+ symbolString 8b7e66ffe1373b3c8eea5ece172dd4c9+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ pprintPrec b295810b8feece8a8ed0eedbebc0051f+ showpp a9f79fc9a75f72593341c16b4b8ac492+ tracepp 8899c37de114d5de26a0fa6bae58ac89+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ Expr 58dd7eff6040aa97f060415235c6cb01+ conjuncts 62dbde6d56cf10a600838f12dff254d8+ syms cedb5518769db9d49f4ce507184c5e1f+ vv_ 84a95ce75000c5743a32bad10c33f3cc+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ intSort ab1a8687c0d53db967e03c16ee505e9c+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ dummyPos cec780948f0543a3aa56a856d0978b96+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ syb-0.7:Data.Generics f4bddd07fe7227d2509acad55f9ff82d+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+193a8da174f543b2ef448a31321a0e0a+ $fDataBind :: Data.Data.Data Language.Fixpoint.Horn.Types.Bind+ DFunId+193a8da174f543b2ef448a31321a0e0a+ $fDataCstr ::+ Data.Data.Data a =>+ Data.Data.Data (Language.Fixpoint.Horn.Types.Cstr a)+ DFunId+d1e3c9d23c9780cb1438b15d925e1c45+ $fDataPred :: Data.Data.Data Language.Fixpoint.Horn.Types.Pred+ DFunId+193a8da174f543b2ef448a31321a0e0a+ $fDataQuery ::+ Data.Data.Data a =>+ Data.Data.Data (Language.Fixpoint.Horn.Types.Query a)+ DFunId+49693393b4058ba73f4195bdab9e37ae+ $fDataVar ::+ Data.Data.Data a =>+ Data.Data.Data (Language.Fixpoint.Horn.Types.Var a)+ DFunId+193a8da174f543b2ef448a31321a0e0a+ $fEqBind :: GHC.Classes.Eq Language.Fixpoint.Horn.Types.Bind+ DFunId+193a8da174f543b2ef448a31321a0e0a+ $fEqCstr ::+ GHC.Classes.Eq a =>+ GHC.Classes.Eq (Language.Fixpoint.Horn.Types.Cstr a)+ DFunId+d1e3c9d23c9780cb1438b15d925e1c45+ $fEqPred :: GHC.Classes.Eq Language.Fixpoint.Horn.Types.Pred+ DFunId+49693393b4058ba73f4195bdab9e37ae+ $fEqVar ::+ GHC.Classes.Eq a =>+ GHC.Classes.Eq (Language.Fixpoint.Horn.Types.Var a)+ DFunId+193a8da174f543b2ef448a31321a0e0a+ $fFunctorCstr :: GHC.Base.Functor Language.Fixpoint.Horn.Types.Cstr+ DFunId+193a8da174f543b2ef448a31321a0e0a+ $fFunctorQuery ::+ GHC.Base.Functor Language.Fixpoint.Horn.Types.Query+ DFunId+49693393b4058ba73f4195bdab9e37ae+ $fFunctorVar :: GHC.Base.Functor Language.Fixpoint.Horn.Types.Var+ DFunId+193a8da174f543b2ef448a31321a0e0a+ $fGenericBind ::+ GHC.Generics.Generic Language.Fixpoint.Horn.Types.Bind+ DFunId+193a8da174f543b2ef448a31321a0e0a+ $fGenericCstr ::+ GHC.Generics.Generic (Language.Fixpoint.Horn.Types.Cstr a)+ DFunId+d1e3c9d23c9780cb1438b15d925e1c45+ $fGenericPred ::+ GHC.Generics.Generic Language.Fixpoint.Horn.Types.Pred+ DFunId+193a8da174f543b2ef448a31321a0e0a+ $fGenericQuery ::+ GHC.Generics.Generic (Language.Fixpoint.Horn.Types.Query a)+ DFunId+49693393b4058ba73f4195bdab9e37ae+ $fGenericVar ::+ GHC.Generics.Generic (Language.Fixpoint.Horn.Types.Var a)+ DFunId+d1e3c9d23c9780cb1438b15d925e1c45+ $fMonoidPred :: GHC.Base.Monoid Language.Fixpoint.Horn.Types.Pred+ DFunId+49693393b4058ba73f4195bdab9e37ae+ $fOrdVar ::+ GHC.Classes.Ord a =>+ GHC.Classes.Ord (Language.Fixpoint.Horn.Types.Var a)+ DFunId+193a8da174f543b2ef448a31321a0e0a+ $fPPrintBind ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Horn.Types.Bind+ DFunId+193a8da174f543b2ef448a31321a0e0a+ $fPPrintCstr ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Language.Fixpoint.Horn.Types.Cstr a)+ DFunId+d1e3c9d23c9780cb1438b15d925e1c45+ $fPPrintPred ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Horn.Types.Pred+ DFunId+49693393b4058ba73f4195bdab9e37ae+ $fPPrintVar ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Language.Fixpoint.Horn.Types.Var a)+ DFunId+d1e3c9d23c9780cb1438b15d925e1c45+ $fSemigroupPred ::+ GHC.Base.Semigroup Language.Fixpoint.Horn.Types.Pred+ DFunId+193a8da174f543b2ef448a31321a0e0a+ $fShowBind :: GHC.Show.Show Language.Fixpoint.Horn.Types.Bind+ DFunId+193a8da174f543b2ef448a31321a0e0a+ $fShowCstr :: GHC.Show.Show (Language.Fixpoint.Horn.Types.Cstr a)+ DFunId+d1e3c9d23c9780cb1438b15d925e1c45+ $fShowPred :: GHC.Show.Show Language.Fixpoint.Horn.Types.Pred+ DFunId+49693393b4058ba73f4195bdab9e37ae+ $fShowVar :: GHC.Show.Show (Language.Fixpoint.Horn.Types.Var a)+ DFunId+12578ca4fc1beb3e7af78efdfa8b1945+ $tc'All :: GHC.Types.TyCon+02a4ccf16e7e750de9fea6f8efadeada+ $tc'Any :: GHC.Types.TyCon+c569a7a53d4bb44e60c68625781f08c1+ $tc'Bind :: GHC.Types.TyCon+6c14bacb11f6749d62da6105c7dbb9b4+ $tc'CAnd :: GHC.Types.TyCon+3be1bce45d4bc2ca34fada0a9b0d7cdc+ $tc'HVar :: GHC.Types.TyCon+11333521412999e3370b903818feaeff+ $tc'Head :: GHC.Types.TyCon+7edf05e8a1338f37cd0cfa1ea1f98d6e+ $tc'PAnd :: GHC.Types.TyCon+837e95b9e6002b8aa211b541fd8c55fd+ $tc'Query :: GHC.Types.TyCon+fd93f60281627563f7a2107ae29cc6bc+ $tc'Reft :: GHC.Types.TyCon+2ed8a0201560633a645c5933726c48fd+ $tc'Var :: GHC.Types.TyCon+929aa8299361641adf439c01af9623b8+ $tcBind :: GHC.Types.TyCon+b3f05d2c9bbedd888672ffb51aad890c+ $tcCstr :: GHC.Types.TyCon+f06bded93fad1166772315adb93a9efd+ $tcPred :: GHC.Types.TyCon+79605593779becc03776a5391e87fcb2+ $tcQuery :: GHC.Types.TyCon+dfb97a9401f3d1f985c458a055353866+ $tcVar :: GHC.Types.TyCon+35579b299c7a0081083a7a99c43d1975+ $trModule :: GHC.Types.Module+193a8da174f543b2ef448a31321a0e0a+ data Bind+ = Bind {bSym :: !Language.Fixpoint.Types.Names.Symbol,+ bSort :: !Language.Fixpoint.Types.Sorts.Sort,+ bPred :: !Language.Fixpoint.Horn.Types.Pred}+193a8da174f543b2ef448a31321a0e0a+ data Cstr a+ = Head !Language.Fixpoint.Horn.Types.Pred a+ | CAnd ![Language.Fixpoint.Horn.Types.Cstr a]+ | All !Language.Fixpoint.Horn.Types.Bind+ !(Language.Fixpoint.Horn.Types.Cstr a)+ | Any !Language.Fixpoint.Horn.Types.Bind+ !(Language.Fixpoint.Horn.Types.Cstr a)+d1e3c9d23c9780cb1438b15d925e1c45+ data Pred+ = Reft !Language.Fixpoint.Types.Refinements.Expr+ | Var !Language.Fixpoint.Types.Names.Symbol+ ![Language.Fixpoint.Types.Names.Symbol]+ | PAnd ![Language.Fixpoint.Horn.Types.Pred]+193a8da174f543b2ef448a31321a0e0a+ data Query a+ = Query {qQuals :: ![Language.Fixpoint.Types.Constraints.Qualifier],+ qVars :: ![Language.Fixpoint.Horn.Types.Var a],+ qCstr :: !(Language.Fixpoint.Horn.Types.Cstr a),+ qCon :: Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Sorts.Sort,+ qDis :: Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Sorts.Sort}+193a8da174f543b2ef448a31321a0e0a+ axiom Language.Fixpoint.Horn.Types.Rep_Bind::+ GHC.Generics.Rep Language.Fixpoint.Horn.Types.Bind+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Bind"+ "Language.Fixpoint.Horn.Types"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Bind" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "bSym")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "bSort")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Sorts.Sort)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "bPred")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Horn.Types.Pred))))+193a8da174f543b2ef448a31321a0e0a+ axiom Language.Fixpoint.Horn.Types.Rep_Cstr::+ GHC.Generics.Rep (Language.Fixpoint.Horn.Types.Cstr a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Cstr"+ "Language.Fixpoint.Horn.Types"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Head" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Horn.Types.Pred)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 a))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "CAnd" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 [Language.Fixpoint.Horn.Types.Cstr a])))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "All" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Horn.Types.Bind)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Horn.Types.Cstr a)))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Any" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Horn.Types.Bind)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Horn.Types.Cstr+ a)))))+d1e3c9d23c9780cb1438b15d925e1c45+ axiom Language.Fixpoint.Horn.Types.Rep_Pred::+ GHC.Generics.Rep Language.Fixpoint.Horn.Types.Pred+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Pred"+ "Language.Fixpoint.Horn.Types"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Reft" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.Expr))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Var" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [Language.Fixpoint.Types.Names.Symbol]))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PAnd" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [Language.Fixpoint.Horn.Types.Pred]))))+193a8da174f543b2ef448a31321a0e0a+ axiom Language.Fixpoint.Horn.Types.Rep_Query::+ GHC.Generics.Rep (Language.Fixpoint.Horn.Types.Query a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Query"+ "Language.Fixpoint.Horn.Types"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Query" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "qQuals")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 [Language.Fixpoint.Types.Constraints.Qualifier])+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "qVars")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 [Language.Fixpoint.Horn.Types.Var a]))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "qCstr")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 (Language.Fixpoint.Horn.Types.Cstr a))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "qCon")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Sorts.Sort))+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "qDis")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Sorts.Sort))))))+49693393b4058ba73f4195bdab9e37ae+ axiom Language.Fixpoint.Horn.Types.Rep_Var::+ GHC.Generics.Rep (Language.Fixpoint.Horn.Types.Var a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Var"+ "Language.Fixpoint.Horn.Types"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "HVar" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "hvName")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "hvArgs")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 [Language.Fixpoint.Types.Sorts.Sort])+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "hvMeta")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 a))))+49693393b4058ba73f4195bdab9e37ae+ data Var a+ = HVar {hvName :: !Language.Fixpoint.Types.Names.Symbol,+ hvArgs :: ![Language.Fixpoint.Types.Sorts.Sort],+ hvMeta :: a}+193a8da174f543b2ef448a31321a0e0a+ bPred ::+ Language.Fixpoint.Horn.Types.Bind+ -> Language.Fixpoint.Horn.Types.Pred+ RecSel Left Language.Fixpoint.Horn.Types.Bind+193a8da174f543b2ef448a31321a0e0a+ bSort ::+ Language.Fixpoint.Horn.Types.Bind+ -> Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Horn.Types.Bind+193a8da174f543b2ef448a31321a0e0a+ bSym ::+ Language.Fixpoint.Horn.Types.Bind+ -> Language.Fixpoint.Types.Names.Symbol+ RecSel Left Language.Fixpoint.Horn.Types.Bind+4c516ed871836729e5bbc24604fe9dc1+ cLabel :: Language.Fixpoint.Horn.Types.Cstr a -> a+ba958beb1ae24725314ed77315fcc626+ dummyBind :: Language.Fixpoint.Horn.Types.Bind+49693393b4058ba73f4195bdab9e37ae+ hvArgs ::+ Language.Fixpoint.Horn.Types.Var a+ -> [Language.Fixpoint.Types.Sorts.Sort]+ RecSel Left Language.Fixpoint.Horn.Types.Var+49693393b4058ba73f4195bdab9e37ae+ hvMeta :: Language.Fixpoint.Horn.Types.Var a -> a+ RecSel Left Language.Fixpoint.Horn.Types.Var+49693393b4058ba73f4195bdab9e37ae+ hvName ::+ Language.Fixpoint.Horn.Types.Var a+ -> Language.Fixpoint.Types.Names.Symbol+ RecSel Left Language.Fixpoint.Horn.Types.Var+46880442e65296b3aeb4c62ee400b490+ okCstr :: Language.Fixpoint.Horn.Types.Cstr a -> GHC.Types.Bool+193a8da174f543b2ef448a31321a0e0a+ qCon ::+ Language.Fixpoint.Horn.Types.Query a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Horn.Types.Query+193a8da174f543b2ef448a31321a0e0a+ qCstr ::+ Language.Fixpoint.Horn.Types.Query a+ -> Language.Fixpoint.Horn.Types.Cstr a+ RecSel Left Language.Fixpoint.Horn.Types.Query+193a8da174f543b2ef448a31321a0e0a+ qDis ::+ Language.Fixpoint.Horn.Types.Query a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Horn.Types.Query+193a8da174f543b2ef448a31321a0e0a+ qQuals ::+ Language.Fixpoint.Horn.Types.Query a+ -> [Language.Fixpoint.Types.Constraints.Qualifier]+ RecSel Left Language.Fixpoint.Horn.Types.Query+193a8da174f543b2ef448a31321a0e0a+ qVars ::+ Language.Fixpoint.Horn.Types.Query a+ -> [Language.Fixpoint.Horn.Types.Var a]+ RecSel Left Language.Fixpoint.Horn.Types.Query+bc1d2039db25c5a86045cb50c09d8ade+ quals ::+ Language.Fixpoint.Horn.Types.Cstr a+ -> [Language.Fixpoint.Types.Constraints.Qualifier]+instance Data.Data.Data [Language.Fixpoint.Horn.Types.Bind]+ = Language.Fixpoint.Horn.Types.$fDataBind+instance Data.Data.Data [Language.Fixpoint.Horn.Types.Cstr]+ = Language.Fixpoint.Horn.Types.$fDataCstr+instance Data.Data.Data [Language.Fixpoint.Horn.Types.Pred]+ = Language.Fixpoint.Horn.Types.$fDataPred+instance Data.Data.Data [Language.Fixpoint.Horn.Types.Query]+ = Language.Fixpoint.Horn.Types.$fDataQuery+instance Data.Data.Data [Language.Fixpoint.Horn.Types.Var]+ = Language.Fixpoint.Horn.Types.$fDataVar+instance GHC.Classes.Eq [Language.Fixpoint.Horn.Types.Bind]+ = Language.Fixpoint.Horn.Types.$fEqBind+instance GHC.Classes.Eq [Language.Fixpoint.Horn.Types.Cstr]+ = Language.Fixpoint.Horn.Types.$fEqCstr+instance GHC.Classes.Eq [Language.Fixpoint.Horn.Types.Pred]+ = Language.Fixpoint.Horn.Types.$fEqPred+instance GHC.Classes.Eq [Language.Fixpoint.Horn.Types.Var]+ = Language.Fixpoint.Horn.Types.$fEqVar+instance GHC.Base.Functor [Language.Fixpoint.Horn.Types.Cstr]+ = Language.Fixpoint.Horn.Types.$fFunctorCstr+instance GHC.Base.Functor [Language.Fixpoint.Horn.Types.Query]+ = Language.Fixpoint.Horn.Types.$fFunctorQuery+instance GHC.Base.Functor [Language.Fixpoint.Horn.Types.Var]+ = Language.Fixpoint.Horn.Types.$fFunctorVar+instance GHC.Generics.Generic [Language.Fixpoint.Horn.Types.Bind]+ = Language.Fixpoint.Horn.Types.$fGenericBind+instance GHC.Generics.Generic [Language.Fixpoint.Horn.Types.Cstr]+ = Language.Fixpoint.Horn.Types.$fGenericCstr+instance GHC.Generics.Generic [Language.Fixpoint.Horn.Types.Pred]+ = Language.Fixpoint.Horn.Types.$fGenericPred+instance GHC.Generics.Generic [Language.Fixpoint.Horn.Types.Query]+ = Language.Fixpoint.Horn.Types.$fGenericQuery+instance GHC.Generics.Generic [Language.Fixpoint.Horn.Types.Var]+ = Language.Fixpoint.Horn.Types.$fGenericVar+instance GHC.Base.Monoid [Language.Fixpoint.Horn.Types.Pred]+ = Language.Fixpoint.Horn.Types.$fMonoidPred+instance GHC.Classes.Ord [Language.Fixpoint.Horn.Types.Var]+ = Language.Fixpoint.Horn.Types.$fOrdVar+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Horn.Types.Bind]+ = Language.Fixpoint.Horn.Types.$fPPrintBind+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Horn.Types.Cstr]+ = Language.Fixpoint.Horn.Types.$fPPrintCstr+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Horn.Types.Pred]+ = Language.Fixpoint.Horn.Types.$fPPrintPred+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Horn.Types.Var]+ = Language.Fixpoint.Horn.Types.$fPPrintVar+instance GHC.Base.Semigroup [Language.Fixpoint.Horn.Types.Pred]+ = Language.Fixpoint.Horn.Types.$fSemigroupPred+instance GHC.Show.Show [Language.Fixpoint.Horn.Types.Bind]+ = Language.Fixpoint.Horn.Types.$fShowBind+instance GHC.Show.Show [Language.Fixpoint.Horn.Types.Cstr]+ = Language.Fixpoint.Horn.Types.$fShowCstr+instance GHC.Show.Show [Language.Fixpoint.Horn.Types.Pred]+ = Language.Fixpoint.Horn.Types.$fShowPred+instance GHC.Show.Show [Language.Fixpoint.Horn.Types.Var]+ = Language.Fixpoint.Horn.Types.$fShowVar+family instance GHC.Generics.Rep [Language.Fixpoint.Horn.Types.Query]+ = Language.Fixpoint.Horn.Types.Rep_Query+family instance GHC.Generics.Rep [Language.Fixpoint.Horn.Types.Cstr]+ = Language.Fixpoint.Horn.Types.Rep_Cstr+family instance GHC.Generics.Rep [Language.Fixpoint.Horn.Types.Bind]+ = Language.Fixpoint.Horn.Types.Rep_Bind+family instance GHC.Generics.Rep [Language.Fixpoint.Horn.Types.Pred]+ = Language.Fixpoint.Horn.Types.Rep_Pred+family instance GHC.Generics.Rep [Language.Fixpoint.Horn.Types.Var]+ = Language.Fixpoint.Horn.Types.Rep_Var+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,204 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:54.93774 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Minimize 8065+ interface hash: fe879c4a86a73acd220874da875c7757+ ABI hash: e941bb6b52946ad1ad891537e1cb7464+ export-list hash: 3c339244b0eac7c117bb24be10fa31cb+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: aa3545f85ba0f0dbcefcd35c641d921f+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Minimize.minKvars+ Language.Fixpoint.Minimize.minQuals+ Language.Fixpoint.Minimize.minQuery+module dependencies: Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.SortCheck 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ fgl-5.7.0.1 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Real af2b985dd29515c375fb78b2c9298d42+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Graph 59334fea55dc8d64130719f78eeb5109+ exports: 70a8f3bb9be3a7f9430fb829908b4dcf+import -/ Language.Fixpoint.Graph.Partition 10b792bb9300a0bfeef35f9a6335155b+ partition' 604dec4b5afaf691202e7ed2938aa872+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ safeHead dcdb2c8e020a5390eda7caeb23102929+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+ minimize 3988ec36858b82afed711ea7ff67ff00+ minimizeKs 3988ec36858b82afed711ea7ff67ff00+ minimizeQs 3988ec36858b82afed711ea7ff67ff00+ queryFile 24dfc95af04dba576b5be5b6594619e1+ srcFile 3988ec36858b82afed711ea7ff67ff00+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ FInfo b6d52641b5c0c13c0e61844e2114eb16+ Result 9b37020b88a84332f42c4a4efcccc0c2+ Solver 5f11195f89eea9e971cb52093960dc22+ cm 90ef96c47f269969affd7c3639af34f3+ isSafe ccdd8b8057f79a12e91c390f27a8ab7c+ quals 90ef96c47f269969affd7c3639af34f3+ saveQuery 547dfa1885614d5beeb6bfd5ba6a1b3c+ srhs 1844afeba4cbd3ee9cea173e868f8ce9+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ PTrue 1c366fec6a192dc993b90d2b711bd4f4+ isNonTrivial 3a097c5f9ea6e7dca22bab5a2f3df362+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ mapKVars af441d27aeda370329d09896076c30f8+import -/ Language.Fixpoint.Utils.Files b2b779ebebf03f66af4a684b17d25d25+ exports: 061e3dd63eb42c6c413f2db46ae3d0cb+ Ext 2200547bd69549ec4bc703e1fe4c80e1+ Min 8e69d4d116f2f13abcecb39697611507+ MinKVars 17a5f90333cf9c377ced1cd641e52d83+ MinQuals 8e167890ad501626176bce2109a259a5+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+ba5efe9dd46e43893b0470d36e565190+ $trModule :: GHC.Types.Module+b2e4aa6c4f3a8097a50a7ab2de7d2943+ type Oracle a c =+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.Solver a+ -> Language.Fixpoint.Types.Constraints.FInfo a+ -> [c]+ -> GHC.Types.IO GHC.Types.Bool+9eff144d27bd764e1971ce9b28fa54e4+ minKvars ::+ (Control.DeepSeq.NFData a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a) =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.Solver a+ -> Language.Fixpoint.Types.Constraints.FInfo a+ -> GHC.Types.IO+ (Language.Fixpoint.Types.Constraints.Result+ (GHC.Integer.Type.Integer, a))+667f6a6a437290acf0ee4cb8ef93292b+ minQuals ::+ (Control.DeepSeq.NFData a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a) =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.Solver a+ -> Language.Fixpoint.Types.Constraints.FInfo a+ -> GHC.Types.IO+ (Language.Fixpoint.Types.Constraints.Result+ (GHC.Integer.Type.Integer, a))+82a6cea7516f24f1e6679a5bd62453c3+ minQuery ::+ (Control.DeepSeq.NFData a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a) =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.Solver a+ -> Language.Fixpoint.Types.Constraints.FInfo a+ -> GHC.Types.IO+ (Language.Fixpoint.Types.Constraints.Result+ (GHC.Integer.Type.Integer, a))+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,471 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:22.227491 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Misc 8065+ interface hash: cb2b644b06b89893e8cef24046978f8d+ ABI hash: 1a50b0be98f5d556c823a27b0843feb5+ export-list hash: c71e07620cb71e48240d161f1a37aa5e+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 4130aeff2438b4b2b195f2352acf0f48+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Misc.<$$>+ Language.Fixpoint.Misc.<<=+ Language.Fixpoint.Misc.=>>+ Language.Fixpoint.Misc.allCombinations+ Language.Fixpoint.Misc.allMap+ Language.Fixpoint.Misc.applyNonNull+ Language.Fixpoint.Misc.argMin+ Language.Fixpoint.Misc.arrow+ Language.Fixpoint.Misc.asyncMapM+ Language.Fixpoint.Misc.coalesce+ Language.Fixpoint.Misc.coalesceEdges+ Language.Fixpoint.Misc.colorPhaseLn+ Language.Fixpoint.Misc.colorStrLn+ Language.Fixpoint.Misc.componentsWith+ Language.Fixpoint.Misc.count+ Language.Fixpoint.Misc.dcolon+ Language.Fixpoint.Misc.doneLine+ Language.Fixpoint.Misc.donePhase+ Language.Fixpoint.Misc.duplicates+ Language.Fixpoint.Misc.editDistance+ Language.Fixpoint.Misc.ensurePath+ Language.Fixpoint.Misc.errorP+ Language.Fixpoint.Misc.errorstar+ Language.Fixpoint.Misc.exTopo+ Language.Fixpoint.Misc.executeShellCommand+ Language.Fixpoint.Misc.fM+ Language.Fixpoint.Misc.findNearest+ Language.Fixpoint.Misc.firstMaybe+ Language.Fixpoint.Misc.fold1M+ Language.Fixpoint.Misc.fst3+ Language.Fixpoint.Misc.getUniqueInt+ Language.Fixpoint.Misc.group+ Language.Fixpoint.Misc.groupBase+ Language.Fixpoint.Misc.groupList+ Language.Fixpoint.Misc.groupMap+ Language.Fixpoint.Misc.hashMapToAscList+ Language.Fixpoint.Misc.hashNub+ Language.Fixpoint.Misc.hashNubWith+ Language.Fixpoint.Misc.headMb+ Language.Fixpoint.Misc.ifM+ Language.Fixpoint.Misc.inserts+ Language.Fixpoint.Misc.intersperse+ Language.Fixpoint.Misc.isRight+ Language.Fixpoint.Misc.mapEither+ Language.Fixpoint.Misc.mapFst+ Language.Fixpoint.Misc.mapSnd+ Language.Fixpoint.Misc.mfromJust+ Language.Fixpoint.Misc.mlookup+ Language.Fixpoint.Misc.moodColor+ Language.Fixpoint.Misc.nubDiff+ Language.Fixpoint.Misc.nubOrd+ Language.Fixpoint.Misc.pair+ Language.Fixpoint.Misc.powerset+ Language.Fixpoint.Misc.putBlankLn+ Language.Fixpoint.Misc.removes+ Language.Fixpoint.Misc.repeats+ Language.Fixpoint.Misc.revMapM+ Language.Fixpoint.Misc.safeFromList+ Language.Fixpoint.Misc.safeHead+ Language.Fixpoint.Misc.safeInit+ Language.Fixpoint.Misc.safeLast+ Language.Fixpoint.Misc.safeLookup+ Language.Fixpoint.Misc.safeUncons+ Language.Fixpoint.Misc.safeUnsnoc+ Language.Fixpoint.Misc.safeZip+ Language.Fixpoint.Misc.safeZipWith+ Language.Fixpoint.Misc.sccsWith+ Language.Fixpoint.Misc.secondM+ Language.Fixpoint.Misc.singleton+ Language.Fixpoint.Misc.snd3+ Language.Fixpoint.Misc.sortNub+ Language.Fixpoint.Misc.startPhase+ Language.Fixpoint.Misc.thd3+ Language.Fixpoint.Misc.topoSortWith+ Language.Fixpoint.Misc.traceShow+ Language.Fixpoint.Misc.triple+ Language.Fixpoint.Misc.tshow+ Language.Fixpoint.Misc.whenM+ Language.Fixpoint.Misc.withColor+ Language.Fixpoint.Misc.wrap+ Language.Fixpoint.Misc.wrapStars+ Language.Fixpoint.Misc.writeLoud+ Language.Fixpoint.Misc.EqHash+ Language.Fixpoint.Misc.ListNE+ Language.Fixpoint.Misc.Moods{Language.Fixpoint.Misc.Angry Language.Fixpoint.Misc.Happy Language.Fixpoint.Misc.Loud Language.Fixpoint.Misc.Ok Language.Fixpoint.Misc.Sad}+ Language.Fixpoint.Misc.|->+module dependencies: Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 bytestring-0.10.8.2 cmdargs-0.10.20+ colour-2.3.5 containers-0.6.0.1 deepseq-1.4.4.0 directory-1.3.3.0+ filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 pretty-1.1.3.6 process-1.6.5.0 stm-2.5.0.0+ text-1.2.3.1 time-1.8.0.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ ansi-terminal-0.8.2:System.Console.ANSI 4df89658d441a730678e2c7fdadab153+import -/ ansi-terminal-0.8.2:System.Console.ANSI.Types 93dadbe7f8cee741a808885db70b77d7+import -/ ansi-terminal-0.8.2:System.Console.ANSI.Unix 12fb57293ac645cb9a473fda213a4ac6+import -/ array-0.5.3.0:Data.Array 92f4b3399a96adb44649ce9a9d6cd419+import -/ async-2.2.1:Control.Concurrent.Async ecd5354e8c6efc2569b6e1bebd9be055+import -/ base-4.12.0.0:Control.Arrow cda881e865dd3141fb08ed18f2efcca7+import -/ base-4.12.0.0:Control.Exception 041da5b6267cf6b639ff5716d5b299a9+import -/ base-4.12.0.0:Control.Exception.Base 28f76dc5daa23d33c2b03285506ae9fc+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Either 423bee738f25e5ee983d072216009be8+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Function 739684530bf19978a9a47e63c494ac7b+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:Data.Unique b50cc307077f4dfe79605cfac84b4b7d+import -/ base-4.12.0.0:Debug.Trace 60f75ad789dcddb29321db1cb21ccd4c+import -/ base-4.12.0.0:GHC.Arr ec26aa94fff9ed31a6fa85d884b35f3c+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Err ea5e313ef4146b40b5d8b27aa168e736+import -/ base-4.12.0.0:GHC.IO 898d4ddbf00eb4732e5f462760aa42ae+import -/ base-4.12.0.0:GHC.IO.Exception 77722984940ee6ccf9e2f7dab10b83a4+import -/ base-4.12.0.0:GHC.IO.Handle fe51659cf05ea3ecd36fe5e2d515d89a+import -/ base-4.12.0.0:GHC.IO.Handle.FD 815f4d400e6239c7550e040518bdbf45+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:GHC.Stack 2e7ebbc83674265f5754688ee2a2c7af+import -/ base-4.12.0.0:GHC.Stack.Types cc5765ec7323d457f659b1d744594490+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.Exit 3c945ec7c596067c067092c41083c3d0+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ cmdargs-0.10.20:System.Console.CmdArgs.Verbosity fa5402dbe76d4158a9bd93730fac6d67+import -/ containers-0.6.0.1:Data.Graph 681805d2edd6844f7f403edb3665ef4a+import -/ containers-0.6.0.1:Data.Tree 241fc3b8487c8d8df54670f45b16e9e5+import -/ directory-1.3.3.0:System.Directory 49a915596c61b7c4c6db58cd4e1272c2+import -/ filepath-1.4.2.1:System.FilePath 15c54060cebd29621bfc77f7f6fce3ff+import -/ filepath-1.4.2.1:System.FilePath.Posix 807571ae31e154c61d0c6bb61ff8b097+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+ <-> a6bccb4500bca89f567c047995747774+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ process-1.6.5.0:System.Process 2e810cee2a417b14ed03c6fbb00362a9+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+addDependentFile "/Users/niki/.stack/programs/x86_64-osx/ghc-8.6.5/lib/ghc-8.6.5/include/ghcversion.h" 43db44f9bb88490c2fa995e5f5ec33f2+addDependentFile ".stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/autogen/cabal_macros.h" 5d4a89af56b14b9a96821af0abd9deca+43d8b4e46e02103f91bf763e63c99cb1+ $tc'Angry :: GHC.Types.TyCon+9c408466c63e77390fc1d1d2fc31d68a+ $tc'Happy :: GHC.Types.TyCon+6e261bcd2c6b2537d7b6dbe9448b504c+ $tc'Loud :: GHC.Types.TyCon+9c3bca5ddb19ea725adb4af6d3f5575d+ $tc'Ok :: GHC.Types.TyCon+42e82e620c3b92175d75bb7e38b11e5a+ $tc'Sad :: GHC.Types.TyCon+bbc26c645e8d429eb34684d2afab7499+ $tcMoods :: GHC.Types.TyCon+f58752b5e03291af414e9a5102a200b6+ $trModule :: GHC.Types.Module+f244c7fc8096aeb8cdce308fe12a467d+ (<$$>) :: GHC.Base.Monad m => (a -> m b) -> [a] -> m [b]+b1f65e3f844edc3bdb6d36249a6903fa+ (<<=) :: GHC.Base.Monad m => (b -> m a) -> m b -> m b+21ec24011fb4691ae5317942d8561057+ (=>>) :: GHC.Base.Monad m => m b -> (b -> m a) -> m b+79bdac5fefa8b4ed8831e4fda91014a1+ type EqHash a =+ (GHC.Classes.Eq a, GHC.Classes.Ord a,+ Data.Hashable.Class.Hashable a)+ :: GHC.Types.Constraint+34c095e41b29e7147eb4001d73367295+ type ListNE a = [a]+b7dbbbd191c6a2df3bc3a2a7ba79f5da+ data Moods = Ok | Loud | Sad | Happy | Angry+7d64122a596fe1d6aad34004bb377232+ allCombinations :: [[a]] -> [[a]]+32f15b851bfd0407331f74d69f0f6086+ allMap ::+ (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) =>+ (v -> GHC.Types.Bool)+ -> Data.HashMap.Base.HashMap k v -> GHC.Types.Bool+40b42461aae0e8b66421eafcc31fc750+ applyNonNull :: b -> ([a] -> b) -> [a] -> b+5792d9fb57b3dedd9e39e5ac248ffeb1+ argMin :: GHC.Classes.Ord k => [(k, v)] -> GHC.Maybe.Maybe v+5a4fc60f076797fa5668bf47ca130f4a+ arrow :: Text.PrettyPrint.HughesPJ.Doc+370bf19dc84bf4ffc8257d03329373c5+ asyncMapM :: (a -> GHC.Types.IO b) -> [a] -> GHC.Types.IO [b]+ab3a1791c20bfa18062187434ad6d461+ coalesce ::+ Language.Fixpoint.Misc.EqHash v =>+ [Language.Fixpoint.Misc.ListNE v]+ -> [Language.Fixpoint.Misc.ListNE v]+bdc482186df6891d89e542bdaef3d8d4+ coalesceEdges ::+ Language.Fixpoint.Misc.EqHash v =>+ [Language.Fixpoint.Misc.ListNE v] -> [(v, v, [v])]+3620422d0d4244ca35ddc1b3a0d190cc+ colorPhaseLn ::+ Language.Fixpoint.Misc.Moods+ -> GHC.Base.String -> GHC.Base.String -> GHC.Types.IO ()+94a997a5ff4a362d7dc6b86c7da76ad9+ colorStrLn ::+ Language.Fixpoint.Misc.Moods -> GHC.Base.String -> GHC.Types.IO ()+07b1e107ee5aa6a1c4cb57f6f7b9b347+ componentsWith ::+ GHC.Classes.Ord c => (a -> [(b, c, [c])]) -> a -> [[b]]+0e218eb0bd335b3db6cb1b4f7471e024+ count ::+ (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) =>+ [k] -> [(k, GHC.Types.Int)]+ba01109a6284d3ed091e5d8bb605afb3+ dcolon :: Text.PrettyPrint.HughesPJ.Doc+bc980f5e3558dde7c879446d612f697b+ doneLine ::+ Language.Fixpoint.Misc.Moods -> GHC.Base.String -> GHC.Types.IO ()+8c86f9b1cc5432363fae6c5796ca46cf+ donePhase ::+ Language.Fixpoint.Misc.Moods -> GHC.Base.String -> GHC.Types.IO ()+d1304ab040956004c9c6642b26f2fec2+ duplicates ::+ (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => [k] -> [k]+587ac5fa396a6a444285dff1b86b6779+ editDistance :: GHC.Classes.Eq a => [a] -> [a] -> GHC.Types.Int+b92908154869eb5d0777411abad08aef+ ensurePath :: GHC.IO.FilePath -> GHC.Types.IO ()+8b6641fabdff6a325292788280107bba+ errorP :: GHC.Base.String -> GHC.Base.String -> a+e47c2d482124b43e020a405f809adcff+ errorstar ::+ (?callStack::GHC.Stack.Types.CallStack) => GHC.Base.String -> a+5e7b02c8ba05a0d3fef8f569f0b9dae6+ exTopo :: [GHC.Types.Int]+a2788b454f25b4cbe8703a94d31a09c4+ executeShellCommand ::+ GHC.Base.String+ -> GHC.Base.String -> GHC.Types.IO GHC.IO.Exception.ExitCode+fc0ed533fb3547ed8f3e5e90f6f89b62+ fM :: GHC.Base.Monad m => (a -> b) -> a -> m b+af2763700611cd812d6c225fc141a362+ findNearest ::+ (GHC.Classes.Ord i, GHC.Num.Num i) =>+ i -> [(i, a)] -> GHC.Maybe.Maybe a+a87a0a57f92daf4b7959a9880ed114c3+ firstMaybe :: (a -> GHC.Maybe.Maybe b) -> [a] -> GHC.Maybe.Maybe b+6d8bfd028d8d4de7427ceaeed0c50080+ fold1M :: GHC.Base.Monad m => (a -> a -> m a) -> [a] -> m a+f5278b30747d6e9b343f3260d38ec0b3+ fst3 :: (a, b, c) -> a+87b3e9d985b668caa31e1a621eef5ba5+ getUniqueInt :: GHC.Types.IO GHC.Types.Int+89622853601fa33661a1ceef6d1ea621+ group ::+ (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) =>+ [(k, v)] -> Data.HashMap.Base.HashMap k [v]+70f3dbc2ff3e869f251f7434b809ce1b+ groupBase ::+ (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) =>+ Data.HashMap.Base.HashMap k [v]+ -> [(k, v)] -> Data.HashMap.Base.HashMap k [v]+89ce0af3d82aae7a2d9f3f3c1cde0d05+ groupList ::+ (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) =>+ [(k, v)] -> [(k, [v])]+135c39744041342903077ebc32cf0599+ groupMap ::+ (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) =>+ (a -> k) -> [a] -> Data.HashMap.Base.HashMap k [a]+9dc450088704c65ccbcd800833302942+ hashMapToAscList ::+ GHC.Classes.Ord a => Data.HashMap.Base.HashMap a b -> [(a, b)]+ffbfe6b323d9b9a6b0c8a57a5eb3b302+ hashNub ::+ (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => [k] -> [k]+05bb6b801bbee56eec8c492a88e0b78a+ hashNubWith ::+ (GHC.Classes.Eq b, Data.Hashable.Class.Hashable b) =>+ (a -> b) -> [a] -> [a]+35f3da58a3872671146237b30e9b2695+ headMb :: [a] -> GHC.Maybe.Maybe a+d7f050aeb10642f40c0b0be743e6fc74+ ifM :: GHC.Base.Monad m => m GHC.Types.Bool -> m a -> m a -> m a+7de1379eef9de67bec15b409215a296e+ inserts ::+ (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) =>+ k+ -> v+ -> Data.HashMap.Base.HashMap k [v]+ -> Data.HashMap.Base.HashMap k [v]+3560fd9d33e532745e7669346fe553d7+ intersperse ::+ Text.PrettyPrint.HughesPJ.Doc+ -> [Text.PrettyPrint.HughesPJ.Doc] -> Text.PrettyPrint.HughesPJ.Doc+f4551a792161e60315318922bc115578+ isRight :: Data.Either.Either a b -> GHC.Types.Bool+4383b15868765f1740092e71bb83e4b2+ mapEither :: (a -> Data.Either.Either b c) -> [a] -> ([b], [c])+a682b107c685b3ee1d7890f4d99a54b7+ mapFst :: (a -> c) -> (a, b) -> (c, b)+56a8c287203c2790b4db9115db2b9192+ mapSnd :: (b -> c) -> (a, b) -> (a, c)+9c8b28fdf1584226a8ed2f48418902d1+ mfromJust ::+ (?callStack::GHC.Stack.Types.CallStack) =>+ GHC.Base.String -> GHC.Maybe.Maybe a -> a+654d1c9b3eaae1610a3367570c91a4ac+ mlookup ::+ (?callStack::GHC.Stack.Types.CallStack, GHC.Classes.Eq k,+ GHC.Show.Show k, Data.Hashable.Class.Hashable k) =>+ Data.HashMap.Base.HashMap k v -> k -> v+61875c106e06dfc12aa695d75cc4d8b6+ moodColor ::+ Language.Fixpoint.Misc.Moods -> System.Console.ANSI.Types.Color+6c1e2ed188278bb0c29202c8108eada9+ nubDiff ::+ (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a) =>+ [a] -> [a] -> Data.HashSet.HashSet a+3df5ee71618a0821bf8c46d3e97a9934+ nubOrd :: GHC.Classes.Eq a => [a] -> [a]+a0ea80ee10f6057dcc06b897c1fa82a3+ pair :: a -> a -> [a]+f6f97c36e421afcbe642f8c629a9ff2a+ powerset :: [a] -> [[a]]+599431e910c9da5be1b342255407635f+ putBlankLn :: GHC.Types.IO ()+4683717e765f64eba96ee60a912fe364+ removes ::+ (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k,+ GHC.Classes.Eq v) =>+ k+ -> v+ -> Data.HashMap.Base.HashMap k [v]+ -> Data.HashMap.Base.HashMap k [v]+dd43dc3ba61c5bfe57b1ea4be71b71ec+ repeats :: GHC.Types.Int -> [a] -> [a]+bc8a91dc477b39d09c9488d950d9a908+ revMapM :: GHC.Base.Monad m => (a -> m b) -> [a] -> m [b]+ffb512f65f2eeddc9493ad364e135e8d+ safeFromList ::+ (?callStack::GHC.Stack.Types.CallStack, GHC.Classes.Eq k,+ Data.Hashable.Class.Hashable k, GHC.Show.Show k) =>+ GHC.Base.String -> [(k, v)] -> Data.HashMap.Base.HashMap k v+dcdb2c8e020a5390eda7caeb23102929+ safeHead ::+ (?callStack::GHC.Stack.Types.CallStack) =>+ GHC.Base.String -> Language.Fixpoint.Misc.ListNE a -> a+0c0155120d58a3a9d08d7b7f94c7c537+ safeInit ::+ (?callStack::GHC.Stack.Types.CallStack) =>+ GHC.Base.String -> Language.Fixpoint.Misc.ListNE a -> [a]+c9ab5c83087bbf6cd016b1d44fd496ea+ safeLast ::+ (?callStack::GHC.Stack.Types.CallStack) =>+ GHC.Base.String -> Language.Fixpoint.Misc.ListNE a -> a+de93685c8ce33b5619842061a589410f+ safeLookup ::+ (?callStack::GHC.Stack.Types.CallStack, GHC.Classes.Eq k,+ Data.Hashable.Class.Hashable k) =>+ GHC.Base.String -> k -> Data.HashMap.Base.HashMap k v -> v+1e3d0122d2ff8ea02076cc889c3ef1c0+ safeUncons ::+ (?callStack::GHC.Stack.Types.CallStack) =>+ GHC.Base.String -> Language.Fixpoint.Misc.ListNE a -> (a, [a])+f6034730d1ee3e0bed2e800af90a264d+ safeUnsnoc ::+ (?callStack::GHC.Stack.Types.CallStack) =>+ GHC.Base.String -> Language.Fixpoint.Misc.ListNE a -> ([a], a)+64cf942e02bda202dee1b52faca534f1+ safeZip ::+ (?callStack::GHC.Stack.Types.CallStack) =>+ GHC.Base.String -> [a] -> [b] -> [(a, b)]+3d58aa1a570afc5de511e2ee2308b8f0+ safeZipWith ::+ (?callStack::GHC.Stack.Types.CallStack) =>+ GHC.Base.String -> (a -> b -> c) -> [a] -> [b] -> [c]+ee0ce3d5a6bde0b3862fcf6587b87cf1+ sccsWith :: GHC.Classes.Ord v => (a -> (v, [v])) -> [a] -> [[a]]+769157a40c452ca0ad3ada0e937271df+ secondM :: GHC.Base.Functor f => (b -> f c) -> (a, b) -> f (a, c)+97b526e417a2b3b8195f25197f3181e9+ singleton :: a -> [a]+4148f6cf88913a5dcfb4f2521a1e63ca+ snd3 :: (a, b, c) -> b+7d73d874da71f31bd97dc544f8572fc4+ sortNub :: GHC.Classes.Ord a => [a] -> [a]+fbfbb890abf46cf054a7c8f1902dad5c+ startPhase ::+ Language.Fixpoint.Misc.Moods -> GHC.Base.String -> GHC.Types.IO ()+dfe29e2962bef4e3ce1a81bee4147489+ thd3 :: (a, b, c) -> c+ca252148d4b344142f646ae939deff89+ topoSortWith :: GHC.Classes.Ord v => (a -> (v, [v])) -> [a] -> [a]+5a966bc4722339ae23a5a94d9933f475+ traceShow :: GHC.Show.Show a => GHC.Base.String -> a -> a+84cf554fb4d9361caec7de506d1352bb+ triple :: a -> a -> a -> [a]+044dfce5ef708f72e5ca59e37dc09756+ tshow :: GHC.Show.Show a => a -> Text.PrettyPrint.HughesPJ.Doc+a3b69cfe2f4fe4d3b8d17685af1c8112+ whenM :: GHC.Base.Monad m => m GHC.Types.Bool -> m () -> m ()+79db8292f019cdece943f38c99855701+ withColor ::+ System.Console.ANSI.Types.Color+ -> GHC.Types.IO () -> GHC.Types.IO ()+d12ffeef035a47d87849891a6e05a16f+ wrap :: [a] -> [a] -> [a] -> [a]+50dd11ec15872773f4ad8289e894d1f6+ wrapStars :: GHC.Base.String -> GHC.Base.String+da0cc108bb5411bb5d6b91b83e620d3c+ writeLoud :: GHC.Base.String -> GHC.Types.IO ()+c7ce61710008a169af16044477857a27+ type (|->) a b = Data.HashMap.Base.HashMap a b+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,1022 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:45.06592 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Parse [family instance module] 8065+ interface hash: 7dd783e58a72a904195e9ba2f117efc3+ ABI hash: f8821d93a62aec9ae319d8a2deffc941+ export-list hash: c04662d065b8ef9661ceae7d7cc1940d+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 5c5e4a96d4f622a6cf7927703d133cbb+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Parse.addOperatorP+ Language.Fixpoint.Parse.angles+ Language.Fixpoint.Parse.bindP+ Language.Fixpoint.Parse.blanks+ Language.Fixpoint.Parse.braces+ Language.Fixpoint.Parse.brackets+ Language.Fixpoint.Parse.bvSortP+ Language.Fixpoint.Parse.colon+ Language.Fixpoint.Parse.comma+ Language.Fixpoint.Parse.condIdP+ Language.Fixpoint.Parse.constantP+ Language.Fixpoint.Parse.dataCtorP+ Language.Fixpoint.Parse.dataDeclP+ Language.Fixpoint.Parse.dataFieldP+ Language.Fixpoint.Parse.dcolon+ Language.Fixpoint.Parse.doParse'+ Language.Fixpoint.Parse.expr0P+ Language.Fixpoint.Parse.exprP+ Language.Fixpoint.Parse.freshIntP+ Language.Fixpoint.Parse.funAppP+ Language.Fixpoint.Parse.infixIdP+ Language.Fixpoint.Parse.initPState+ Language.Fixpoint.Parse.integer+ Language.Fixpoint.Parse.isNotReserved+ Language.Fixpoint.Parse.isSmall+ Language.Fixpoint.Parse.lexer+ Language.Fixpoint.Parse.locLowerIdP+ Language.Fixpoint.Parse.locParserP+ Language.Fixpoint.Parse.locUpperIdP+ Language.Fixpoint.Parse.lowerIdP+ Language.Fixpoint.Parse.pairP+ Language.Fixpoint.Parse.parens+ Language.Fixpoint.Parse.parseFromFile+ Language.Fixpoint.Parse.predP+ Language.Fixpoint.Parse.qualifierP+ Language.Fixpoint.Parse.refBindP+ Language.Fixpoint.Parse.refDefP+ Language.Fixpoint.Parse.refP+ Language.Fixpoint.Parse.refaP+ Language.Fixpoint.Parse.remainderP+ Language.Fixpoint.Parse.reserved+ Language.Fixpoint.Parse.reservedOp+ Language.Fixpoint.Parse.semi+ Language.Fixpoint.Parse.sortP+ Language.Fixpoint.Parse.stringLiteral+ Language.Fixpoint.Parse.symbolP+ Language.Fixpoint.Parse.upperIdP+ Language.Fixpoint.Parse.whiteSpace+ Language.Fixpoint.Types.Constraints.mkQual+ Language.Fixpoint.Parse.Fixity{Language.Fixpoint.Parse.FInfix Language.Fixpoint.Parse.FPostfix Language.Fixpoint.Parse.FPrefix fassoc fname fop1 fop2 fpred}+ Language.Fixpoint.Parse.Inputable{Language.Fixpoint.Parse.rr Language.Fixpoint.Parse.rr'}+ Language.Fixpoint.Parse.PState{Language.Fixpoint.Parse.PState empList fixityTable singList}+ Language.Fixpoint.Parse.Parser+ Text.Parsec.Expr.Assoc{Text.Parsec.Expr.AssocLeft Text.Parsec.Expr.AssocNone Text.Parsec.Expr.AssocRight}+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Bitvector 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Utils.Files Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2+ parsec-3.1.13.0 pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3+ stm-2.5.0.0 syb-0.7 text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show+ transformers-0.5.6.2:Control.Monad.Trans.Error+ base-4.12.0.0:GHC.Float base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Bitvector+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Char 74f67fe9150a102afa18766e840f6832+import -/ base-4.12.0.0:Data.Either 423bee738f25e5ee983d072216009be8+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Err ea5e313ef4146b40b5d8b27aa168e736+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Real af2b985dd29515c375fb78b2c9298d42+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:GHC.Unicode 87726eb81a3f9c9b22160a0afd5dc56a+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ safeFromList ffb512f65f2eeddc9493ad364e135e8d+ thd3 dfe29e2962bef4e3ce1a81bee4147489+ tshow 044dfce5ef708f72e5ca59e37dc09756+import -/ Language.Fixpoint.Smt.Bitvector 0078a7619ebc3de9a6aee2736af0b2d1+ exports: 58b7fd28e9cf74c90db1add211a337c5+ S32 1fd7700222bed6609d267aacc1383a3e+ S64 2a3cc19e674c9b15e69c05cd9a6d40d0+ mkSort a26127c3379b2d9fec924150ef9087de+import -/ Language.Fixpoint.Smt.Types 30a3f200618617e4fc3b128e7ad80e5a+ exports: 9d5346cc8b2fc98cde08d06579c7cca6+ Assert 67eb58b7de8e3adeaa64ca4678afbf28+ CheckSat 4bbed80577103afd6dda6e838ad01d87+ Command 9bb122f606f996c5adbb9f937fa876ad+ Distinct e66cdf03563bbc29c325f23bf4b8fd38+ Pop 788f42b70667cbe52afcaf862cbbb1e7+ Push 4e9c7fb32679eb0b51c8674414368263+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ AEnv 56f9be4c978247de6a3595796fc81e03+ Equation 1b8c537886bd491bbeaae4b7cdcd5c8f+ FI 3518e6a4d27cc8ba8ec50939541a64e6+ FIO ed7e8aa5b0d8c1f46398edcde27b7ca4+ FInfo b6d52641b5c0c13c0e61844e2114eb16+ FInfoWithOpts 803d2f995b056771c08edfce347cb407+ FixSolution e5dd9fe1547120a043f58991c78a60c9+ KS c004163eafe9de324416d6da5e3ad659+ PatExact 4997cde712f8b3b006e6d14dfc07eec6+ PatNone 25106c4b55ee4d12827f60ed4dc88939+ PatPrefix 2431df8abc1f8f326cf5585efe0fe441+ PatSuffix dbda5dcb30797388be311802bcc1eae7+ QP 66146f217745c702472b8c089e647bc1+ QualParam 9aae2bcc537b45559d03a4eee2bb72e5+ QualPattern df6d07f9885eb5e5b345a33c505d8e73+ Qualifier 9aae2bcc537b45559d03a4eee2bb72e5+ Rewrite 7df085a191521cbf745e28451770fe1d+ SMeasure 30aa4d5c1c10665274f0e03b73a2fa34+ SubC 1844afeba4cbd3ee9cea173e868f8ce9+ Tag f16c6ce3b8b49003401603dfb3b1715f+ WfC ad7a627c031dc594c719d4e423bdd067+ mkEquation f843a9ff66a208bb19d63b610e733ce1+ mkQual 76509e579d10d7c92e5c9239d180adff+ sid 81d85f14cb0bc67b2e1fd5d3402d56d8+ subC cec25e5a5c6c9453c38e61bb34dd080a+ wfC a9cd82721163b0b120fb316155322fb0+ wrft ad7a627c031dc594c719d4e423bdd067+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ IBindEnv b71d4c279d7a7920d70dd44bac0305aa+ bindEnvFromList 967550b3b3f55a80adc5bd8c64cfd4dc+ emptyIBindEnv 6cfa8d73992960a6ab6331f8d3b757ff+ fromListSEnv 22654f2135f1b607f7ee82962c09eb4c+ insertsIBindEnv dca3e4d95477ee71c84a2814faf94fea+import -/ Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+ exports: 89a9dc85e57ecc980170ae7cb32d2921+ Crash 8dce1b12135eab1786bee372065fb937+ FixResult c0716f0e4597e606e45487edbbbeea3f+ Safe d22144b54cf2a4f4ae6a38095fc7dbe3+ Unsafe f41fb70ee1e83c00b795f94fcef4262f+ die b694e04a36caf383107b8f2e73ae279e+ err eb62a315ab4ae2ad7c68e48fa9cd6513+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ LocSymbol e6d5fcd49dd2746d9598e2efb4f857d1+ Symbol 3f986d27cdf6315dd770c516fc00a643+ headSym 45e33a0ea41b31cae845977e74bcff61+ symChars c49e4d247ae1424252b6f052adf7c468+ symbol 8093c1d4f5a85b247a3a96c3fce3245c+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ pprint 955dc9d031db587300edf6146ac33be4+ simplify b57096eaf3d719a77fc26b0275953db4+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ Constant 77cbbec08e19a1217d2b733c8f08120e+ Div 09eefb562391cab23a1f4dcb4b3afda4+ EApp 54242238b0fd99173645e603ea6a95e1+ EBin 584c6077045554d53d7c9a89592b60d3+ EBot 9879ed750ccc5a4093abcf7f02058efd+ ECoerc d62592d9495e238bd832577950db4048+ ECon 5baa7919e17f9fc7e290e6ec391edfe0+ ECst 77d8fb760e457bfd124c455ed691c864+ EIte bcb7471d1eafba69c1a57099f120b1bb+ ELam e0029a0f9c90cfaf5ca8a8fc8de8a995+ ENeg c7c4772e5c9c737684dc4ada02f5ae77+ ESym 1e9d62c909ab81c24aa5b70ea45dd385+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Eq 3f11ae5b47578ad5a2c554235bd0e66b+ Expr 58dd7eff6040aa97f060415235c6cb01+ Ge 20def8c87168e6dfa6102e1e789292df+ Gt efc2101db1845d999f94f634dfaf1339+ I 90217a394fcf0061b39dc2e3fba98b11+ KV 9862585cb8815843a934d7dad38d665a+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ L cb92c00e18083bd8988b20d1d090bc2b+ Le b76eccc268995647ce696445ad0fc538+ Lt 0dd388ae9584ef1ec44c96b5c623d39e+ Minus 753b0ebcc781b33045da2534da8dbe54+ Mod 1b418826ebbc244a0849550273fecdeb+ Ne 8de2833323f56b086978249fd6265b9b+ PAnd 668269c725f0f517f2cefead144acbec+ PAtom efd69e8b2834a0937ec103ca6d2f2b7d+ PFalse e43985c1fbf5446eb7e361fefcd63600+ PGrad 550de568c0242ed5fa6ef66e4aa1194d+ PIff 2a17d6131a34fb2676761302524edfd8+ PImp 71d909aca81df6b76b372b30b2979f8d+ PKVar 00776deded6bdc1a9b45a9cd2ff73aa5+ PNot dd52d33c67ccd94ba2b9bc2daaf6153f+ POr 8896d8a5009f7964d0fb6a9c72eaff6c+ PTrue 1c366fec6a192dc993b90d2b711bd4f4+ Plus 9f396120748621b21fd37878d2f4db4b+ R 801e4115533995c5d14bb91969b23812+ RR bc18741bade52dfcbbbc2473e1b91821+ Reft 11628612f280bce553f9c182ec061ec6+ Reft 58dd7eff6040aa97f060415235c6cb01+ SL b7815bcf39c38f7dc8359ca076e863ec+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ Subst 58dd7eff6040aa97f060415235c6cb01+ SymConst 70bf9d44b2d107fffacade38f4990bd9+ Times 2ba8ff078e8f2a7d98c93cf423720bf2+ Ueq c1bef9e1715331b850d7aab346e55603+ Une 210ed236d1dc917037d1f78bf2a540d7+ eVar 78f3007f3bb9a0c61a30d1ab8e58f084+ expr bb69a3829a24dac6732a3d85fdbf277f+ mkEApp 12f29bdc1c6edf6c119c480e20519306+ pAnd d997a1bd3b1f67d4020526858eca07c4+ pGAnd d2264c1ad6b27b2aaf45fe2de8858841+ pGAnds fc359f38c8476ec7dc202dd5a7471437+ pIte 4813b34991f64b0e5d97e49a86a08e49+ srcGradInfo 3fc582010d3949798a67a95868ec248e+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ DCtor 83abb43312b463b0aab541d71e991649+ DDecl fa32e5752577cfb40168e5b5c1c85117+ DField 429b10dd092babacb22326bf6fb45b30+ DataCtor 90984d28a9f3c849d44b1ec37334f5cb+ DataDecl 90984d28a9f3c849d44b1ec37334f5cb+ DataField 842b037f4a3d7555ff8e2c17ccb73443+ FObj 1bb5d6e74aaa46fc1c29e2a322aa25fa+ FTycon 30d6fd7d99459ff88296e3b55c87b46c+ FVar a3c34a432d4203ec59fb1483b26cb260+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ boolFTyCon 16fb6d8210614fc05a3dd17e4b56e7de+ fApp c49e03b92bfc3b317f317f42b9427882+ fAppTC d1730a0e7e76ba505e7fb32cccadc22b+ intFTyCon 427efe970e81ec61d153671f94e1bbc6+ listFTyCon 300e5e0c35f513f011d66af81e99a681+ mkFFunc 7fc888cdee141d3972072d0738f6e6fc+ numFTyCon 0f72d23411d7c3f3edbbdcd1c330f7b0+ realFTyCon 6788f88268a6f66794a22f221cad4068+ strFTyCon c99941d4ded65186c0de5d73178fe143+ symbolFTycon 93c1f3a947f85ee0557577e72fb0c2a1+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ Loc 0a266231e9bb3b9aa09383fd7f3e48ff+ Located 98c2e3118bdcfbfec2dfd5f953f55cfd+ SS afc18641865e1d45f99679b3f3b93be2+ SrcSpan 30cdf4122b891cc575df90039bdcbecb+ dummySpan 4c3a1f24b19908507cae45f533bfffe9+import -/ Language.Fixpoint.Types.Substitutions 68389730f57eb1bd783731c1e8e83435+ mkSubst fa0e5a33f52a68ffd2f44ba8a067ca8c+import -/ mtl-2.2.2:Control.Monad.State 753def63fe8e937dc636f11e5230745a+import -/ mtl-2.2.2:Control.Monad.State.Class 243c828469104fb94563be0ea268f418+import -/ parsec-3.1.13.0:Text.Parsec 39c708f6ea8ba6a25ac6856fa0bd524b+import -/ parsec-3.1.13.0:Text.Parsec.Char 99c6373d285605efc5fd2c36564cef6e+import -/ parsec-3.1.13.0:Text.Parsec.Combinator 49575f55a63dd5c8ff4f34f8c448d167+import -/ parsec-3.1.13.0:Text.Parsec.Error 4a8413da9687799422dbd13c40cb4295+import -/ parsec-3.1.13.0:Text.Parsec.Expr 29da8bb30713129fcd2c15adf2ea5e51+import -/ parsec-3.1.13.0:Text.Parsec.Pos 61aa6625e3bc17c83ef95500ead7d960+import -/ parsec-3.1.13.0:Text.Parsec.Prim 0c85e47654f64ad8bae34fb738b44d0f+import -/ parsec-3.1.13.0:Text.Parsec.Token b9cfb29d80ae6145940e1d7fb3131a0c+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ text-1.2.3.1:Data.Text 681b9c3df5b4e4b4e23ef5f840f0b692+import -/ transformers-0.5.6.2:Control.Monad.Trans.State.Lazy 0c22827dedcb94d04bf072c00f8e95c2+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+bfd0a8e8505a6b9fd10f904aedcfacbe+ $dmrr ::+ Language.Fixpoint.Parse.Inputable a => GHC.Base.String -> a+bfd0a8e8505a6b9fd10f904aedcfacbe+ $dmrr' ::+ Language.Fixpoint.Parse.Inputable a =>+ GHC.Base.String -> GHC.Base.String -> a+7461c4389e8b420ec600bb20f8eabe51+ $fGenericDef ::+ GHC.Generics.Generic (Language.Fixpoint.Parse.Def a)+ DFunId+bfd0a8e8505a6b9fd10f904aedcfacbe+ $fInputable(,) ::+ Language.Fixpoint.Parse.Inputable+ (Language.Fixpoint.Types.Errors.FixResult GHC.Integer.Type.Integer,+ Language.Fixpoint.Types.Constraints.FixSolution)+ DFunId+bfd0a8e8505a6b9fd10f904aedcfacbe+ $fInputableCommand ::+ Language.Fixpoint.Parse.Inputable+ Language.Fixpoint.Smt.Types.Command+ DFunId+bfd0a8e8505a6b9fd10f904aedcfacbe+ $fInputableConstant ::+ Language.Fixpoint.Parse.Inputable+ Language.Fixpoint.Types.Refinements.Constant+ DFunId+bfd0a8e8505a6b9fd10f904aedcfacbe+ $fInputableExpr ::+ Language.Fixpoint.Parse.Inputable+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+bfd0a8e8505a6b9fd10f904aedcfacbe+ $fInputableFInfoWithOpts ::+ Language.Fixpoint.Parse.Inputable+ (Language.Fixpoint.Types.Constraints.FInfoWithOpts ())+ DFunId+bfd0a8e8505a6b9fd10f904aedcfacbe+ $fInputableFixResult ::+ Language.Fixpoint.Parse.Inputable+ (Language.Fixpoint.Types.Errors.FixResult GHC.Integer.Type.Integer)+ DFunId+bfd0a8e8505a6b9fd10f904aedcfacbe+ $fInputableGInfo ::+ Language.Fixpoint.Parse.Inputable+ (Language.Fixpoint.Types.Constraints.FInfo ())+ DFunId+bfd0a8e8505a6b9fd10f904aedcfacbe+ $fInputableSymbol ::+ Language.Fixpoint.Parse.Inputable+ Language.Fixpoint.Types.Names.Symbol+ DFunId+bfd0a8e8505a6b9fd10f904aedcfacbe+ $fInputable[] ::+ Language.Fixpoint.Parse.Inputable+ [Language.Fixpoint.Smt.Types.Command]+ DFunId+7461c4389e8b420ec600bb20f8eabe51+ $fShowDef ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ GHC.Show.Show (Language.Fixpoint.Parse.Def a)+ DFunId+3ed09b054defa81e878e5b650c85276f+ $tc'Adt :: GHC.Types.TyCon+8cdb1596e62ffe0c70e34b98635edf8c+ $tc'Axm :: GHC.Types.TyCon+86aa7db216d2db19e4eb66cc7e0a2851+ $tc'C:Inputable :: GHC.Types.TyCon+fb17641bbbb5bac35647d11bc21befff+ $tc'Con :: GHC.Types.TyCon+4879e83917f5c9851c3ccaa63785a43b+ $tc'Cst :: GHC.Types.TyCon+2360bb80c8bb3b74c0331ef5f2a68dc8+ $tc'Def :: GHC.Types.TyCon+f1325941b5f54443596481b6b54bdf8a+ $tc'Dis :: GHC.Types.TyCon+1a00e68d9d94db6676e02267962d53bf+ $tc'EBind :: GHC.Types.TyCon+cd3d1b4f85bcb7bd62b68eb5fae58ddf+ $tc'Expand :: GHC.Types.TyCon+ef1f2086a9e83bff961d26a6950af18c+ $tc'FInfix :: GHC.Types.TyCon+873979012e0bb17ace72207ef682c26d+ $tc'FPostfix :: GHC.Types.TyCon+6cf91de25bbe1b60f384f24b53014d79+ $tc'FPrefix :: GHC.Types.TyCon+bb3722a4a35834018b70de5b3d3a51ed+ $tc'IBind :: GHC.Types.TyCon+983deec10f70ee427952b5cbeb4070be+ $tc'Kut :: GHC.Types.TyCon+4bc1aef18008f7521fb4d3686fd21718+ $tc'Mat :: GHC.Types.TyCon+dd121b4753a3f3d45b7efd3a362bb3a4+ $tc'Opt :: GHC.Types.TyCon+d29147ed124a2d3ce8f26360b9377c25+ $tc'PState :: GHC.Types.TyCon+d07af231be20f3f2c2457f74e5c2513c+ $tc'Pack :: GHC.Types.TyCon+39c84f14b21503242a733fa4cf13181b+ $tc'Qul :: GHC.Types.TyCon+6bcad3237aee29a62d37b00fa76b2ee7+ $tc'Srt :: GHC.Types.TyCon+ef50999e5fbcb276816a599ba658b5a1+ $tc'Wfc :: GHC.Types.TyCon+36f086a319fbf5f34b9df5727878109f+ $tcDef :: GHC.Types.TyCon+0b445aaaa54e4a759fd1858dcadc55bc+ $tcFixity :: GHC.Types.TyCon+5e5c889a7784499288e0a3f2cf339edd+ $tcInputable :: GHC.Types.TyCon+f37255cc5a7f913fc7263e1482e545ae+ $tcPState :: GHC.Types.TyCon+687825b5d8e46816100da03440d8d527+ $trModule :: GHC.Types.Module+7461c4389e8b420ec600bb20f8eabe51+ data Def a+ = Srt !Language.Fixpoint.Types.Sorts.Sort+ | Axm !Language.Fixpoint.Types.Refinements.Expr+ | Cst !(Language.Fixpoint.Types.Constraints.SubC a)+ | Wfc !(Language.Fixpoint.Types.Constraints.WfC a)+ | Con !Language.Fixpoint.Types.Names.Symbol+ !Language.Fixpoint.Types.Sorts.Sort+ | Dis !Language.Fixpoint.Types.Names.Symbol+ !Language.Fixpoint.Types.Sorts.Sort+ | Qul !Language.Fixpoint.Types.Constraints.Qualifier+ | Kut !Language.Fixpoint.Types.Refinements.KVar+ | Pack !Language.Fixpoint.Types.Refinements.KVar !GHC.Types.Int+ | IBind !GHC.Types.Int+ !Language.Fixpoint.Types.Names.Symbol+ !Language.Fixpoint.Types.Refinements.SortedReft+ | EBind !GHC.Types.Int+ !Language.Fixpoint.Types.Names.Symbol+ !Language.Fixpoint.Types.Sorts.Sort+ | Opt !GHC.Base.String+ | Def !Language.Fixpoint.Types.Constraints.Equation+ | Mat !Language.Fixpoint.Types.Constraints.Rewrite+ | Expand ![(GHC.Types.Int, GHC.Types.Bool)]+ | Adt !Language.Fixpoint.Types.Sorts.DataDecl+63f6c583c67f96106ab79bf83686f4e6+ data Fixity+ = FInfix {fpred :: GHC.Maybe.Maybe GHC.Types.Int,+ fname :: GHC.Base.String,+ fop2 :: GHC.Maybe.Maybe+ (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr),+ fassoc :: Text.Parsec.Expr.Assoc}+ | FPrefix {fpred :: GHC.Maybe.Maybe GHC.Types.Int,+ fname :: GHC.Base.String,+ fop1 :: GHC.Maybe.Maybe+ (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr)}+ | FPostfix {fpred :: GHC.Maybe.Maybe GHC.Types.Int,+ fname :: GHC.Base.String,+ fop1 :: GHC.Maybe.Maybe+ (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr)}+bfd0a8e8505a6b9fd10f904aedcfacbe+ class Inputable a where+ rr :: GHC.Base.String -> a+ rr' :: GHC.Base.String -> GHC.Base.String -> a+e2608943a6d3f1e89c6bf70b6c447eeb+ type OpTable =+ Text.Parsec.Expr.OperatorTable+ GHC.Base.String+ GHC.Integer.Type.Integer+ (Control.Monad.Trans.State.Lazy.State+ Language.Fixpoint.Parse.PState)+ Language.Fixpoint.Types.Refinements.Expr+e2608943a6d3f1e89c6bf70b6c447eeb+ data PState+ = PState {fixityTable :: Language.Fixpoint.Parse.OpTable,+ empList :: GHC.Maybe.Maybe+ Language.Fixpoint.Types.Refinements.Expr,+ singList :: GHC.Maybe.Maybe+ (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr)}+acba7f917e7308e392b364ab2b3f5de2+ type Parser =+ Text.Parsec.Prim.ParsecT+ GHC.Base.String+ GHC.Integer.Type.Integer+ (Control.Monad.Trans.State.Lazy.State+ Language.Fixpoint.Parse.PState)+ :: * -> *+5c48ff291aeae611f19deba63d273028+ type ParserT u a =+ Text.Parsec.Prim.ParsecT+ GHC.Base.String+ u+ (Control.Monad.Trans.State.Lazy.State+ Language.Fixpoint.Parse.PState)+ a+7461c4389e8b420ec600bb20f8eabe51+ axiom Language.Fixpoint.Parse.Rep_Def::+ GHC.Generics.Rep (Language.Fixpoint.Parse.Def a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Def"+ "Language.Fixpoint.Parse"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ ((((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Srt" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Sorts.Sort))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Axm" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.Expr)))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Cst" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Constraints.SubC a)))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Wfc" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Constraints.WfC+ a)))))+ GHC.Generics.:+: ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Con" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Dis" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort)))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Qul" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Constraints.Qualifier))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Kut"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.KVar)))))+ GHC.Generics.:+: (((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Pack" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.KVar)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "IBind"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.SortedReft))))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "EBind"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort)))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Opt"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ GHC.Base.String))))+ GHC.Generics.:+: ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Def" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Constraints.Equation))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Mat"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Constraints.Rewrite)))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Expand"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [(GHC.Types.Int,+ GHC.Types.Bool)]))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Adt"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.DataDecl))))))+64741731091ddb6bb5e959b97d6b99a5+ addOperatorP ::+ Language.Fixpoint.Parse.Fixity -> Language.Fixpoint.Parse.Parser ()+79c27263a7b48110f7708e213cfee899+ angles ::+ Language.Fixpoint.Parse.ParserT u a+ -> Language.Fixpoint.Parse.ParserT u a+3ec70403287ab3431bb2eb8451240625+ bindP ::+ Language.Fixpoint.Parse.Parser Language.Fixpoint.Types.Names.Symbol+70d972f62933f14c906a64ca9cd81e7d+ blanks :: Language.Fixpoint.Parse.Parser GHC.Base.String+72de46629eb46ae017c4400b15a2bee4+ braces ::+ Language.Fixpoint.Parse.ParserT u a+ -> Language.Fixpoint.Parse.ParserT u a+af6c2387ab5b42a9ecf0b7484d27f514+ brackets ::+ Language.Fixpoint.Parse.ParserT u a+ -> Language.Fixpoint.Parse.ParserT u a+736a4b94ba2e2d2bc64551f8de8bc5b8+ bvSortP ::+ Language.Fixpoint.Parse.Parser Language.Fixpoint.Types.Sorts.Sort+2ef6de22b469cbc776eecd6c6aa48044+ colon :: Language.Fixpoint.Parse.Parser GHC.Base.String+6d843e2b407a289ceea5cdb3da143c38+ comma :: Language.Fixpoint.Parse.Parser GHC.Base.String+65d5e2f88f7865aade23d5f2327fdd88+ condIdP ::+ Language.Fixpoint.Parse.Parser GHC.Types.Char+ -> Data.HashSet.HashSet GHC.Types.Char+ -> (GHC.Base.String -> GHC.Types.Bool)+ -> Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Names.Symbol+d78490ded74a0330f281864988a56a5b+ constantP ::+ Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Refinements.Constant+8b0e620bd0b284350e121adf65192ee1+ dataCtorP ::+ Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Sorts.DataCtor+0da53c7c4d763239cbd5a685e71e5e73+ dataDeclP ::+ Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Sorts.DataDecl+b91ce0521fe74aef4da776034d9fa196+ dataFieldP ::+ Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Sorts.DataField+1c6f45f224c661a53fbdd3b7adabe928+ dcolon :: Language.Fixpoint.Parse.Parser GHC.Base.String+bb5cf568d2dd52518c0d1eeac71bf430+ doParse' ::+ Language.Fixpoint.Parse.Parser a+ -> Text.Parsec.Pos.SourceName -> GHC.Base.String -> a+e2608943a6d3f1e89c6bf70b6c447eeb+ empList ::+ Language.Fixpoint.Parse.PState+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Refinements.Expr+ RecSel Left Language.Fixpoint.Parse.PState+5d716ef1758430d24bd812d2ee10d797+ expr0P ::+ Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Refinements.Expr+fecd4e3666146d4df9018a9efd3c3679+ exprP ::+ Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Refinements.Expr+63f6c583c67f96106ab79bf83686f4e6+ fassoc :: Language.Fixpoint.Parse.Fixity -> Text.Parsec.Expr.Assoc+ RecSel Left Language.Fixpoint.Parse.Fixity+e2608943a6d3f1e89c6bf70b6c447eeb+ fixityTable ::+ Language.Fixpoint.Parse.PState -> Language.Fixpoint.Parse.OpTable+ RecSel Left Language.Fixpoint.Parse.PState+63f6c583c67f96106ab79bf83686f4e6+ fname :: Language.Fixpoint.Parse.Fixity -> GHC.Base.String+ RecSel Left Language.Fixpoint.Parse.Fixity+63f6c583c67f96106ab79bf83686f4e6+ fop1 ::+ Language.Fixpoint.Parse.Fixity+ -> GHC.Maybe.Maybe+ (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr)+ RecSel Left Language.Fixpoint.Parse.Fixity+63f6c583c67f96106ab79bf83686f4e6+ fop2 ::+ Language.Fixpoint.Parse.Fixity+ -> GHC.Maybe.Maybe+ (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr)+ RecSel Left Language.Fixpoint.Parse.Fixity+63f6c583c67f96106ab79bf83686f4e6+ fpred ::+ Language.Fixpoint.Parse.Fixity -> GHC.Maybe.Maybe GHC.Types.Int+ RecSel Left Language.Fixpoint.Parse.Fixity+7e0d0910f79a7024ad1d8fce63a2a011+ freshIntP ::+ Language.Fixpoint.Parse.Parser GHC.Integer.Type.Integer+5edb3050ba3ce36638c5c024331d8d77+ funAppP ::+ Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Refinements.Expr+cc5ddc3906d9e6245e75ee0e237c0b3b+ infixIdP :: Language.Fixpoint.Parse.Parser GHC.Base.String+9d67d9e23db4d315428a1958e77126b5+ initPState :: Language.Fixpoint.Parse.PState+d606957e175b7e9d8da8ab1d84ee1808+ integer :: Language.Fixpoint.Parse.Parser GHC.Integer.Type.Integer+d934634e24f873cc80666ec2541155f2+ isNotReserved :: GHC.Base.String -> GHC.Types.Bool+d9c1dc6f026338d8cf0f0b4b2fb11a97+ isSmall :: GHC.Types.Char -> GHC.Types.Bool+2943aa67e1f6a98fc25928403db0f404+ lexer ::+ GHC.Base.Monad m =>+ Text.Parsec.Token.GenTokenParser GHC.Base.String u m+a321f0c34b88a2456dc3ae19b5e4ad7f+ locLowerIdP ::+ Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Names.LocSymbol+0ebeef8a00eae2a90cbed54edeb04dc1+ locParserP ::+ Language.Fixpoint.Parse.Parser a+ -> Language.Fixpoint.Parse.Parser+ (Language.Fixpoint.Types.Spans.Located a)+123a80c1ec72c72e3172cdf70a7794fd+ locUpperIdP ::+ Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Names.LocSymbol+5999cabc366c823e7eab5f54545ddecf+ lowerIdP ::+ Language.Fixpoint.Parse.Parser Language.Fixpoint.Types.Names.Symbol+8d3da0c5b1a537be738456772bb1e3f6+ pairP ::+ Language.Fixpoint.Parse.Parser a+ -> Language.Fixpoint.Parse.Parser z+ -> Language.Fixpoint.Parse.Parser b+ -> Language.Fixpoint.Parse.Parser (a, b)+3ff74a82c6c082ae43768e3b6520d072+ parens ::+ Language.Fixpoint.Parse.ParserT u a+ -> Language.Fixpoint.Parse.ParserT u a+72d7aa2bae25f00e7bcd36e1268ae5bc+ parseFromFile ::+ Language.Fixpoint.Parse.Parser b+ -> Text.Parsec.Pos.SourceName -> GHC.Types.IO b+abdb144613ea68cf27b2784d9240e49f+ predP ::+ Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Refinements.Expr+c281e6fd79cf4d077609918681538a41+ qualifierP ::+ Language.Fixpoint.Parse.Parser Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Constraints.Qualifier+6e1315293d43de1d5dd3bdd142a173cb+ refBindP ::+ Language.Fixpoint.Parse.Parser Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Parse.Parser+ (Language.Fixpoint.Types.Refinements.Reft -> a)+ -> Language.Fixpoint.Parse.Parser a+1b752c949bb4705793094dec017223bc+ refDefP ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Parse.Parser+ (Language.Fixpoint.Types.Refinements.Reft -> a)+ -> Language.Fixpoint.Parse.Parser a+afe181957555d12d58ee9947c69e73e5+ refP ::+ Language.Fixpoint.Parse.Parser+ (Language.Fixpoint.Types.Refinements.Reft -> a)+ -> Language.Fixpoint.Parse.Parser a+b516ae3dada29d4536dbbc9a58eb3a80+ refaP ::+ Language.Fixpoint.Parse.Parser+ Language.Fixpoint.Types.Refinements.Expr+0d90fe65a11c9d5ede09bd0b45ffd887+ remainderP ::+ Language.Fixpoint.Parse.Parser a+ -> Language.Fixpoint.Parse.Parser+ (a, GHC.Base.String, Text.Parsec.Pos.SourcePos)+a00ff7b1b27c4805c4cedbcb08758ce6+ reserved :: GHC.Base.String -> Language.Fixpoint.Parse.Parser ()+dbed27c238f80603fed4168bc27787e9+ reservedOp :: GHC.Base.String -> Language.Fixpoint.Parse.Parser ()+82dd5e6b77d04e89cc9bc51490799556+ semi :: Language.Fixpoint.Parse.Parser GHC.Base.String+e2608943a6d3f1e89c6bf70b6c447eeb+ singList ::+ Language.Fixpoint.Parse.PState+ -> GHC.Maybe.Maybe+ (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr)+ RecSel Left Language.Fixpoint.Parse.PState+edc9dd330cfb2d2d7537020273e739e0+ sortP ::+ Language.Fixpoint.Parse.Parser Language.Fixpoint.Types.Sorts.Sort+dd5125babd28fdb99570e629b5612e5f+ stringLiteral :: Language.Fixpoint.Parse.Parser GHC.Base.String+beab0f933832bfbcb60fab8ebd4a25e8+ symbolP ::+ Language.Fixpoint.Parse.Parser Language.Fixpoint.Types.Names.Symbol+55990084a213fa411d0f585abd4b3389+ upperIdP ::+ Language.Fixpoint.Parse.Parser Language.Fixpoint.Types.Names.Symbol+407f4743646dcfdd071ceb0057604266+ whiteSpace :: Language.Fixpoint.Parse.Parser ()+instance GHC.Generics.Generic [Language.Fixpoint.Parse.Def]+ = Language.Fixpoint.Parse.$fGenericDef+instance Language.Fixpoint.Parse.Inputable [(,)]+ = Language.Fixpoint.Parse.$fInputable(,)+instance Language.Fixpoint.Parse.Inputable [Language.Fixpoint.Smt.Types.Command]+ = Language.Fixpoint.Parse.$fInputableCommand+instance Language.Fixpoint.Parse.Inputable [Language.Fixpoint.Types.Refinements.Constant]+ = Language.Fixpoint.Parse.$fInputableConstant+instance Language.Fixpoint.Parse.Inputable [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Parse.$fInputableExpr+instance Language.Fixpoint.Parse.Inputable [Language.Fixpoint.Types.Constraints.FInfoWithOpts]+ = Language.Fixpoint.Parse.$fInputableFInfoWithOpts+instance Language.Fixpoint.Parse.Inputable [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Parse.$fInputableFixResult+instance Language.Fixpoint.Parse.Inputable [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Parse.$fInputableGInfo+instance Language.Fixpoint.Parse.Inputable [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Parse.$fInputableSymbol+instance Language.Fixpoint.Parse.Inputable [[]]+ = Language.Fixpoint.Parse.$fInputable[]+instance GHC.Show.Show [Language.Fixpoint.Parse.Def]+ = Language.Fixpoint.Parse.$fShowDef+family instance GHC.Generics.Rep [Language.Fixpoint.Parse.Def]+ = Language.Fixpoint.Parse.Rep_Def+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,270 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:40.78163 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Bitvector [family instance module] 8065+ interface hash: a66db4c07f651977507edf0878733c4f+ ABI hash: 0078a7619ebc3de9a6aee2736af0b2d1+ export-list hash: 58b7fd28e9cf74c90db1add211a337c5+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 5c31e908ffeef7c7dbad6582afcd107f+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Smt.Bitvector.bvTyCon+ Language.Fixpoint.Smt.Bitvector.eOp+ Language.Fixpoint.Smt.Bitvector.mkSort+ Language.Fixpoint.Smt.Bitvector.Bv{Language.Fixpoint.Smt.Bitvector.Bv}+ Language.Fixpoint.Smt.Bitvector.BvOp{Language.Fixpoint.Smt.Bitvector.BvAnd Language.Fixpoint.Smt.Bitvector.BvOr}+ Language.Fixpoint.Smt.Bitvector.BvSize{Language.Fixpoint.Smt.Bitvector.S32 Language.Fixpoint.Smt.Bitvector.S64}+module dependencies: Language.Fixpoint.Misc 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Utils.Files Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2 unix-2.7.2.2+ unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Data 2949b01dc3799f9122535900668dfcef+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Typeable 1095be85dd9009a6503a3981a259490e+import -/ base-4.12.0.0:Data.Typeable.Internal e1cb15df401654131814917774d4d7ed+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ exports: 45d7959603a132b65636c5a341548000+ Symbol 3f986d27cdf6315dd770c516fc00a643+ bitVecName 00019ed7902409f02e42ac9147024c0f+ bvAndName f0343b8a4f8bd92677e59ed88901c889+ bvOrName efd850d2d2d132e184bb436c2e5ec069+ size32Name eb86c7a87bf6d4fe421e48a12b486920+ size64Name c319990772c58056fc8adbb99d90eef0+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ EApp 54242238b0fd99173645e603ea6a95e1+ ECon 5baa7919e17f9fc7e290e6ec391edfe0+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Expr 58dd7eff6040aa97f060415235c6cb01+ Expression 3223e45a95282010f7c8c44ba75b8d79+ L cb92c00e18083bd8988b20d1d090bc2b+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ FTycon 30d6fd7d99459ff88296e3b55c87b46c+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ fApp c49e03b92bfc3b317f317f42b9427882+ fTyconSort 633df8b8447e1a481b51fa09ec285390+ symbolFTycon 93c1f3a947f85ee0557577e72fb0c2a1+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ dummyLoc 69f648f1c60987f6ccbe57104041fd71+import -/ syb-0.7:Data.Generics f4bddd07fe7227d2509acad55f9ff82d+import -/ text-1.2.3.1:Data.Text 681b9c3df5b4e4b4e23ef5f840f0b692+e5d2108d65c1b524de05aa50b1ec1d1d+ $fDataBvOp :: Data.Data.Data Language.Fixpoint.Smt.Bitvector.BvOp+ DFunId+251509afcdd6448ec00720ec1a3fe57a+ $fDataBvSize ::+ Data.Data.Data Language.Fixpoint.Smt.Bitvector.BvSize+ DFunId+e5d2108d65c1b524de05aa50b1ec1d1d+ $fEqBvOp :: GHC.Classes.Eq Language.Fixpoint.Smt.Bitvector.BvOp+ DFunId+251509afcdd6448ec00720ec1a3fe57a+ $fEqBvSize :: GHC.Classes.Eq Language.Fixpoint.Smt.Bitvector.BvSize+ DFunId+7a095cefcf91f5119f97cb37019207e8+ $fExpressionBv ::+ Language.Fixpoint.Types.Refinements.Expression+ Language.Fixpoint.Smt.Bitvector.Bv+ DFunId+e5d2108d65c1b524de05aa50b1ec1d1d+ $fGenericBvOp ::+ GHC.Generics.Generic Language.Fixpoint.Smt.Bitvector.BvOp+ DFunId+251509afcdd6448ec00720ec1a3fe57a+ $fGenericBvSize ::+ GHC.Generics.Generic Language.Fixpoint.Smt.Bitvector.BvSize+ DFunId+e5d2108d65c1b524de05aa50b1ec1d1d+ $fOrdBvOp :: GHC.Classes.Ord Language.Fixpoint.Smt.Bitvector.BvOp+ DFunId+251509afcdd6448ec00720ec1a3fe57a+ $fOrdBvSize ::+ GHC.Classes.Ord Language.Fixpoint.Smt.Bitvector.BvSize+ DFunId+e5d2108d65c1b524de05aa50b1ec1d1d+ $fShowBvOp :: GHC.Show.Show Language.Fixpoint.Smt.Bitvector.BvOp+ DFunId+251509afcdd6448ec00720ec1a3fe57a+ $fShowBvSize ::+ GHC.Show.Show Language.Fixpoint.Smt.Bitvector.BvSize+ DFunId+92bc1a6f3719551193212a2c19b5f842+ $tc'Bv :: GHC.Types.TyCon+251994670491bba94c508325b9107af6+ $tc'BvAnd :: GHC.Types.TyCon+b976c82e30ac9896417a99ab700c6f2d+ $tc'BvOr :: GHC.Types.TyCon+79d16a31fef939cf6bd5100420f0945d+ $tc'S32 :: GHC.Types.TyCon+2babac4e9a268b974387fe142940fd6c+ $tc'S64 :: GHC.Types.TyCon+3eb947653ae478b6deaa93c9e6ec7802+ $tcBv :: GHC.Types.TyCon+4bc3db48dda630f16f5b12b6968f4dd9+ $tcBvOp :: GHC.Types.TyCon+aa443c750baef47874d8d3f96c334436+ $tcBvSize :: GHC.Types.TyCon+c7eb300baac543db48b1dfc09ad3ffdb+ $trModule :: GHC.Types.Module+7a095cefcf91f5119f97cb37019207e8+ data Bv+ = Bv !Language.Fixpoint.Smt.Bitvector.BvSize !GHC.Base.String+e5d2108d65c1b524de05aa50b1ec1d1d+ data BvOp = BvAnd | BvOr+251509afcdd6448ec00720ec1a3fe57a+ data BvSize = S32 | S64+e5d2108d65c1b524de05aa50b1ec1d1d+ axiom Language.Fixpoint.Smt.Bitvector.Rep_BvOp::+ GHC.Generics.Rep Language.Fixpoint.Smt.Bitvector.BvOp+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "BvOp"+ "Language.Fixpoint.Smt.Bitvector"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "BvAnd" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "BvOr" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1)+251509afcdd6448ec00720ec1a3fe57a+ axiom Language.Fixpoint.Smt.Bitvector.Rep_BvSize::+ GHC.Generics.Rep Language.Fixpoint.Smt.Bitvector.BvSize+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "BvSize"+ "Language.Fixpoint.Smt.Bitvector"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "S32" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "S64" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1)+40fcfbb302e3b4263bea3b7709b97781+ bvTyCon :: Language.Fixpoint.Types.Sorts.FTycon+ab13740ac14561ea2d1c131168a9481e+ eOp ::+ Language.Fixpoint.Smt.Bitvector.BvOp+ -> [Language.Fixpoint.Types.Refinements.Expr]+ -> Language.Fixpoint.Types.Refinements.Expr+a26127c3379b2d9fec924150ef9087de+ mkSort ::+ Language.Fixpoint.Smt.Bitvector.BvSize+ -> Language.Fixpoint.Types.Sorts.Sort+instance Data.Data.Data [Language.Fixpoint.Smt.Bitvector.BvOp]+ = Language.Fixpoint.Smt.Bitvector.$fDataBvOp+instance Data.Data.Data [Language.Fixpoint.Smt.Bitvector.BvSize]+ = Language.Fixpoint.Smt.Bitvector.$fDataBvSize+instance GHC.Classes.Eq [Language.Fixpoint.Smt.Bitvector.BvOp]+ = Language.Fixpoint.Smt.Bitvector.$fEqBvOp+instance GHC.Classes.Eq [Language.Fixpoint.Smt.Bitvector.BvSize]+ = Language.Fixpoint.Smt.Bitvector.$fEqBvSize+instance Language.Fixpoint.Types.Refinements.Expression [Language.Fixpoint.Smt.Bitvector.Bv]+ = Language.Fixpoint.Smt.Bitvector.$fExpressionBv+instance GHC.Generics.Generic [Language.Fixpoint.Smt.Bitvector.BvOp]+ = Language.Fixpoint.Smt.Bitvector.$fGenericBvOp+instance GHC.Generics.Generic [Language.Fixpoint.Smt.Bitvector.BvSize]+ = Language.Fixpoint.Smt.Bitvector.$fGenericBvSize+instance GHC.Classes.Ord [Language.Fixpoint.Smt.Bitvector.BvOp]+ = Language.Fixpoint.Smt.Bitvector.$fOrdBvOp+instance GHC.Classes.Ord [Language.Fixpoint.Smt.Bitvector.BvSize]+ = Language.Fixpoint.Smt.Bitvector.$fOrdBvSize+instance GHC.Show.Show [Language.Fixpoint.Smt.Bitvector.BvOp]+ = Language.Fixpoint.Smt.Bitvector.$fShowBvOp+instance GHC.Show.Show [Language.Fixpoint.Smt.Bitvector.BvSize]+ = Language.Fixpoint.Smt.Bitvector.$fShowBvSize+family instance GHC.Generics.Rep [Language.Fixpoint.Smt.Bitvector.BvOp]+ = Language.Fixpoint.Smt.Bitvector.Rep_BvOp+family instance GHC.Generics.Rep [Language.Fixpoint.Smt.Bitvector.BvSize]+ = Language.Fixpoint.Smt.Bitvector.Rep_BvSize+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,431 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:44.141838 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Interface 8065+ interface hash: 3054cf0a4ba3bdcc2f5661780094face+ ABI hash: ee0737b56914b95eb563867307fa7dad+ export-list hash: 34c9dd9681ad7de62fb07b614e95fb75+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 9c8bdb2d4fca0911fca117a9c652ea21+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Smt.Interface.checkValid+ Language.Fixpoint.Smt.Interface.checkValid'+ Language.Fixpoint.Smt.Interface.checkValidWithContext+ Language.Fixpoint.Smt.Interface.checkValids+ Language.Fixpoint.Smt.Interface.cleanupContext+ Language.Fixpoint.Smt.Interface.command+ Language.Fixpoint.Smt.Interface.makeContext+ Language.Fixpoint.Smt.Interface.makeContextNoLog+ Language.Fixpoint.Smt.Interface.makeContextWithSEnv+ Language.Fixpoint.Smt.Interface.smtAssert+ Language.Fixpoint.Smt.Interface.smtAssertAxiom+ Language.Fixpoint.Smt.Interface.smtBracket+ Language.Fixpoint.Smt.Interface.smtBracketAt+ Language.Fixpoint.Smt.Interface.smtCheckSat+ Language.Fixpoint.Smt.Interface.smtCheckUnsat+ Language.Fixpoint.Smt.Interface.smtDecl+ Language.Fixpoint.Smt.Interface.smtDecls+ Language.Fixpoint.Smt.Interface.smtDistinct+ Language.Fixpoint.Smt.Interface.smtFuncDecl+ Language.Fixpoint.Smt.Interface.smtPop+ Language.Fixpoint.Smt.Interface.smtPush+ Language.Fixpoint.Smt.Interface.smtWrite+ Language.Fixpoint.Smt.Types.Command{Language.Fixpoint.Smt.Types.Assert Language.Fixpoint.Smt.Types.AssertAx Language.Fixpoint.Smt.Types.CMany Language.Fixpoint.Smt.Types.CheckSat Language.Fixpoint.Smt.Types.DeclData Language.Fixpoint.Smt.Types.Declare Language.Fixpoint.Smt.Types.Define Language.Fixpoint.Smt.Types.Distinct Language.Fixpoint.Smt.Types.GetValue Language.Fixpoint.Smt.Types.Pop Language.Fixpoint.Smt.Types.Push}+ Language.Fixpoint.Smt.Types.Context{Language.Fixpoint.Smt.Types.Ctx ctxCin ctxCout ctxLog ctxPid ctxSymEnv ctxVerbose}+ Language.Fixpoint.Smt.Types.Response{Language.Fixpoint.Smt.Types.Error Language.Fixpoint.Smt.Types.Ok Language.Fixpoint.Smt.Types.Sat Language.Fixpoint.Smt.Types.Unknown Language.Fixpoint.Smt.Types.Unsat Language.Fixpoint.Smt.Types.Values}+ Language.Fixpoint.Smt.Types.SMTLIB2{Language.Fixpoint.Smt.Types.smt2}+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Serialize Language.Fixpoint.Smt.Theories+ Language.Fixpoint.Smt.Types Language.Fixpoint.SortCheck+ 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ attoparsec-0.13.2.2 base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5+ bytestring-0.10.8.2 cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5+ containers-0.6.0.1 deepseq-1.4.4.0 directory-1.3.3.0+ double-conversion-2.0.2.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 integer-logarithms-1.0.3+ intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0 pretty-1.1.3.6+ primitive-0.6.4.0 process-1.6.5.0 scientific-0.3.6.2 split-0.2.3.3+ stm-2.5.0.0 syb-0.7 text-1.2.3.1 text-format-0.3.2 time-1.8.0.2+ transformers-0.5.6.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Serialize+ attoparsec-0.13.2.2:Data.Attoparsec.Text.Internal+ transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ text-1.2.3.1:Data.Text.Lazy text-1.2.3.1:Data.Text+ binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: attoparsec-0.13.2.2:Data.Attoparsec.Internal.Types+ base-4.12.0.0:Control.Applicative base-4.12.0.0:Data.Complex+ base-4.12.0.0:Data.Functor.Compose base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ+ primitive-0.6.4.0:Control.Monad.Primitive+ primitive-0.6.4.0:Data.Primitive.Array text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ attoparsec-0.13.2.2:Data.Attoparsec.Combinator 523acf7029be311091371318659a6f08+import -/ attoparsec-0.13.2.2:Data.Attoparsec.Internal.Types 6424377cdc1d483282013ccc320c8096+import -/ attoparsec-0.13.2.2:Data.Attoparsec.Text 884e47b6dfe247854708aa903c58d59f+import -/ attoparsec-0.13.2.2:Data.Attoparsec.Text.Internal 988ec4fc32ddaff905cff8b9aa5753d1+import -/ base-4.12.0.0:Control.Applicative 2ae514eb141d45774730765c61bb41c0+import -/ base-4.12.0.0:Control.Exception 041da5b6267cf6b639ff5716d5b299a9+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Char 74f67fe9150a102afa18766e840f6832+import -/ base-4.12.0.0:Data.Either 423bee738f25e5ee983d072216009be8+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.IO 898d4ddbf00eb4732e5f462760aa42ae+import -/ base-4.12.0.0:GHC.IO.Exception 77722984940ee6ccf9e2f7dab10b83a4+import -/ base-4.12.0.0:GHC.IO.Handle fe51659cf05ea3ecd36fe5e2d515d89a+import -/ base-4.12.0.0:GHC.IO.Handle.FD 815f4d400e6239c7550e040518bdbf45+import -/ base-4.12.0.0:GHC.IO.Handle.Types 8909e00409cd23d4e66395a7e93f216d+import -/ base-4.12.0.0:GHC.IO.IOMode 8012a3f94976206c971b9384804b372a+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:GHC.Unicode 87726eb81a3f9c9b22160a0afd5dc56a+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.Exit 3c945ec7c596067c067092c41083c3d0+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ cmdargs-0.10.20:System.Console.CmdArgs.Verbosity fa5402dbe76d4158a9bd93730fac6d67+import -/ directory-1.3.3.0:System.Directory 49a915596c61b7c4c6db58cd4e1272c2+import -/ filepath-1.4.2.1:System.FilePath 15c54060cebd29621bfc77f7f6fce3ff+import -/ filepath-1.4.2.1:System.FilePath.Posix 807571ae31e154c61d0c6bb61ff8b097+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ errorstar e47c2d482124b43e020a405f809adcff+ groupList 89ce0af3d82aae7a2d9f3f3c1cde0d05+ mapSnd 56a8c287203c2790b4db9115db2b9192+ sccsWith ee0ce3d5a6bde0b3862fcf6587b87cf1+ sortNub 7d73d874da71f31bd97dc544f8572fc4+import -/ Language.Fixpoint.Smt.Serialize 7305b271952ce328cf0ab77b85d8d3d3+ exports: 5e1d313517b98758471045ea4f3116b5+import -/ Language.Fixpoint.Smt.Theories 48905aa2dfb4a1b0b274452f97471e3d+ exports: ad53920eb85c0904d205515774324773+ axiomLiterals de7d96c4bc2a342e684aa14f04bff119+ maxLamArg 4e140ce4832691610fcde35b96446628+ preamble a0444fb9ec9c32e46c801435f3c11ec5+import -/ Language.Fixpoint.Smt.Types 30a3f200618617e4fc3b128e7ad80e5a+ exports: 9d5346cc8b2fc98cde08d06579c7cca6+ Assert 67eb58b7de8e3adeaa64ca4678afbf28+ AssertAx bd653a9fa0511322a60626bfea0fa0de+ CMany 47520c02ca33cb3cd9134cd11ce60c15+ CheckSat 4bbed80577103afd6dda6e838ad01d87+ Command 9bb122f606f996c5adbb9f937fa876ad+ Context 372fcf0b6b50436d0652b44de8ce661a+ Ctx 9902120c17c8e2ae4c9be3126133ded6+ DeclData a8f500b1d311891b4fae99223a97b3ee+ Declare 92fb53d84c8fede1aa2891b4d7e2d706+ Define 39f3a6b609fcf22a70bc8a6808906a6a+ Distinct e66cdf03563bbc29c325f23bf4b8fd38+ Error 26629d81cdc0c15f74cc0728d1fc89f7+ GetValue 761def53c0f2428e57244c047634b27d+ Ok 29762dce5959f1b557aee40c955acb09+ Pop 788f42b70667cbe52afcaf862cbbb1e7+ Push 4e9c7fb32679eb0b51c8674414368263+ Response 892ca3543d00b690ecbcc0f8d9257ec5+ SMTLIB2 c21caa89e781f0f2b1e49c79f9b4130a+ Sat 3c946fed2381b2f4c538e3f93bb186a5+ Unknown f981fae67731c33329b2c7244d46fab1+ Unsat e3e2cf94ffe343aef4bf6298c2722727+ Values dfc6d8e1408561fb38a464ad79341fe8+ ctxCin 372fcf0b6b50436d0652b44de8ce661a+ ctxCout 372fcf0b6b50436d0652b44de8ce661a+ ctxLog 372fcf0b6b50436d0652b44de8ce661a+ ctxPid 372fcf0b6b50436d0652b44de8ce661a+ ctxSymEnv 372fcf0b6b50436d0652b44de8ce661a+ ctxVerbose 372fcf0b6b50436d0652b44de8ce661a+ runSmt2 befc92af64d9538adba120f32da674cf+ smt2 fb59179bf1f480bfc37822b3b187760e+import -/ Language.Fixpoint.SortCheck f7b7dc40080c3027ffc5d238db179224+ exports: fef1457ed33a6a1cb5bc6a8b38a1edff+ elaborate 5809c5e4abf9d4e8230e50ea3a386a0e+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+ Cvc4 9135f320d6df9a8f83ab7ab3df453b24+ Mathsat dfcdf3f936f3866d39a081c8cae29c22+ SMTSolver 16932a7b6f7e2d9f5e812b1ebb37105a+ Z3 2ae9f1572523128eb05e6a00c898b40c+ gradual 3988ec36858b82afed711ea7ff67ff00+ smtTimeout 3988ec36858b82afed711ea7ff67ff00+ solver 3988ec36858b82afed711ea7ff67ff00+ stringTheory 3988ec36858b82afed711ea7ff67ff00+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ SEnv 7b76b1b3898bd64fc8c2187c261c0f80+ lookupSEnv 94599d47b6378649795b045198f42e89+ toListSEnv ddd97c9c472b637e00dcfff9c958a991+import -/ Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+ exports: 89a9dc85e57ecc980170ae7cb32d2921+ die b694e04a36caf383107b8f2e73ae279e+ dieAt efdf927f8072d85a383b14811e0a2c02+ err eb62a315ab4ae2ad7c68e48fa9cd6513+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+ applyName 25f366ca3bca038d84f346fd1351a02a+ coerceName cfa798590c79dbe5ef2b611f14e80f7f+ lamArgSymbol 934937917f1dc2b7ff950de0d0661403+ lambdaName c8b0b013bbacac5c8fff10b620016b3e+ symbol 8093c1d4f5a85b247a3a96c3fce3245c+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ showpp a9f79fc9a75f72593341c16b4b8ac492+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ Expr 58dd7eff6040aa97f060415235c6cb01+ PNot dd52d33c67ccd94ba2b9bc2daaf6153f+ RR bc18741bade52dfcbbbc2473e1b91821+ expr bb69a3829a24dac6732a3d85fdbf277f+ isFunctionSortedReft 15bb39791b2eaa58d6152a8a4e70c581+ pAnd d997a1bd3b1f67d4020526858eca07c4+ trueReft b1755155d9be8c8f361db2f542991fc4+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ DataCtor 90984d28a9f3c849d44b1ec37334f5cb+ DataDecl 90984d28a9f3c849d44b1ec37334f5cb+ DataField 842b037f4a3d7555ff8e2c17ccb73443+ FObj 1bb5d6e74aaa46fc1c29e2a322aa25fa+ FTC e5d6113e0ae80db3702c5a83dedd8a7f+ FTycon 30d6fd7d99459ff88296e3b55c87b46c+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ dcFields 90984d28a9f3c849d44b1ec37334f5cb+ ddCtors 90984d28a9f3c849d44b1ec37334f5cb+ ddTyCon 90984d28a9f3c849d44b1ec37334f5cb+ dfSort 842b037f4a3d7555ff8e2c17ccb73443+ functionSort f594877f5448823b341deb917c8c3252+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ SrcSpan 30cdf4122b891cc575df90039bdcbecb+ dummySpan 4c3a1f24b19908507cae45f533bfffe9+import -/ Language.Fixpoint.Types.Theories 2d31db6b0cdc7b0f2231db238b021516+ Ctor b4465861f103853ee835cb5461075bab+ Field 9da710c8832cd8032b2c106ebd5baea1+ Raw a1cf5f50209455d2ca3b8e19aad75c5a+ SInt 8b6736903e8f8ce746f1f78a9b4657ad+ SmtSort 0506688674ca55c28cc4df4c4dbdb2df+ SymEnv 0506688674ca55c28cc4df4c4dbdb2df+ Test 84f5bf556ab4024ebf73fdfbf9623c35+ Theory c7597d4fa8fe997e8f49f0af8d93bbfc+ Uninterp 87a6ab41bdb97af06459096378210809+ seAppls 0506688674ca55c28cc4df4c4dbdb2df+ seData 0506688674ca55c28cc4df4c4dbdb2df+ seLits 0506688674ca55c28cc4df4c4dbdb2df+ seSort 0506688674ca55c28cc4df4c4dbdb2df+ sortSmtSort 4fef6a945014c08fdd9da90cda8a95e3+ symEnvTheory b4df3d48b26aea68a082338a9b46e1f3+ symbolAtSmtName 671cfc927c8973dd2b729af0d27af1b0+ tsInterp 810e2965561391114a602ece3df70281+import -/ Language.Fixpoint.Types.Triggers 8abd2355db756b37b9b5fb3b0ce44e32+ Triggered d4e347d662ffae46e19beccd9e71f8e0+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ foldSort 4addac03f919de23a8aa78ec914cc93b+import -/ Language.Fixpoint.Utils.Files b2b779ebebf03f66af4a684b17d25d25+ exports: 061e3dd63eb42c6c413f2db46ae3d0cb+ Smt2 64fdd4710cda177593aa5311976e734d+ extFileName 86adcb1270446909c1fa5137dc51787e+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ process-1.6.5.0:System.Process 2e810cee2a417b14ed03c6fbb00362a9+import -/ text-1.2.3.1:Data.Text 681b9c3df5b4e4b4e23ef5f840f0b692+import -/ text-1.2.3.1:Data.Text.IO b6cfa03869c429fbaab046e2a0dbffff+import -/ text-1.2.3.1:Data.Text.Internal 537e168590e8068f673f691833f78483+import -/ text-1.2.3.1:Data.Text.Internal.Builder 1797fde4ca8ef0dc40109aae6e9f65de+import -/ text-1.2.3.1:Data.Text.Internal.Lazy 60724f417edac0a71b3efdb9a450a954+import -/ text-1.2.3.1:Data.Text.Lazy 5dfd4775189d1cf6b5f168bbf44e9081+import -/ text-1.2.3.1:Data.Text.Lazy.Builder 8de68d4400c5e110387b343256e7694d+import -/ text-1.2.3.1:Data.Text.Lazy.IO ed276bffd879459c45d824493e6f2231+import -/ text-format-0.3.2:Data.Text.Format cba82cf42fed813596d553c521d7a97b+import -/ text-format-0.3.2:Data.Text.Format.Types.Internal 1598e6eab18221563e1d2913dbbf595c+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+0885e96b41bcb46a0c63d5e3a3d9422e+ $trModule :: GHC.Types.Module+b9f9bdc7cd13e13b88873afe6256cc5f+ type SmtParser a =+ Data.Attoparsec.Internal.Types.Parser Data.Text.Internal.Text a+3d7b7da018644448d0e1224b95be2481+ checkValid ::+ Language.Fixpoint.Types.Config.Config+ -> GHC.IO.FilePath+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> GHC.Types.IO GHC.Types.Bool+882d00af58316d6f6b63234e40abc8a3+ checkValid' ::+ Language.Fixpoint.Smt.Types.Context+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> GHC.Types.IO GHC.Types.Bool+06758d36abd61361d4753661bfedd621+ checkValidWithContext ::+ Language.Fixpoint.Smt.Types.Context+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> GHC.Types.IO GHC.Types.Bool+1723db1bf173ad6a432dd23c10ea1c78+ checkValids ::+ Language.Fixpoint.Types.Config.Config+ -> GHC.IO.FilePath+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ -> [Language.Fixpoint.Types.Refinements.Expr]+ -> GHC.Types.IO [GHC.Types.Bool]+511b45c7e002c2142e0dcb9cff2e2ea6+ cleanupContext ::+ Language.Fixpoint.Smt.Types.Context+ -> GHC.Types.IO GHC.IO.Exception.ExitCode+1838be88324057ac23d627e945a7caeb+ command ::+ Language.Fixpoint.Smt.Types.Context+ -> Language.Fixpoint.Smt.Types.Command+ -> GHC.Types.IO Language.Fixpoint.Smt.Types.Response+0e3a91e62ce6ed2824b5bbdb0a7d2ec8+ makeContext ::+ Language.Fixpoint.Types.Config.Config+ -> GHC.IO.FilePath+ -> GHC.Types.IO Language.Fixpoint.Smt.Types.Context+c5d7f3231fc05a428bcc8ed63022aa6a+ makeContextNoLog ::+ Language.Fixpoint.Types.Config.Config+ -> GHC.Types.IO Language.Fixpoint.Smt.Types.Context+4644204706da05ed92e94ab6343a856b+ makeContextWithSEnv ::+ Language.Fixpoint.Types.Config.Config+ -> GHC.IO.FilePath+ -> Language.Fixpoint.Types.Theories.SymEnv+ -> GHC.Types.IO Language.Fixpoint.Smt.Types.Context+335106faf7ebb07edc676359058f2360+ smtAssert ::+ Language.Fixpoint.Smt.Types.Context+ -> Language.Fixpoint.Types.Refinements.Expr -> GHC.Types.IO ()+7b6baf9122bc1a4105ff32731a718749+ smtAssertAxiom ::+ Language.Fixpoint.Smt.Types.Context+ -> Language.Fixpoint.Types.Triggers.Triggered+ Language.Fixpoint.Types.Refinements.Expr+ -> GHC.Types.IO ()+565d62dc2109372f4f4dd1533806693b+ smtBracket ::+ Language.Fixpoint.Smt.Types.Context+ -> GHC.Base.String -> GHC.Types.IO a -> GHC.Types.IO a+01349403f3c6d5c8e2a6417da8fe09e9+ smtBracketAt ::+ Language.Fixpoint.Types.Spans.SrcSpan+ -> Language.Fixpoint.Smt.Types.Context+ -> GHC.Base.String+ -> GHC.Types.IO a+ -> GHC.Types.IO a+7642e6380fd15013f1ead086b29ff4eb+ smtCheckSat ::+ Language.Fixpoint.Smt.Types.Context+ -> Language.Fixpoint.Types.Refinements.Expr+ -> GHC.Types.IO GHC.Types.Bool+fc53c261336b1d25851b51fbb5b6b6de+ smtCheckUnsat ::+ Language.Fixpoint.Smt.Types.Context -> GHC.Types.IO GHC.Types.Bool+56345235fb07a601b03b40b8d0b408c6+ smtDecl ::+ Language.Fixpoint.Smt.Types.Context+ -> Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Sorts.Sort+ -> GHC.Types.IO ()+c2542e4c717ddcb63680cb28c57d2c77+ smtDecls ::+ Language.Fixpoint.Smt.Types.Context+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ -> GHC.Types.IO ()+35786292bbb0fe6f3f3f968af405d688+ smtDistinct ::+ Language.Fixpoint.Smt.Types.Context+ -> [Language.Fixpoint.Types.Refinements.Expr] -> GHC.Types.IO ()+da575518c8e3d0ee4c8da94e91491133+ smtFuncDecl ::+ Language.Fixpoint.Smt.Types.Context+ -> Language.Fixpoint.Types.Names.Symbol+ -> ([Language.Fixpoint.Types.Theories.SmtSort],+ Language.Fixpoint.Types.Theories.SmtSort)+ -> GHC.Types.IO ()+b34debef8eac922a9c2ee3e92f77eea3+ smtPop :: Language.Fixpoint.Smt.Types.Context -> GHC.Types.IO ()+f6a3fe32d78b37943a94ecfb1823ea45+ smtPush :: Language.Fixpoint.Smt.Types.Context -> GHC.Types.IO ()+0b22fef9448643aa6bba1e68bd00e739+ smtWrite ::+ Language.Fixpoint.Smt.Types.Context+ -> Language.Fixpoint.Types.Theories.Raw -> GHC.Types.IO ()+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,318 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:43.628222 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Serialize [orphan module] 8065+ interface hash: 7ccfff9c4218595ba8d8d8c81ae1f0db+ ABI hash: 7305b271952ce328cf0ab77b85d8d3d3+ export-list hash: 5e1d313517b98758471045ea4f3116b5+ orphan hash: f80cd1ba9c0a6b4f280c25c87b00bf6d+ flag hash: 488f36884360138e72e336ac5109668c+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Smt.Serialize.smt2SortMono+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.SortCheck 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ errorstar e47c2d482124b43e020a405f809adcff+ sortNub 7d73d874da71f31bd97dc544f8572fc4+import -/ Language.Fixpoint.Smt.Theories 48905aa2dfb4a1b0b274452f97471e3d+ exports: ad53920eb85c0904d205515774324773+ smt2App 02b5cd913447494ceea7b7116ad9d87d+ smt2Symbol 991c65df5a4a4d39044c400f60a0fd64+import -/ Language.Fixpoint.Smt.Types 30a3f200618617e4fc3b128e7ad80e5a+ exports: 9d5346cc8b2fc98cde08d06579c7cca6+ Assert 67eb58b7de8e3adeaa64ca4678afbf28+ AssertAx bd653a9fa0511322a60626bfea0fa0de+ CMany 47520c02ca33cb3cd9134cd11ce60c15+ CheckSat 4bbed80577103afd6dda6e838ad01d87+ Command 9bb122f606f996c5adbb9f937fa876ad+ DeclData a8f500b1d311891b4fae99223a97b3ee+ Declare 92fb53d84c8fede1aa2891b4d7e2d706+ Define 39f3a6b609fcf22a70bc8a6808906a6a+ Distinct e66cdf03563bbc29c325f23bf4b8fd38+ GetValue 761def53c0f2428e57244c047634b27d+ Pop 788f42b70667cbe52afcaf862cbbb1e7+ Push 4e9c7fb32679eb0b51c8674414368263+ SMTLIB2 c21caa89e781f0f2b1e49c79f9b4130a+ smt2 fb59179bf1f480bfc37822b3b187760e+import -/ Language.Fixpoint.SortCheck f7b7dc40080c3027ffc5d238db179224+ exports: fef1457ed33a6a1cb5bc6a8b38a1edff+ unApplyAt e0a628364bec28d2a08751e4806888b9+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+ panic 87059ab6cc1a67158dab0a23bc2c22e7+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ LocSymbol e6d5fcd49dd2746d9598e2efb4f857d1+ Symbol 3f986d27cdf6315dd770c516fc00a643+ applyName 25f366ca3bca038d84f346fd1351a02a+ buildMany f14f2cccc11f92b60f7e06649edc7b82+ coerceName cfa798590c79dbe5ef2b611f14e80f7f+ divFuncName dae7813b9ecfad96423501941a112512+ intSymbol a4ae136aedf5d0fada743997e9c6751f+ isLamArgSymbol 2c225b4ac3041fa9a0dcc3fb3d04950a+ lambdaName c8b0b013bbacac5c8fff10b620016b3e+ mulFuncName 6a890e2f1ef5cfc3e80b39dbbfa3fafd+ suffixSymbol 9662173a435d59332bdcbcb24c037237+ symbol 8093c1d4f5a85b247a3a96c3fce3245c+ symbolBuilder 0bf3cfe602b4e00c658b71392faff862+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ showpp a9f79fc9a75f72593341c16b4b8ac492+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ Bop 58dd7eff6040aa97f060415235c6cb01+ Brel 3130541cdaa27975ca84ce0fd238d8aa+ Constant 77cbbec08e19a1217d2b733c8f08120e+ Div 09eefb562391cab23a1f4dcb4b3afda4+ EApp 54242238b0fd99173645e603ea6a95e1+ EBin 584c6077045554d53d7c9a89592b60d3+ ECoerc d62592d9495e238bd832577950db4048+ ECon 5baa7919e17f9fc7e290e6ec391edfe0+ ECst 77d8fb760e457bfd124c455ed691c864+ EIte bcb7471d1eafba69c1a57099f120b1bb+ ELam e0029a0f9c90cfaf5ca8a8fc8de8a995+ ENeg c7c4772e5c9c737684dc4ada02f5ae77+ ESym 1e9d62c909ab81c24aa5b70ea45dd385+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Eq 3f11ae5b47578ad5a2c554235bd0e66b+ Expr 58dd7eff6040aa97f060415235c6cb01+ Ge 20def8c87168e6dfa6102e1e789292df+ Gt efc2101db1845d999f94f634dfaf1339+ I 90217a394fcf0061b39dc2e3fba98b11+ L cb92c00e18083bd8988b20d1d090bc2b+ Le b76eccc268995647ce696445ad0fc538+ Lt 0dd388ae9584ef1ec44c96b5c623d39e+ Minus 753b0ebcc781b33045da2534da8dbe54+ Mod 1b418826ebbc244a0849550273fecdeb+ Ne 8de2833323f56b086978249fd6265b9b+ PAll 95061dd88b416f835271772df1b74807+ PAnd 668269c725f0f517f2cefead144acbec+ PAtom efd69e8b2834a0937ec103ca6d2f2b7d+ PExist c6ca2ca0202788949bf0d916db637f7a+ PFalse e43985c1fbf5446eb7e361fefcd63600+ PIff 2a17d6131a34fb2676761302524edfd8+ PImp 71d909aca81df6b76b372b30b2979f8d+ PNot dd52d33c67ccd94ba2b9bc2daaf6153f+ POr 8896d8a5009f7964d0fb6a9c72eaff6c+ PTrue 1c366fec6a192dc993b90d2b711bd4f4+ Plus 9f396120748621b21fd37878d2f4db4b+ R 801e4115533995c5d14bb91969b23812+ RDiv c7b9a2fb71132dbc0e7e681a88ccdaeb+ RTimes 7f574daa7c73d079e322c4abfab857af+ SymConst 70bf9d44b2d107fffacade38f4990bd9+ Times 2ba8ff078e8f2a7d98c93cf423720bf2+ Ueq c1bef9e1715331b850d7aab346e55603+ Une 210ed236d1dc917037d1f78bf2a540d7+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ DCtor 83abb43312b463b0aab541d71e991649+ DDecl fa32e5752577cfb40168e5b5c1c85117+ DField 429b10dd092babacb22326bf6fb45b30+ DataCtor 90984d28a9f3c849d44b1ec37334f5cb+ DataDecl 90984d28a9f3c849d44b1ec37334f5cb+ DataField 842b037f4a3d7555ff8e2c17ccb73443+ FFunc a2098452dd53c51f7531db6145200e8d+ FInt feec19063de9031ab717875a0a60c7b0+ FTycon 30d6fd7d99459ff88296e3b55c87b46c+ FVar a3c34a432d4203ec59fb1483b26cb260+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ ddTyCon 90984d28a9f3c849d44b1ec37334f5cb+ ddVars 90984d28a9f3c849d44b1ec37334f5cb+ isPolyInst 676f1726c10c87f40ca1a0650d1b61c8+ mkPoly 0a7ab8f8c203859fcd432a2dfdd5abb2+ muSort e2cb2ad7e858df633905b445c4a9097a+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ atLoc 1d33f99909507b18efe9f42abbbb5952+ val 98c2e3118bdcfbfec2dfd5f953f55cfd+import -/ Language.Fixpoint.Types.Theories 2d31db6b0cdc7b0f2231db238b021516+ SVar 1aff186e655e8d77ca69232937c11c86+ SymEnv 0506688674ca55c28cc4df4c4dbdb2df+ seData 0506688674ca55c28cc4df4c4dbdb2df+ sortSmtSort 4fef6a945014c08fdd9da90cda8a95e3+ symEnvSort 4e4e9cdbc3a9475a23f86b15dfd87974+ symbolAtName bd64b79fb7384a9bc331801c046897dc+import -/ Language.Fixpoint.Types.Triggers 8abd2355db756b37b9b5fb3b0ce44e32+ NoTrigger 5a94771b74ef97d5c85741aafcf31fc5+ TR a3d1f7b1a17835a315118c4cf4f7907f+ Triggered d4e347d662ffae46e19beccd9e71f8e0+ makeTriggers 2aac80cb129f655dea3c920779f3cb46+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ foldDataDecl fa01ba3dae0c84e0cae8da375e05be82+import -/ text-1.2.3.1:Data.Text.Internal.Builder 1797fde4ca8ef0dc40109aae6e9f65de+import -/ text-1.2.3.1:Data.Text.Lazy.Builder 8de68d4400c5e110387b343256e7694d+import -/ text-format-0.3.2:Data.Text.Format cba82cf42fed813596d553c521d7a97b+import -/ text-format-0.3.2:Data.Text.Format.Types.Internal 1598e6eab18221563e1d2913dbbf595c+46992b742ccda93bcba528d13db2ae19+ $fSMTLIB2(,) ::+ Language.Fixpoint.Smt.Types.SMTLIB2+ (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)+ DFunId+b319668665e5dc8389a99cb86cb5e993+ $fSMTLIB2Bop ::+ Language.Fixpoint.Smt.Types.SMTLIB2+ Language.Fixpoint.Types.Refinements.Bop+ DFunId+e933d1c45a438357f052824ce0856477+ $fSMTLIB2Brel ::+ Language.Fixpoint.Smt.Types.SMTLIB2+ Language.Fixpoint.Types.Refinements.Brel+ DFunId+e4586654cd4278030a075d924893634f+ $fSMTLIB2Command ::+ Language.Fixpoint.Smt.Types.SMTLIB2+ Language.Fixpoint.Smt.Types.Command+ DFunId+911b68de6a4fdf5f80637d529a32cf79+ $fSMTLIB2Constant ::+ Language.Fixpoint.Smt.Types.SMTLIB2+ Language.Fixpoint.Types.Refinements.Constant+ DFunId+08fdc7382b97cae7ddf8b5cd240d1bb4+ $fSMTLIB2Expr ::+ Language.Fixpoint.Smt.Types.SMTLIB2+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+dc17acf9257de5e74370e8af9c894ed3+ $fSMTLIB2Located ::+ Language.Fixpoint.Smt.Types.SMTLIB2+ Language.Fixpoint.Types.Names.LocSymbol+ DFunId+081c56db97690851206a08b861455aac+ $fSMTLIB2SymConst ::+ Language.Fixpoint.Smt.Types.SMTLIB2+ Language.Fixpoint.Types.Refinements.SymConst+ DFunId+a39a1ab45693fb60bdedad513a2debb8+ $fSMTLIB2Symbol ::+ Language.Fixpoint.Smt.Types.SMTLIB2+ Language.Fixpoint.Types.Names.Symbol+ DFunId+fef403dded5e1c9973a1b96c617555c2+ $fSMTLIB2Triggered ::+ Language.Fixpoint.Smt.Types.SMTLIB2+ (Language.Fixpoint.Types.Triggers.Triggered+ Language.Fixpoint.Types.Refinements.Expr)+ DFunId+e4a82b2b96184332c848d8176744d8c2+ $trModule :: GHC.Types.Module+f115c6c1fbd64b314f8d0dace0440705+ smt2SortMono ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ a+ -> Language.Fixpoint.Types.Theories.SymEnv+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Data.Text.Internal.Builder.Builder+instance [orphan] Language.Fixpoint.Smt.Types.SMTLIB2 [(,)]+ = Language.Fixpoint.Smt.Serialize.$fSMTLIB2(,)+instance [orphan] Language.Fixpoint.Smt.Types.SMTLIB2 [Language.Fixpoint.Types.Refinements.Bop]+ = Language.Fixpoint.Smt.Serialize.$fSMTLIB2Bop+instance [orphan] Language.Fixpoint.Smt.Types.SMTLIB2 [Language.Fixpoint.Types.Refinements.Brel]+ = Language.Fixpoint.Smt.Serialize.$fSMTLIB2Brel+instance [orphan] Language.Fixpoint.Smt.Types.SMTLIB2 [Language.Fixpoint.Smt.Types.Command]+ = Language.Fixpoint.Smt.Serialize.$fSMTLIB2Command+instance [orphan] Language.Fixpoint.Smt.Types.SMTLIB2 [Language.Fixpoint.Types.Refinements.Constant]+ = Language.Fixpoint.Smt.Serialize.$fSMTLIB2Constant+instance [orphan] Language.Fixpoint.Smt.Types.SMTLIB2 [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Smt.Serialize.$fSMTLIB2Expr+instance [orphan] Language.Fixpoint.Smt.Types.SMTLIB2 [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Smt.Serialize.$fSMTLIB2Located+instance [orphan] Language.Fixpoint.Smt.Types.SMTLIB2 [Language.Fixpoint.Types.Refinements.SymConst]+ = Language.Fixpoint.Smt.Serialize.$fSMTLIB2SymConst+instance [orphan] Language.Fixpoint.Smt.Types.SMTLIB2 [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Smt.Serialize.$fSMTLIB2Symbol+instance [orphan] Language.Fixpoint.Smt.Types.SMTLIB2 [Language.Fixpoint.Types.Triggers.Triggered]+ = Language.Fixpoint.Smt.Serialize.$fSMTLIB2Triggered+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,312 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:40.199755 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories [orphan module] 8065+ interface hash: 8d57f350b3ae5f32a32d4827138f25c4+ ABI hash: 48905aa2dfb4a1b0b274452f97471e3d+ export-list hash: ad53920eb85c0904d205515774324773+ orphan hash: 0b6748d88424da318097b1dbd3fbdfcd+ flag hash: 123de8dd45496a2ccc5ba81ed4d64fdc+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Smt.Theories.axiomLiterals+ Language.Fixpoint.Smt.Theories.dataDeclSymbols+ Language.Fixpoint.Smt.Theories.isSmt2App+ Language.Fixpoint.Smt.Theories.mapCup+ Language.Fixpoint.Smt.Theories.mapDef+ Language.Fixpoint.Smt.Theories.mapSel+ Language.Fixpoint.Smt.Theories.mapSto+ Language.Fixpoint.Smt.Theories.maxLamArg+ Language.Fixpoint.Smt.Theories.preamble+ Language.Fixpoint.Smt.Theories.setAdd+ Language.Fixpoint.Smt.Theories.setCap+ Language.Fixpoint.Smt.Theories.setCom+ Language.Fixpoint.Smt.Theories.setCup+ Language.Fixpoint.Smt.Theories.setDif+ Language.Fixpoint.Smt.Theories.setEmp+ Language.Fixpoint.Smt.Theories.setEmpty+ Language.Fixpoint.Smt.Theories.setMem+ Language.Fixpoint.Smt.Theories.setSng+ Language.Fixpoint.Smt.Theories.setSub+ Language.Fixpoint.Smt.Theories.smt2App+ Language.Fixpoint.Smt.Theories.smt2Symbol+ Language.Fixpoint.Smt.Theories.theorySymbols+ Language.Fixpoint.Types.Sorts.sizeBv+ Language.Fixpoint.Types.Theories.sortSmtSort+module dependencies: Language.Fixpoint.Misc+ 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Utils.Files Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0 pretty-1.1.3.6+ process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7 text-1.2.3.1+ text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2 unix-2.7.2.2+ unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ text-1.2.3.1:Data.Text.Lazy text-1.2.3.1:Data.Text+ binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.String fa00d4c51cd8d22ee4f54a25f9e9c97d+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ Language.Fixpoint.Smt.Types 30a3f200618617e4fc3b128e7ad80e5a+ exports: 9d5346cc8b2fc98cde08d06579c7cca6+ SMTLIB2 c21caa89e781f0f2b1e49c79f9b4130a+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+ Cvc4 9135f320d6df9a8f83ab7ab3df453b24+ SMTSolver 16932a7b6f7e2d9f5e812b1ebb37105a+ Z3 2ae9f1572523128eb05e6a00c898b40c+ linear 3988ec36858b82afed711ea7ff67ff00+ solver 3988ec36858b82afed711ea7ff67ff00+ stringTheory 3988ec36858b82afed711ea7ff67ff00+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ SEnv 7b76b1b3898bd64fc8c2187c261c0f80+ fromListSEnv 22654f2135f1b607f7ee82962c09eb4c+ lookupSEnv 94599d47b6378649795b045198f42e89+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+ boolToIntName 2f2e9300f8202a4d7e106ba0a7f7b2c3+ buildMany f14f2cccc11f92b60f7e06649edc7b82+ bvAndName f0343b8a4f8bd92677e59ed88901c889+ bvOrName efd850d2d2d132e184bb436c2e5ec069+ divFuncName dae7813b9ecfad96423501941a112512+ mulFuncName 6a890e2f1ef5cfc3e80b39dbbfa3fafd+ strConName 9c4c6b48478291cfa01860495bbf65e3+ symbol 8093c1d4f5a85b247a3a96c3fce3245c+ symbolBuilder 0bf3cfe602b4e00c658b71392faff862+ symbolSafeText b9e4ff6615316241fdd787ea01365fab+ symbolText eec089aa19dd5c0554fdac0c2f873812+ testSymbol df4cac5e60d2d037be7846adb2b96088+ unLitSymbol b4214c4a262ed4871aa13dc9bbb092fa+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ EApp 54242238b0fd99173645e603ea6a95e1+ ECst 77d8fb760e457bfd124c455ed691c864+ EEq b022fbb5d44329cad435c5cf3295d97c+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Expr 58dd7eff6040aa97f060415235c6cb01+ expr bb69a3829a24dac6732a3d85fdbf277f+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ exports: b866d80011faf2d8f77449fdc11dc733+ DDecl fa32e5752577cfb40168e5b5c1c85117+ DataCtor 90984d28a9f3c849d44b1ec37334f5cb+ DataDecl 90984d28a9f3c849d44b1ec37334f5cb+ DataField 842b037f4a3d7555ff8e2c17ccb73443+ FAbs 8827fd69dabe452c42c2c745dfa98689+ FFunc a2098452dd53c51f7531db6145200e8d+ FTC e5d6113e0ae80db3702c5a83dedd8a7f+ FVar a3c34a432d4203ec59fb1483b26cb260+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ bitVecSort fb482949084196d18d148139ee7f05ff+ bkFFunc dd65fbe61e298d432b652ba1d8c095a0+ boolSort 05be9e1ff80dff4f05fc2d8105076210+ dcFields 90984d28a9f3c849d44b1ec37334f5cb+ ddCtors 90984d28a9f3c849d44b1ec37334f5cb+ ddTyCon 90984d28a9f3c849d44b1ec37334f5cb+ ddVars 90984d28a9f3c849d44b1ec37334f5cb+ dfSort 842b037f4a3d7555ff8e2c17ccb73443+ fAppTC d1730a0e7e76ba505e7fb32cccadc22b+ intSort ab1a8687c0d53db967e03c16ee505e9c+ isPolyInst 676f1726c10c87f40ca1a0650d1b61c8+ isString 3c267f62fc9e05bc4e545153ea826927+ mapSort c383da3147fdba1ec21866e7d2b99fb8+ mkFFunc 7fc888cdee141d3972072d0738f6e6fc+ setSort bd8955fcea07424549befb5ca89dd160+ sizeBv 23d61dced12a09cf4058ece06537f20a+ strSort c638fae801e8e1f254334aa30682ab3e+import -/ Language.Fixpoint.Types.Theories 2d31db6b0cdc7b0f2231db238b021516+ Ctor b4465861f103853ee835cb5461075bab+ Field 9da710c8832cd8032b2c106ebd5baea1+ Raw a1cf5f50209455d2ca3b8e19aad75c5a+ SBitVec d63a0f9670c3d95c19b30e11441244c5+ SBool 37ca432c2e28f27b6520d4e98b146010+ SData 094f9de781dcefec30fe058d8c3b3acc+ SInt 8b6736903e8f8ce746f1f78a9b4657ad+ SMap b05e689da14fea37bfdfaab6e4e78d68+ SReal d62ece88926088e2cd9356a39a55de57+ SSet 8d6c7fd730c73c1a6e21b1d575d2b405+ SString 446121c8fcca85edec43dbd3a25a0fde+ SVar 1aff186e655e8d77ca69232937c11c86+ SmtSort 0506688674ca55c28cc4df4c4dbdb2df+ SymEnv 0506688674ca55c28cc4df4c4dbdb2df+ Test 84f5bf556ab4024ebf73fdfbf9623c35+ Theory c7597d4fa8fe997e8f49f0af8d93bbfc+ TheorySymbol 810e2965561391114a602ece3df70281+ Thy b12798c80fdc95179edfc0c3e40a2602+ sortSmtSort 4fef6a945014c08fdd9da90cda8a95e3+ symEnvTheory b4df3d48b26aea68a082338a9b46e1f3+ tsInterp 810e2965561391114a602ece3df70281+ tsRaw 810e2965561391114a602ece3df70281+ tsSort 810e2965561391114a602ece3df70281+import -/ text-1.2.3.1:Data.Text 681b9c3df5b4e4b4e23ef5f840f0b692+import -/ text-1.2.3.1:Data.Text.Internal 537e168590e8068f673f691833f78483+import -/ text-1.2.3.1:Data.Text.Internal.Builder 1797fde4ca8ef0dc40109aae6e9f65de+import -/ text-1.2.3.1:Data.Text.Internal.Lazy 60724f417edac0a71b3efdb9a450a954+import -/ text-1.2.3.1:Data.Text.Lazy 5dfd4775189d1cf6b5f168bbf44e9081+import -/ text-1.2.3.1:Data.Text.Lazy.Builder 8de68d4400c5e110387b343256e7694d+import -/ text-format-0.3.2:Data.Text.Format cba82cf42fed813596d553c521d7a97b+import -/ text-format-0.3.2:Data.Text.Format.Types.Internal 1598e6eab18221563e1d2913dbbf595c+3e925c519d694e3cd1a4028b1ada87fe+ $fSMTLIB2SmtSort ::+ Language.Fixpoint.Smt.Types.SMTLIB2+ Language.Fixpoint.Types.Theories.SmtSort+ DFunId+c2775175f34b2cc667c7306954561690+ $trModule :: GHC.Types.Module+a488e80c559428a94278e4f947e80ba7+ type VarAs =+ Language.Fixpoint.Types.Theories.SymEnv+ -> Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Data.Text.Internal.Builder.Builder+de7d96c4bc2a342e684aa14f04bff119+ axiomLiterals ::+ [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ -> [Language.Fixpoint.Types.Refinements.Expr]+2d8583043a65b8ef8c4b1daa1cc034db+ dataDeclSymbols ::+ Language.Fixpoint.Types.Sorts.DataDecl+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Theories.TheorySymbol)]+4bca5c3e927ebbaefbcba7d5449308b6+ isSmt2App ::+ Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Theories.TheorySymbol+ -> Language.Fixpoint.Types.Refinements.Expr+ -> GHC.Maybe.Maybe GHC.Types.Int+b8be3d46ed50bd3a8283a13f3c715207+ mapCup :: Language.Fixpoint.Types.Names.Symbol+981738696ae06f9068663c6d696d55e1+ mapDef :: Language.Fixpoint.Types.Names.Symbol+c5c2be2f77f2801dcf5c15316a7c0407+ mapSel :: Language.Fixpoint.Types.Names.Symbol+cf71f164696934f679513bb06eb2908f+ mapSto :: Language.Fixpoint.Types.Names.Symbol+4e140ce4832691610fcde35b96446628+ maxLamArg :: GHC.Types.Int+a0444fb9ec9c32e46c801435f3c11ec5+ preamble ::+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Config.SMTSolver+ -> [Data.Text.Internal.Lazy.Text]+35b4af51a52a3f63e508aaff70f2cc69+ setAdd :: Language.Fixpoint.Types.Names.Symbol+8bdab53e29fa2f09ffb9c64f4ca5c90f+ setCap :: Language.Fixpoint.Types.Names.Symbol+11621cb494c86586827ca3b736e1f83a+ setCom :: Language.Fixpoint.Types.Names.Symbol+7b5b3a6c85487c9610d5743bcb4d9f39+ setCup :: Language.Fixpoint.Types.Names.Symbol+927aaebe44df3f20cb5431d8fd4467f2+ setDif :: Language.Fixpoint.Types.Names.Symbol+e6fbc3b6d38b7bcb37b2eac1469dd409+ setEmp :: Language.Fixpoint.Types.Names.Symbol+bd16bf21399d0491f202742b083216c9+ setEmpty :: Language.Fixpoint.Types.Names.Symbol+ba935d1cac98d1412e366372e71ec7a0+ setMem :: Language.Fixpoint.Types.Names.Symbol+d8d14eb99f344f5877457b33539e47ab+ setSng :: Language.Fixpoint.Types.Names.Symbol+cc446eadc66714aefda7298260508902+ setSub :: Language.Fixpoint.Types.Names.Symbol+02b5cd913447494ceea7b7116ad9d87d+ smt2App ::+ Language.Fixpoint.Smt.Theories.VarAs+ -> Language.Fixpoint.Types.Theories.SymEnv+ -> Language.Fixpoint.Types.Refinements.Expr+ -> [Data.Text.Internal.Builder.Builder]+ -> GHC.Maybe.Maybe Data.Text.Internal.Builder.Builder+991c65df5a4a4d39044c400f60a0fd64+ smt2Symbol ::+ Language.Fixpoint.Types.Theories.SymEnv+ -> Language.Fixpoint.Types.Names.Symbol+ -> GHC.Maybe.Maybe Data.Text.Internal.Builder.Builder+9dfe89aaf21384da84484dd10769925d+ theorySymbols ::+ [Language.Fixpoint.Types.Sorts.DataDecl]+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Theories.TheorySymbol+instance [orphan] Language.Fixpoint.Smt.Types.SMTLIB2 [Language.Fixpoint.Types.Theories.SmtSort]+ = Language.Fixpoint.Smt.Theories.$fSMTLIB2SmtSort+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,272 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:39.876089 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Types 8065+ interface hash: 15a2ed4719d3980f23a1c6dc9472fd68+ ABI hash: 30a3f200618617e4fc3b128e7ad80e5a+ export-list hash: 9d5346cc8b2fc98cde08d06579c7cca6+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 854da82dfdf4c165a063cc284fd3304e+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Smt.Types.runSmt2+ Language.Fixpoint.Smt.Types.Command{Language.Fixpoint.Smt.Types.Assert Language.Fixpoint.Smt.Types.AssertAx Language.Fixpoint.Smt.Types.CMany Language.Fixpoint.Smt.Types.CheckSat Language.Fixpoint.Smt.Types.DeclData Language.Fixpoint.Smt.Types.Declare Language.Fixpoint.Smt.Types.Define Language.Fixpoint.Smt.Types.Distinct Language.Fixpoint.Smt.Types.GetValue Language.Fixpoint.Smt.Types.Pop Language.Fixpoint.Smt.Types.Push}+ Language.Fixpoint.Smt.Types.Context{Language.Fixpoint.Smt.Types.Ctx ctxCin ctxCout ctxLog ctxPid ctxSymEnv ctxVerbose}+ Language.Fixpoint.Smt.Types.Response{Language.Fixpoint.Smt.Types.Error Language.Fixpoint.Smt.Types.Ok Language.Fixpoint.Smt.Types.Sat Language.Fixpoint.Smt.Types.Unknown Language.Fixpoint.Smt.Types.Unsat Language.Fixpoint.Smt.Types.Values}+ Language.Fixpoint.Smt.Types.SMTLIB2{Language.Fixpoint.Smt.Types.smt2}+module dependencies: Language.Fixpoint.Misc 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Utils.Files Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2 unix-2.7.2.2+ unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.IO.Handle.Types 8909e00409cd23d4e66395a7e93f216d+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ pprint 955dc9d031db587300edf6146ac33be4+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ Expr 58dd7eff6040aa97f060415235c6cb01+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ DataDecl 90984d28a9f3c849d44b1ec37334f5cb+ Sort 30d6fd7d99459ff88296e3b55c87b46c+import -/ Language.Fixpoint.Types.Theories 2d31db6b0cdc7b0f2231db238b021516+ SmtSort 0506688674ca55c28cc4df4c4dbdb2df+ SymEnv 0506688674ca55c28cc4df4c4dbdb2df+import -/ Language.Fixpoint.Types.Triggers 8abd2355db756b37b9b5fb3b0ce44e32+ Triggered d4e347d662ffae46e19beccd9e71f8e0+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ process-1.6.5.0:System.Process 2e810cee2a417b14ed03c6fbb00362a9+import -/ process-1.6.5.0:System.Process.Common 4971a958b3afdd38bd752a68ac80c12a+import -/ text-1.2.3.1:Data.Text 681b9c3df5b4e4b4e23ef5f840f0b692+import -/ text-1.2.3.1:Data.Text.Internal 537e168590e8068f673f691833f78483+import -/ text-1.2.3.1:Data.Text.Internal.Builder 1797fde4ca8ef0dc40109aae6e9f65de+import -/ text-1.2.3.1:Data.Text.Lazy.Builder 8de68d4400c5e110387b343256e7694d+9bb122f606f996c5adbb9f937fa876ad+ $fEqCommand :: GHC.Classes.Eq Language.Fixpoint.Smt.Types.Command+ DFunId+892ca3543d00b690ecbcc0f8d9257ec5+ $fEqResponse :: GHC.Classes.Eq Language.Fixpoint.Smt.Types.Response+ DFunId+9bb122f606f996c5adbb9f937fa876ad+ $fPPrintCommand ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Smt.Types.Command+ DFunId+9bb122f606f996c5adbb9f937fa876ad+ $fShowCommand :: GHC.Show.Show Language.Fixpoint.Smt.Types.Command+ DFunId+892ca3543d00b690ecbcc0f8d9257ec5+ $fShowResponse ::+ GHC.Show.Show Language.Fixpoint.Smt.Types.Response+ DFunId+b7b04f1ef21c0f99836c719c63237eee+ $tc'Assert :: GHC.Types.TyCon+0fe667d36ce9759b4ca5fbd2c77557ac+ $tc'AssertAx :: GHC.Types.TyCon+78ad04311d97e8a30a8a5e334272057f+ $tc'C:SMTLIB2 :: GHC.Types.TyCon+4c533a0f42285c1d2543156704c6a843+ $tc'CMany :: GHC.Types.TyCon+ba13581510f4ecf64afd574444a66965+ $tc'CheckSat :: GHC.Types.TyCon+9061cd3b9e5e58273089906c6e14b0eb+ $tc'Ctx :: GHC.Types.TyCon+cbe45c9ea89f813052cc766694729b00+ $tc'DeclData :: GHC.Types.TyCon+f076a39b8bb66543649cffb07324ee6a+ $tc'Declare :: GHC.Types.TyCon+e1c999198b4c1dcd205ffe14d1cb31c1+ $tc'Define :: GHC.Types.TyCon+26958ee0e60ae79aca608fdd92cf873a+ $tc'Distinct :: GHC.Types.TyCon+afca9e6853baa909873cdad329d47643+ $tc'Error :: GHC.Types.TyCon+6a723519c5d3e1d4d61e2f612dbd9608+ $tc'GetValue :: GHC.Types.TyCon+b91596adf0f8c15ad2bac14be927bf16+ $tc'Ok :: GHC.Types.TyCon+0767b2e28af4cf2a14033dcce87dcb69+ $tc'Pop :: GHC.Types.TyCon+d4d0e25d3b4e890703e1c9882146b978+ $tc'Push :: GHC.Types.TyCon+a290d0bb7d99be7b28def742674056b3+ $tc'Sat :: GHC.Types.TyCon+6efeb05aa347be44418d09c3d5b8c254+ $tc'Unknown :: GHC.Types.TyCon+fec131500b5d06ff48892d72e0ac0701+ $tc'Unsat :: GHC.Types.TyCon+c06d0048a594160bfc6153e43c417a68+ $tc'Values :: GHC.Types.TyCon+91dc340f87fca3bcaf264fc6476bfef7+ $tcCommand :: GHC.Types.TyCon+e6ae4bc5a5757b990dfd764771793e13+ $tcContext :: GHC.Types.TyCon+b101c643887cbce89499dbac5867e248+ $tcResponse :: GHC.Types.TyCon+65b6b29fe228ee9f7909ab704db5effd+ $tcSMTLIB2 :: GHC.Types.TyCon+f6c820e85e0f72d092b10b9c8e8f6817+ $trModule :: GHC.Types.Module+9bb122f606f996c5adbb9f937fa876ad+ data Command+ = Push+ | Pop+ | CheckSat+ | DeclData ![Language.Fixpoint.Types.Sorts.DataDecl]+ | Declare !Language.Fixpoint.Types.Names.Symbol+ [Language.Fixpoint.Types.Theories.SmtSort]+ !Language.Fixpoint.Types.Theories.SmtSort+ | Define !Language.Fixpoint.Types.Sorts.Sort+ | Assert !(GHC.Maybe.Maybe GHC.Types.Int)+ !Language.Fixpoint.Types.Refinements.Expr+ | AssertAx !(Language.Fixpoint.Types.Triggers.Triggered+ Language.Fixpoint.Types.Refinements.Expr)+ | Distinct [Language.Fixpoint.Types.Refinements.Expr]+ | GetValue [Language.Fixpoint.Types.Names.Symbol]+ | CMany [Language.Fixpoint.Smt.Types.Command]+372fcf0b6b50436d0652b44de8ce661a+ data Context+ = Ctx {ctxPid :: !System.Process.Common.ProcessHandle,+ ctxCin :: !GHC.IO.Handle.Types.Handle,+ ctxCout :: !GHC.IO.Handle.Types.Handle,+ ctxLog :: !(GHC.Maybe.Maybe GHC.IO.Handle.Types.Handle),+ ctxVerbose :: !GHC.Types.Bool,+ ctxSymEnv :: !Language.Fixpoint.Types.Theories.SymEnv}+892ca3543d00b690ecbcc0f8d9257ec5+ data Response+ = Ok+ | Sat+ | Unsat+ | Unknown+ | Values [(Language.Fixpoint.Types.Names.Symbol,+ Data.Text.Internal.Text)]+ | Error !Data.Text.Internal.Text+c21caa89e781f0f2b1e49c79f9b4130a+ class SMTLIB2 a where+ smt2 :: Language.Fixpoint.Types.Theories.SymEnv+ -> a -> Data.Text.Internal.Builder.Builder+ {-# MINIMAL smt2 #-}+372fcf0b6b50436d0652b44de8ce661a+ ctxCin ::+ Language.Fixpoint.Smt.Types.Context -> GHC.IO.Handle.Types.Handle+ RecSel Left Language.Fixpoint.Smt.Types.Context+372fcf0b6b50436d0652b44de8ce661a+ ctxCout ::+ Language.Fixpoint.Smt.Types.Context -> GHC.IO.Handle.Types.Handle+ RecSel Left Language.Fixpoint.Smt.Types.Context+372fcf0b6b50436d0652b44de8ce661a+ ctxLog ::+ Language.Fixpoint.Smt.Types.Context+ -> GHC.Maybe.Maybe GHC.IO.Handle.Types.Handle+ RecSel Left Language.Fixpoint.Smt.Types.Context+372fcf0b6b50436d0652b44de8ce661a+ ctxPid ::+ Language.Fixpoint.Smt.Types.Context+ -> System.Process.Common.ProcessHandle+ RecSel Left Language.Fixpoint.Smt.Types.Context+372fcf0b6b50436d0652b44de8ce661a+ ctxSymEnv ::+ Language.Fixpoint.Smt.Types.Context+ -> Language.Fixpoint.Types.Theories.SymEnv+ RecSel Left Language.Fixpoint.Smt.Types.Context+372fcf0b6b50436d0652b44de8ce661a+ ctxVerbose :: Language.Fixpoint.Smt.Types.Context -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Smt.Types.Context+befc92af64d9538adba120f32da674cf+ runSmt2 ::+ Language.Fixpoint.Smt.Types.SMTLIB2 a =>+ Language.Fixpoint.Types.Theories.SymEnv+ -> a -> Data.Text.Internal.Builder.Builder+instance GHC.Classes.Eq [Language.Fixpoint.Smt.Types.Command]+ = Language.Fixpoint.Smt.Types.$fEqCommand+instance GHC.Classes.Eq [Language.Fixpoint.Smt.Types.Response]+ = Language.Fixpoint.Smt.Types.$fEqResponse+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Smt.Types.Command]+ = Language.Fixpoint.Smt.Types.$fPPrintCommand+instance GHC.Show.Show [Language.Fixpoint.Smt.Types.Command]+ = Language.Fixpoint.Smt.Types.$fShowCommand+instance GHC.Show.Show [Language.Fixpoint.Smt.Types.Response]+ = Language.Fixpoint.Smt.Types.$fShowResponse+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,312 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:55.179024 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver 8065+ interface hash: 01e76b079fd7446edc87dd7e29a799bd+ ABI hash: 039893cf368a87c0167e7e5ab0a6c92e+ export-list hash: acb796eeaeb3020b98cff7c00317780c+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: d069f64e33f977f368178093db49348f+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Solver.parseFInfo+ Language.Fixpoint.Solver.resultExitCode+ Language.Fixpoint.Solver.simplifyFInfo+ Language.Fixpoint.Solver.solve+ Language.Fixpoint.Solver.solveFQ+ Language.Fixpoint.Types.Errors.resultExit+ Language.Fixpoint.Types.Constraints.Solver+module dependencies: Language.Fixpoint.Defunctionalize+ Language.Fixpoint.Graph Language.Fixpoint.Graph.Deps+ Language.Fixpoint.Graph.Indexed Language.Fixpoint.Graph.Partition+ Language.Fixpoint.Graph.Reducible Language.Fixpoint.Graph.Types+ Language.Fixpoint.Minimize Language.Fixpoint.Misc+ Language.Fixpoint.Parse Language.Fixpoint.Smt.Bitvector+ Language.Fixpoint.Smt.Interface Language.Fixpoint.Smt.Serialize+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.Solver.Eliminate+ Language.Fixpoint.Solver.Instantiate Language.Fixpoint.Solver.Monad+ Language.Fixpoint.Solver.Sanitize Language.Fixpoint.Solver.Solution+ Language.Fixpoint.Solver.Solve+ Language.Fixpoint.Solver.UniqifyBinds+ Language.Fixpoint.Solver.UniqifyKVars+ Language.Fixpoint.Solver.Worklist Language.Fixpoint.SortCheck+ 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Language.Fixpoint.Utils.Progress Language.Fixpoint.Utils.Statistics+ Language.Fixpoint.Utils.Trie Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0+ ascii-progress-0.3.3.0 async-2.2.1 attoparsec-0.13.2.2+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5+ concurrent-output-1.10.9 containers-0.6.0.1 data-default-0.7.1.1+ data-default-class-0.1.2.0 data-default-instances-containers-0.0.1+ data-default-instances-dlist-0.0.1+ data-default-instances-old-locale-0.0.1 deepseq-1.4.4.0+ directory-1.3.3.0 dlist-0.8.0.6 double-conversion-2.0.2.0+ exceptions-0.10.2 fgl-5.7.0.1 filepath-1.4.2.1 ghc-boot-th-8.6.5+ ghc-prim-0.5.3 hashable-1.2.7.0 integer-gmp-1.0.2.0+ integer-logarithms-1.0.3 intern-0.9.2 mtl-2.2.2 old-locale-1.0.0.7+ parallel-3.2.2.0 parsec-3.1.13.0 pretty-1.1.3.6 primitive-0.6.4.0+ process-1.6.5.0 scientific-0.3.6.2 split-0.2.3.3 stm-2.5.0.0+ syb-0.7 template-haskell-2.14.0.0 terminal-size-0.3.2.1+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.Instantiate+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Serialize+ attoparsec-0.13.2.2:Data.Attoparsec.Text.Internal+ data-default-instances-containers-0.0.1:Data.Default.Instances.Containers+ data-default-instances-dlist-0.0.1:Data.Default.Instances.DList+ data-default-instances-old-locale-0.0.1:Data.Default.Instances.OldLocale+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ transformers-0.5.6.2:Control.Monad.Trans.Error+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: attoparsec-0.13.2.2:Data.Attoparsec.Internal.Types+ base-4.12.0.0:Control.Applicative base-4.12.0.0:Data.Complex+ base-4.12.0.0:Data.Functor.Compose base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ dlist-0.8.0.6:Data.DList+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ ghc-boot-th-8.6.5:GHC.ForeignSrcLang.Type+ ghc-boot-th-8.6.5:GHC.LanguageExtensions.Type+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Parse+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Bitvector+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.Monad+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.UniqifyBinds+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Utils.Statistics+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ+ primitive-0.6.4.0:Control.Monad.Primitive+ primitive-0.6.4.0:Data.Primitive.Array+ template-haskell-2.14.0.0:Language.Haskell.TH.Syntax+ terminal-size-0.3.2.1:System.Console.Terminal.Common+ text-1.2.3.1:Data.Text text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Concurrent 945d3c1c41ed03e6117e3861cad65d9f+import -/ base-4.12.0.0:Control.Exception 041da5b6267cf6b639ff5716d5b299a9+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Either 423bee738f25e5ee983d072216009be8+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Conc.Sync 275e94c5ede09d3593e4c106b892e4f5+import -/ base-4.12.0.0:GHC.IO 898d4ddbf00eb4732e5f462760aa42ae+import -/ base-4.12.0.0:GHC.IO.Exception 77722984940ee6ccf9e2f7dab10b83a4+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.Exit 3c945ec7c596067c067092c41083c3d0+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ binary-0.8.6.0:Data.Binary 47a89cefaa44e49e7fd21d133fce6a7e+import -/ cmdargs-0.10.20:System.Console.CmdArgs.Verbosity fa5402dbe76d4158a9bd93730fac6d67+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ Language.Fixpoint.Defunctionalize 1d90f9122b6c5e6ad683a06eb6b5b76c+ exports: 44b2eca79f60178c88556395b24303d5+ defunctionalize 6f11f2226cee00ae34549605683847f2+import -/ Language.Fixpoint.Graph 59334fea55dc8d64130719f78eeb5109+ exports: 70a8f3bb9be3a7f9430fb829908b4dcf+import -/ Language.Fixpoint.Graph.Deps f58fb5bc911772ff16e90c021342fd77+ graphStatistics 0c1e1a0a1a853779537b29a9aa270680+ slice ebd8822ee891d60be909112e676bd8ce+import -/ Language.Fixpoint.Graph.Partition 10b792bb9300a0bfeef35f9a6335155b+ mcInfo 1b954f79e466123de525c83e62f723ee+ partition 00f9f31dc845d7647e1224fc08a89d10+ partition' 604dec4b5afaf691202e7ed2938aa872+import -/ Language.Fixpoint.Minimize e941bb6b52946ad1ad891537e1cb7464+ exports: 3c339244b0eac7c117bb24be10fa31cb+ minKvars 9eff144d27bd764e1971ce9b28fa54e4+ minQuals 667f6a6a437290acf0ee4cb8ef93292b+ minQuery 82a6cea7516f24f1e6679a5bd62453c3+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ Loud 20d9cfe47287517748c900396beb2597+ asyncMapM 370bf19dc84bf4ffc8257d03329373c5+ colorStrLn 94a997a5ff4a362d7dc6b86c7da76ad9+ donePhase 8c86f9b1cc5432363fae6c5796ca46cf+ ensurePath b92908154869eb5d0777411abad08aef+ errorstar e47c2d482124b43e020a405f809adcff+ writeLoud da0cc108bb5411bb5d6b91b83e620d3c+import -/ Language.Fixpoint.Parse f8821d93a62aec9ae319d8a2deffc941+ exports: c04662d065b8ef9661ceae7d7cc1940d+ rr' 66f74a703039ab6ae2f53e539cbaf5ff+import -/ Language.Fixpoint.Solver.Instantiate 8ba0f55d94c73f3ce982816d9f02ce7a+ exports: 9247ada7aae1f49cda65642e8e5ad707+ instantiate 8ced8e87c5abac80e55281634661edb8+import -/ Language.Fixpoint.Solver.Sanitize da8eac0e8562bb4a8fb712f9620a920d+ exports: 09f539552af63f8cdd1953f939eb3211+ sanitize 427e152b4aa4bf6d186757add1bd8251+ symbolEnv e9ab0691e8ecbe0102273ed657a09d59+import -/ Language.Fixpoint.Solver.Solve 5efc001292648939458b24b2fb4e5f3f+ exports: ef1c27f5b11325829bfe189101295b68+ solve c89254094aa96d5dcc2bd118d701135a+import -/ Language.Fixpoint.Solver.UniqifyBinds eaa7879698d9e9a748103f95a9e44bfb+ exports: 3613463f7559bf1afa99a47660046389+ renameAll 080af345d0d20eb60d2e91ac3388b62b+import -/ Language.Fixpoint.Solver.UniqifyKVars b33b285b1ab2d8fc2b4096085d187ba8+ exports: d701e8feb000cdf3332b3a1143052610+ wfcUniqify e1280036b1cb1a1d81a71b43a7fbd569+import -/ Language.Fixpoint.SortCheck f7b7dc40080c3027ffc5d238db179224+ exports: fef1457ed33a6a1cb5bc6a8b38a1edff+ elaborate 5809c5e4abf9d4e8230e50ea3a386a0e+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ All c376829125505bb690ce06ee123dfa04+ Config 3988ec36858b82afed711ea7ff67ff00+ cores 3988ec36858b82afed711ea7ff67ff00+ eliminate 3988ec36858b82afed711ea7ff67ff00+ gradual 3988ec36858b82afed711ea7ff67ff00+ maxPartSize 3988ec36858b82afed711ea7ff67ff00+ minPartSize 3988ec36858b82afed711ea7ff67ff00+ minimize 3988ec36858b82afed711ea7ff67ff00+ minimizeKs 3988ec36858b82afed711ea7ff67ff00+ minimizeQs 3988ec36858b82afed711ea7ff67ff00+ multicore 69a77c1f2a1de6dfbff97d6e4292a39a+ parts 3988ec36858b82afed711ea7ff67ff00+ queryFile 24dfc95af04dba576b5be5b6594619e1+ save 3988ec36858b82afed711ea7ff67ff00+ srcFile 3988ec36858b82afed711ea7ff67ff00+ stats 3988ec36858b82afed711ea7ff67ff00+ withPragmas 7a2d56db26a96b6ec8ae137971b30663+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ FInfo b6d52641b5c0c13c0e61844e2114eb16+ FInfoWithOpts 803d2f995b056771c08edfce347cb407+ Result b62c3629307de4be785c11501bbf9249+ Result 9b37020b88a84332f42c4a4efcccc0c2+ SInfo 90ef96c47f269969affd7c3639af34f3+ Solver 5f11195f89eea9e971cb52093960dc22+ SubcId 311c8f398e2d0f5e23e664bacb45f905+ convertFormat 17fb29836fb34a6bfc26bbf23b2473ba+ dLits 90ef96c47f269969affd7c3639af34f3+ fioFI 803d2f995b056771c08edfce347cb407+ fioOpts 803d2f995b056771c08edfce347cb407+ gLits 90ef96c47f269969affd7c3639af34f3+ gresSolution 9b37020b88a84332f42c4a4efcccc0c2+ quals 90ef96c47f269969affd7c3639af34f3+ remakeQual 0a2689fea078c5e91430e58870107f9d+ resSolution 9b37020b88a84332f42c4a4efcccc0c2+ resStatus 9b37020b88a84332f42c4a4efcccc0c2+ saveQuery 547dfa1885614d5beeb6bfd5ba6a1b3c+ toFixpoint 45b39b5a071a079c10972832dc83941b+import -/ Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+ exports: 89a9dc85e57ecc980170ae7cb32d2921+ Crash 8dce1b12135eab1786bee372065fb937+ Error f5aa082d4556718e292f7fedf0bb1503+ colorResult 709f5fbb6d9dbca4f5da58f6305e5cdd+ die b694e04a36caf383107b8f2e73ae279e+ resultDoc 46d95b9743a9497ff7d25fcfb5d46218+ resultExit 6f6554eb2c105c8ef9383340c6b83edc+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ showpp a9f79fc9a75f72593341c16b4b8ac492+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ Loc 4962bb0bc274d9001b974c3326b63480+ atLoc 1d33f99909507b18efe9f42abbbb5952+ dummySpan 4c3a1f24b19908507cae45f533bfffe9+import -/ Language.Fixpoint.Utils.Files b2b779ebebf03f66af4a684b17d25d25+ exports: 061e3dd63eb42c6c413f2db46ae3d0cb+ Out 045dcbb1c6e99954ac68641e69f8396b+ Part 9245f0b9967fcd6cf47f1f2c64cb661b+ isBinary 37556bf16c847289b917ecc01530f9ab+import -/ Language.Fixpoint.Utils.Statistics a8be1c26046998f1d95064c036444766+ exports: ba4945ac0b49e3ad40e9d67f9559776c+ statistics f3a176c0c1d38972b14ed90674e8b5ea+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+390a00c2c1ce3bf55acfda0e45ac30e2+ $trModule :: GHC.Types.Module+bac1fb50eb548a4a6419af204ca1b643+ parseFInfo ::+ [GHC.IO.FilePath]+ -> GHC.Types.IO (Language.Fixpoint.Types.Constraints.FInfo a)+7255a054cfc0599dec80692c7d7e6f97+ resultExitCode ::+ Language.Fixpoint.Types.Constraints.Result+ Language.Fixpoint.Types.Constraints.SubcId+ -> GHC.Types.IO GHC.IO.Exception.ExitCode+a1c8c1e914c7b20c69ced40f2912ca02+ simplifyFInfo ::+ (Control.DeepSeq.NFData a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a, GHC.Show.Show a,+ Language.Fixpoint.Types.Spans.Loc a) =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.FInfo a+ -> GHC.Types.IO (Language.Fixpoint.Types.Constraints.SInfo a)+b4bd1c67efecd9fcbca35dfedb838546+ solve ::+ (Control.DeepSeq.NFData a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a, GHC.Show.Show a,+ Language.Fixpoint.Types.Spans.Loc a) =>+ Language.Fixpoint.Types.Constraints.Solver a+280b4d0aa9c8da13f881a83224122ef0+ solveFQ ::+ Language.Fixpoint.Types.Config.Config+ -> GHC.Types.IO GHC.IO.Exception.ExitCode+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,186 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:54.443498 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.Eliminate 8065+ interface hash: a311fb3516783ecdf1ef9061da606096+ ABI hash: 4266a8beca0a8b31df2fbb85c1238905+ export-list hash: 9f31657091ba220b7c3a3ed90e2d5fca+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 6b011c82d04b3a35d09d8f03f4bc561c+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Solver.Eliminate.solverInfo+module dependencies: Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.Solver.Sanitize Language.Fixpoint.SortCheck+ 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ fgl-5.7.0.1 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Graph 59334fea55dc8d64130719f78eeb5109+ exports: 70a8f3bb9be3a7f9430fb829908b4dcf+import -/ Language.Fixpoint.Graph.Deps f58fb5bc911772ff16e90c021342fd77+ depCuts c993725cef81addc46fa6e960ae18a56+ depNonCuts c993725cef81addc46fa6e960ae18a56+ elimDeps dc3d3bae02683f6ae264dac8243bec09+ elimVars 4be3da868d909f2205fdad0e4d0d5b05+import -/ Language.Fixpoint.Graph.Types 90354efadf49650a4d644eca42325aa3+ CEdge 5926a8a79eef96a67d64e7e2de539c49+ Cstr fb3e234b3b6ba6293e60b57759fd6db5+ KVar c4a8980acc6c70ca8becabae4f5f5f0a+ SI acae40c3d81f5865f3bafc419a2516f3+ SolverInfo 9a73d9e092f73b37b6476ae70547e961+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ errorstar e47c2d482124b43e020a405f809adcff+ group 89622853601fa33661a1ceef6d1ea621+ safeLookup de93685c8ce33b5619842061a589410f+import -/ Language.Fixpoint.Solver.Sanitize da8eac0e8562bb4a8fb712f9620a920d+ exports: 09f539552af63f8cdd1953f939eb3211+ symbolEnv e9ab0691e8ecbe0102273ed657a09d59+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ SInfo 90ef96c47f269969affd7c3639af34f3+ SimpC 03dcffeea2a5199db7c9ff0154825bc0+ bs 90ef96c47f269969affd7c3639af34f3+ cm 90ef96c47f269969affd7c3639af34f3+ crhs 9701eec311803b00e8ff03aadeb150fa+ ebinds 90ef96c47f269969affd7c3639af34f3+ senv b5a22d3808334133ad38d92f07d130ac+ stag 99b38d7c44906da122f4e3e424da4733+ subcId c5ad3aad4a42726885659f4c083c4240+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ IBindEnv b71d4c279d7a7920d70dd44bac0305aa+ bindEnvToList 4e95582ccd56c9ddcde8c24e66fac2b3+ fromListSEnv 22654f2135f1b607f7ee82962c09eb4c+ intersectionIBindEnv 825ccfa88a2d78fd8f5dd646d23e905c+ lookupBindEnv d43e50ddb41c32b57594f5f31bf34671+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ PKVar 00776deded6bdc1a9b45a9cd2ff73aa5+ Subst 58dd7eff6040aa97f060415235c6cb01+ sr_sort 58dd7eff6040aa97f060415235c6cb01+import -/ Language.Fixpoint.Types.Solutions 0b8a944fa50bd0859885907efb6ca971+ exports: afa649b912ca2c885ac627d761c55201+ Cube dd58f6a710bd9685440d5294ab4b82a4+ Cube 7e54038e4321923be0c504747fce3360+ Hyp 7e54038e4321923be0c504747fce3360+ fromList d97c3221440644342c069f390188e702+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ isConcC 2f660a3d29daa78cb1b3ea5a2a1db8d7+ kvars c0e50d3c638d80582ef2ff4559ccde96+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+045b909e8b5b791ec53158deaca1b5c3+ $trModule :: GHC.Types.Module+76d1d9ca206972c55d9d1daf3ea1da13+ type KIndex =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar [GHC.Integer.Type.Integer]+fa204fa1677b0f527183486780e02980+ solverInfo ::+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.SInfo a+ -> Language.Fixpoint.Graph.Types.SolverInfo a b+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,206 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:52.956279 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.GradualSolution 8065+ interface hash: 011c62bc48c7d080e543e4ac5effa776+ ABI hash: 6d45026348f297cde2b8a188f03ce7bd+ export-list hash: 644807a5ff0246ebe1732974f67b90a4+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 3bd5ab6278134887b3063af3d20c031c+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Solver.GradualSolution.init+module dependencies: Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.Solver.Sanitize Language.Fixpoint.SortCheck+ 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ fgl-5.7.0.1 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parallel-3.2.2.0+ parsec-3.1.13.0 pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3+ stm-2.5.0.0 syb-0.7 text-1.2.3.1 text-format-0.3.2 time-1.8.0.2+ transformers-0.5.6.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ text-1.2.3.1:Data.Text.Lazy text-1.2.3.1:Data.Text+ binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.Monoid 12b87658decc811c5251626260c01aeb+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ groupList 89ce0af3d82aae7a2d9f3f3c1cde0d05+import -/ Language.Fixpoint.Solver.Sanitize da8eac0e8562bb4a8fb712f9620a920d+ exports: 09f539552af63f8cdd1953f939eb3211+ symbolEnv e9ab0691e8ecbe0102273ed657a09d59+import -/ Language.Fixpoint.SortCheck f7b7dc40080c3027ffc5d238db179224+ exports: fef1457ed33a6a1cb5bc6a8b38a1edff+ Env 474fd3daf7773a1200325c50db04e9e8+ TVSubst a106b014cd7a377f85eca8a71f0c1edd+ apply 8adcb6a62b22c433eda83ce38c107b2c+ checkSorted 226ef447000bf1571f3b314469968dc6+ elaborate 5809c5e4abf9d4e8230e50ea3a386a0e+ isMono 974554777c998acc33c611a055a9ef31+ unifyFast 125054d2af6df4296d7b2ff26745e814+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ exports: 12c9708cdb7cc8f94e739104f060796e+ GWInfo 631d20d0918c14b74d892903e40cbdc3+ Qualifier 9aae2bcc537b45559d03a4eee2bb72e5+ SInfo 90ef96c47f269969affd7c3639af34f3+ WfC ad7a627c031dc594c719d4e423bdd067+ allowHOquals 2d72f2746bc8b5decaea3d152b78ce26+ bs 90ef96c47f269969affd7c3639af34f3+ gLits 90ef96c47f269969affd7c3639af34f3+ gsort 631d20d0918c14b74d892903e40cbdc3+ gsym 631d20d0918c14b74d892903e40cbdc3+ gwInfo cd5a5785696346008a88134a28c438d0+ isGWfc 4c70cb60ff73f441d356b3d67861f82f+ qParams 9aae2bcc537b45559d03a4eee2bb72e5+ qpSort 9aae2bcc537b45559d03a4eee2bb72e5+ quals 90ef96c47f269969affd7c3639af34f3+ wenv ad7a627c031dc594c719d4e423bdd067+ wrft ad7a627c031dc594c719d4e423bdd067+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ SEnv 7b76b1b3898bd64fc8c2187c261c0f80+ envCs e423fff58f01e321ca4ef94ca8a41936+ fromListSEnv 22654f2135f1b607f7ee82962c09eb4c+ insertSEnv 4288c53866870f2766a71eff8924b8fb+ lookupSEnvWithDistance f94357819b257ff74f5b6c3800c04b59+ toListSEnv ddd97c9c472b637e00dcfff9c958a991+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+ isLitSymbol 25094086814fd8fb3cd404fe6ffd3f18+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ Expr 58dd7eff6040aa97f060415235c6cb01+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ RR bc18741bade52dfcbbbc2473e1b91821+ Reft 11628612f280bce553f9c182ec061ec6+ sr_sort 58dd7eff6040aa97f060415235c6cb01+import -/ Language.Fixpoint.Types.Solutions 0b8a944fa50bd0859885907efb6ca971+ exports: afa649b912ca2c885ac627d761c55201+ EQual a143c3dc8e88328902f82f3430d31b51+ QBind a143c3dc8e88328902f82f3430d31b51+ eQual e5bcf7cab41a61c218805512fb734b78+ eqPred a143c3dc8e88328902f82f3430d31b51+ qb 77ec72e84995f5e3c84562e1361f5d30+ qbExprs 78ff437be832ed44cb7b0dc04cc18751+ qbFilter f30befa0e360f31f8380452b5ced64c8+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ functionSort f594877f5448823b341deb917c8c3252+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ atLoc 1d33f99909507b18efe9f42abbbb5952+ dummySpan 4c3a1f24b19908507cae45f533bfffe9+import -/ Language.Fixpoint.Types.Theories 2d31db6b0cdc7b0f2231db238b021516+ seSort 0506688674ca55c28cc4df4c4dbdb2df+import -/ parallel-3.2.2.0:Control.Parallel.Strategies 6a045ce81bdbdafd260789c5d129b50d+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+1f88b54c42785575c2ae17f7882fdfb7+ $trModule :: GHC.Types.Module+6d32e087017321d13027d3f689d6634f+ init ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.SInfo a+ -> [(Language.Fixpoint.Types.Refinements.KVar,+ (Language.Fixpoint.Types.Constraints.GWInfo,+ [Language.Fixpoint.Types.Refinements.Expr]))]+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,575 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:53.594517 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.Instantiate [orphan module] 8065+ interface hash: 84085eaa0db1341735eecc98e4715378+ ABI hash: 8ba0f55d94c73f3ce982816d9f02ce7a+ export-list hash: 9247ada7aae1f49cda65642e8e5ad707+ orphan hash: 92fede88993c4bc47f9777bc98ac4f8d+ flag hash: 9daa24c4dc9c00af96ee9add5137f5b9+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Solver.Instantiate.instantiate+module dependencies: Language.Fixpoint.Defunctionalize+ Language.Fixpoint.Graph Language.Fixpoint.Graph.Deps+ Language.Fixpoint.Graph.Indexed Language.Fixpoint.Graph.Partition+ Language.Fixpoint.Graph.Reducible Language.Fixpoint.Graph.Types+ Language.Fixpoint.Misc Language.Fixpoint.Smt.Interface+ Language.Fixpoint.Smt.Serialize Language.Fixpoint.Smt.Theories+ Language.Fixpoint.Smt.Types Language.Fixpoint.Solver.Sanitize+ Language.Fixpoint.SortCheck 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Language.Fixpoint.Utils.Progress Language.Fixpoint.Utils.Trie+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0+ ascii-progress-0.3.3.0 async-2.2.1 attoparsec-0.13.2.2+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5+ concurrent-output-1.10.9 containers-0.6.0.1 data-default-0.7.1.1+ data-default-class-0.1.2.0 data-default-instances-containers-0.0.1+ data-default-instances-dlist-0.0.1+ data-default-instances-old-locale-0.0.1 deepseq-1.4.4.0+ directory-1.3.3.0 dlist-0.8.0.6 double-conversion-2.0.2.0+ exceptions-0.10.2 fgl-5.7.0.1 filepath-1.4.2.1 ghc-boot-th-8.6.5+ ghc-prim-0.5.3 hashable-1.2.7.0 integer-gmp-1.0.2.0+ integer-logarithms-1.0.3 intern-0.9.2 mtl-2.2.2 old-locale-1.0.0.7+ parsec-3.1.13.0 pretty-1.1.3.6 primitive-0.6.4.0 process-1.6.5.0+ scientific-0.3.6.2 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ template-haskell-2.14.0.0 terminal-size-0.3.2.1 text-1.2.3.1+ text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2 unix-2.7.2.2+ unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Serialize+ attoparsec-0.13.2.2:Data.Attoparsec.Text.Internal+ data-default-instances-containers-0.0.1:Data.Default.Instances.Containers+ data-default-instances-dlist-0.0.1:Data.Default.Instances.DList+ data-default-instances-old-locale-0.0.1:Data.Default.Instances.OldLocale+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ transformers-0.5.6.2:Control.Monad.Trans.Error+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: attoparsec-0.13.2.2:Data.Attoparsec.Internal.Types+ base-4.12.0.0:Control.Applicative base-4.12.0.0:Data.Complex+ base-4.12.0.0:Data.Functor.Compose base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ dlist-0.8.0.6:Data.DList+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ ghc-boot-th-8.6.5:GHC.ForeignSrcLang.Type+ ghc-boot-th-8.6.5:GHC.LanguageExtensions.Type+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ+ primitive-0.6.4.0:Control.Monad.Primitive+ primitive-0.6.4.0:Data.Primitive.Array+ template-haskell-2.14.0.0:Language.Haskell.TH.Syntax+ terminal-size-0.3.2.1:System.Console.Terminal.Common+ text-1.2.3.1:Data.Text text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Control.Monad.IO.Class e96805f9d79f75be66a0d44eb83064c1+import -/ base-4.12.0.0:Data.Char 74f67fe9150a102afa18766e840f6832+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Err ea5e313ef4146b40b5d8b27aa168e736+import -/ base-4.12.0.0:GHC.IO 898d4ddbf00eb4732e5f462760aa42ae+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:GHC.Unicode 87726eb81a3f9c9b22160a0afd5dc56a+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ Language.Fixpoint.Defunctionalize 1d90f9122b6c5e6ad683a06eb6b5b76c+ exports: 44b2eca79f60178c88556395b24303d5+ defuncAny 66de87ab882b30b605fe1e924257c559+import -/ Language.Fixpoint.Graph.Deps f58fb5bc911772ff16e90c021342fd77+ exports: 7deeeee1d668195264f1154820a52680+ isTarget d1daed292929204f16030b2bb40ffd2e+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ <$$> f244c7fc8096aeb8cdce308fe12a467d+ groupList 89ce0af3d82aae7a2d9f3f3c1cde0d05+ hashNub ffbfe6b323d9b9a6b0c8a57a5eb3b302+ mapFst a682b107c685b3ee1d7890f4d99a54b7+ safeLookup de93685c8ce33b5619842061a589410f+ sortNub 7d73d874da71f31bd97dc544f8572fc4+ tshow 044dfce5ef708f72e5ca59e37dc09756+import -/ Language.Fixpoint.Smt.Interface ee0737b56914b95eb563867307fa7dad+ exports: 34c9dd9681ad7de62fb07b614e95fb75+ checkValidWithContext 06758d36abd61361d4753661bfedd621+ cleanupContext 511b45c7e002c2142e0dcb9cff2e2ea6+ makeContextWithSEnv 4644204706da05ed92e94ab6343a856b+ smtAssert 335106faf7ebb07edc676359058f2360+ smtBracket 565d62dc2109372f4f4dd1533806693b+ smtPush f6a3fe32d78b37943a94ecfb1823ea45+import -/ Language.Fixpoint.Smt.Types 30a3f200618617e4fc3b128e7ad80e5a+ Context 372fcf0b6b50436d0652b44de8ce661a+ ctxSymEnv 372fcf0b6b50436d0652b44de8ce661a+import -/ Language.Fixpoint.Solver.Sanitize da8eac0e8562bb4a8fb712f9620a920d+ exports: 09f539552af63f8cdd1953f939eb3211+ symbolEnv e9ab0691e8ecbe0102273ed657a09d59+import -/ Language.Fixpoint.SortCheck f7b7dc40080c3027ffc5d238db179224+ exports: fef1457ed33a6a1cb5bc6a8b38a1edff+ elaborate 5809c5e4abf9d4e8230e50ea3a386a0e+ mkSearchEnv f0c86aeb17d2da7adeffd65a621e52b8+ sortExpr 2ce30c681c7c47a2cca5656fa7dcdb6c+ unApplyAt e0a628364bec28d2a08751e4806888b9+ unifyTo1 a49e19b1f65052943376cd7fd8ff5fe4+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+ noIncrPle 3988ec36858b82afed711ea7ff67ff00+ rewriteAxioms 3988ec36858b82afed711ea7ff67ff00+ srcFile 3988ec36858b82afed711ea7ff67ff00+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ AxiomEnv 90ef96c47f269969affd7c3639af34f3+ Equ ed4a7ffa3a47f3da413540656735cceb+ Equation 1b8c537886bd491bbeaae4b7cdcd5c8f+ Rewrite 7df085a191521cbf745e28451770fe1d+ SInfo 90ef96c47f269969affd7c3639af34f3+ SMeasure 30aa4d5c1c10665274f0e03b73a2fa34+ SimpC 03dcffeea2a5199db7c9ff0154825bc0+ SubcId 311c8f398e2d0f5e23e664bacb45f905+ ae 90ef96c47f269969affd7c3639af34f3+ aenvEqs 90ef96c47f269969affd7c3639af34f3+ aenvExpand 90ef96c47f269969affd7c3639af34f3+ aenvSimpl 90ef96c47f269969affd7c3639af34f3+ bs 90ef96c47f269969affd7c3639af34f3+ cm 90ef96c47f269969affd7c3639af34f3+ crhs 9701eec311803b00e8ff03aadeb150fa+ eqArgs 1b8c537886bd491bbeaae4b7cdcd5c8f+ eqBody 1b8c537886bd491bbeaae4b7cdcd5c8f+ eqName 1b8c537886bd491bbeaae4b7cdcd5c8f+ senv b5a22d3808334133ad38d92f07d130ac+ smArgs 7df085a191521cbf745e28451770fe1d+ smBody 7df085a191521cbf745e28451770fe1d+ smDC 7df085a191521cbf745e28451770fe1d+ smName 7df085a191521cbf745e28451770fe1d+ strengthenBinds 7d88841d1096029087978ca79f8f8ef6+ strengthenHyp 0d5d03ecb6ae6fe41d380cdc64c926c9+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ BindId c1dc08df6d648ef575cab1d33fc5df7b+ SEnv 7b76b1b3898bd64fc8c2187c261c0f80+ elemsIBindEnv cff28cd92ba002848a1acbf3edb359d8+ envCs e423fff58f01e321ca4ef94ca8a41936+ lookupBindEnv d43e50ddb41c32b57594f5f31bf34671+import -/ Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+ panic 87059ab6cc1a67158dab0a23bc2c22e7+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+ headSym 45e33a0ea41b31cae845977e74bcff61+ symbol 8093c1d4f5a85b247a3a96c3fce3245c+ symbolText eec089aa19dd5c0554fdac0c2f873812+ tupConName 2924967db93c0057b45b63dba07de5dc+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ notracepp 5a793f230115fb21796571cbf9bfbf52+ showpp a9f79fc9a75f72593341c16b4b8ac492+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ EApp 54242238b0fd99173645e603ea6a95e1+ EBin 584c6077045554d53d7c9a89592b60d3+ ECoerc d62592d9495e238bd832577950db4048+ ECst 77d8fb760e457bfd124c455ed691c864+ EEq b022fbb5d44329cad435c5cf3295d97c+ EIte bcb7471d1eafba69c1a57099f120b1bb+ ELam e0029a0f9c90cfaf5ca8a8fc8de8a995+ ENeg c7c4772e5c9c737684dc4ada02f5ae77+ ETAbs 6c85c26f9de90ebed31639fcdf59cab4+ ETApp c6b0114335eb572da40fed762c8d9566+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Eq 3f11ae5b47578ad5a2c554235bd0e66b+ Expr 58dd7eff6040aa97f060415235c6cb01+ Expression 3223e45a95282010f7c8c44ba75b8d79+ PAnd 668269c725f0f517f2cefead144acbec+ PAtom efd69e8b2834a0937ec103ca6d2f2b7d+ PFalse e43985c1fbf5446eb7e361fefcd63600+ PIff 2a17d6131a34fb2676761302524edfd8+ PImp 71d909aca81df6b76b372b30b2979f8d+ PNot dd52d33c67ccd94ba2b9bc2daaf6153f+ POr 8896d8a5009f7964d0fb6a9c72eaff6c+ PTrue 1c366fec6a192dc993b90d2b711bd4f4+ Pred 551c7d373a23dab3c0a93d27c12c8930+ RR bc18741bade52dfcbbbc2473e1b91821+ Reft 11628612f280bce553f9c182ec061ec6+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ eApps 1307e7979a57d82780ccbddd25281f50+ expr bb69a3829a24dac6732a3d85fdbf277f+ isTautoPred b0ebfe363526526426c55e6ea6cc9f4d+ pAnd d997a1bd3b1f67d4020526858eca07c4+ splitEApp 9b07f402f719e5fdde60de32b4802531+ splitPAnd b13d172acda197fed8cd69dde06e196a+ subst 8dc51beb28f3e734b2b3097edf7df9c8+ subst1 32fda17df52baa2dc57c3f6fcba8c1ae+ syms cedb5518769db9d49f4ce507184c5e1f+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ FAbs 8827fd69dabe452c42c2c745dfa98689+ FApp 1d71c4ce8486fd8718c15888c11af1b5+ FFunc a2098452dd53c51f7531db6145200e8d+ FObj 1bb5d6e74aaa46fc1c29e2a322aa25fa+ Sort 30d6fd7d99459ff88296e3b55c87b46c+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ Loc 4962bb0bc274d9001b974c3326b63480+ SrcSpan 30cdf4122b891cc575df90039bdcbecb+ atLoc 1d33f99909507b18efe9f42abbbb5952+ dummySpan 4c3a1f24b19908507cae45f533bfffe9+ panicSpan d3af73fa8bf2e90a4b0e843d56f553e6+ srcSpan 2b3eb671678320980d11df21e110f501+import -/ Language.Fixpoint.Types.Substitutions 68389730f57eb1bd783731c1e8e83435+ mkSubst fa0e5a33f52a68ffd2f44ba8a067ca8c+import -/ Language.Fixpoint.Types.Theories 2d31db6b0cdc7b0f2231db238b021516+ SymEnv 0506688674ca55c28cc4df4c4dbdb2df+ insertsSymEnv bfa10c0f122029fd8b483144c484096e+ seSort 0506688674ca55c28cc4df4c4dbdb2df+ symEnvTheory b4df3d48b26aea68a082338a9b46e1f3+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ CoSub ae19ecb7b9cebeebc678aeb4d5e66971+ Visitable 538848ccf7d607090eacca8d17c97af6+ applyCoSub 1907ecc976e7280789f011571d4309c9+ defaultVisitor 702ceebf65ec7e45cbc2b67c3c0c84d3+ kvars c0e50d3c638d80582ef2ff4559ccde96+ mapMExpr 6293e52d58f2fec83e2af187562c44a6+ stripCasts 2e0061e71ddda5abcf68bb484630ae3e+ trans 95b3f331427c9bad5e5eba78717c7663+ txExpr b907595a56c63aacc071b11708504163+import -/ Language.Fixpoint.Utils.Progress 826d6a56464397a59b3a0f2598d33de7+ exports: 6850e83719e0c11e0074fbcdfbd4871d+ progressTick 0ccb985e47cb835d2bf679c5ff93fb6b+ withProgress 8d2751f40705437b1b2bb822db3b7ec9+import -/ Language.Fixpoint.Utils.Trie 803578399f61dcd14fb86eebd2ed8020+ exports: af39141901e86f37f89c036856df8a13+ Bind 073bd14bbc0cfebb222d536150e0f8e2+ Branch 8b961868e491541352bed6006163b298+ Node d1ceee84d109f26ba0cff95ad199ed93+ Trie 8b961868e491541352bed6006163b298+ Val 8dd335d00cdadd96651291ac58c1883d+ fromList 3b22c384040e87487ee22b024bbd6987+import -/ mtl-2.2.2:Control.Monad.State 753def63fe8e937dc636f11e5230745a+import -/ mtl-2.2.2:Control.Monad.State.Class 243c828469104fb94563be0ea268f418+import -/ text-1.2.3.1:Data.Text 681b9c3df5b4e4b4e23ef5f840f0b692+import -/ transformers-0.5.6.2:Control.Monad.Trans.State.Lazy 0c22827dedcb94d04bf072c00f8e95c2+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+279132c910b17ecf2b3eb16aa4b6627e+ $fEqRecur ::+ GHC.Classes.Eq Language.Fixpoint.Solver.Instantiate.Recur+ DFunId+c023ef5ef063248d3ccdb4521000e1fd+ $fExpression(,) ::+ Language.Fixpoint.Types.Refinements.Expression+ (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft)+ DFunId+279132c910b17ecf2b3eb16aa4b6627e+ $fPPrintRecur ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Solver.Instantiate.Recur+ DFunId+62fe1aa6e1c1664de505e0921cab7baf+ $fPPrintTrie ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Solver.Instantiate.CTrie+ DFunId+279132c910b17ecf2b3eb16aa4b6627e+ $fShowRecur ::+ GHC.Show.Show Language.Fixpoint.Solver.Instantiate.Recur+ DFunId+96b4e782b0a64d95a22c81dcebbfadd3+ $tc'EvalEnv :: GHC.Types.TyCon+269dead5908dc235c5e29a34f7a1a178+ $tc'ICtx :: GHC.Types.TyCon+f5eb34ede89d471c593901484c049e74+ $tc'InstEnv :: GHC.Types.TyCon+a4a7e43c52577b66b4166118ef84af5e+ $tc'KN :: GHC.Types.TyCon+aba5e24455f4fd42aa94d5ec330a83ae+ $tc'Normal :: GHC.Types.TyCon+894d08f36a29103b6421ed26b4028acd+ $tc'Ok :: GHC.Types.TyCon+fa61e638566dea6bddf791edcf54c1bb+ $tc'PopIf :: GHC.Types.TyCon+bd48d5bc70b526575d07cb7efe7d72db+ $tc'Stop :: GHC.Types.TyCon+63789589c611135b8f47a1ae0440504e+ $tcEvalEnv :: GHC.Types.TyCon+69b2ecfdc587cbd4ebdb8586b1519869+ $tcICtx :: GHC.Types.TyCon+adb7b7031d14ca6318a1be0aded10c84+ $tcInstEnv :: GHC.Types.TyCon+ba58a35288f9e18e916f4c8401890583+ $tcKnowledge :: GHC.Types.TyCon+ffe0f97bee19724d77d2e5f95c624f6b+ $tcRecur :: GHC.Types.TyCon+a2d7f3d1664d3d8d15b347bf8adacffe+ $tcSubstOp :: GHC.Types.TyCon+614d62a6ecfb843f085fa6fe20e4354c+ $trModule :: GHC.Types.Module+af512d53907dcc7a45cb63f1d3321b8d+ type CBranch =+ Language.Fixpoint.Utils.Trie.Branch+ Language.Fixpoint.Types.Constraints.SubcId+7017c35852d19eb1e2ad616d893e59f1+ type CStack =+ ([Language.Fixpoint.Types.Names.Symbol],+ Language.Fixpoint.Solver.Instantiate.Recur)+b5b71490d4c5a9f58c370abbe36902f1+ type CTrie =+ Language.Fixpoint.Utils.Trie.Trie+ Language.Fixpoint.Types.Constraints.SubcId+08cb5a5c7e373ba89a0871c2b3251996+ type Diff = [Language.Fixpoint.Types.Environments.BindId]+246ef106eacb07991d66f2d391601fe7+ data EvalEnv+ = EvalEnv {evId :: !GHC.Types.Int,+ evSequence :: [(Language.Fixpoint.Types.Refinements.Expr,+ Language.Fixpoint.Types.Refinements.Expr)],+ _evAEnv :: !Language.Fixpoint.Types.Constraints.AxiomEnv,+ evEnv :: !Language.Fixpoint.Types.Theories.SymEnv,+ _evCfg :: !Language.Fixpoint.Types.Config.Config}+d0dfb517845a6c5b0b92172e594086ce+ type EvalST a =+ Control.Monad.Trans.State.Lazy.StateT+ Language.Fixpoint.Solver.Instantiate.EvalEnv GHC.Types.IO a+c0d96363e724f7758dde94a1429b4236+ data ICtx+ = ICtx {icAssms :: ![Language.Fixpoint.Types.Refinements.Pred],+ icCands :: Data.HashSet.HashSet+ Language.Fixpoint.Types.Refinements.Expr,+ icEquals :: ![Language.Fixpoint.Types.Refinements.Expr],+ icSolved :: Data.HashSet.HashSet+ Language.Fixpoint.Types.Refinements.Expr}+0954c536a7c9eaa2fc1cbb5126b68eec+ data InstEnv a+ = InstEnv {ieCfg :: !Language.Fixpoint.Types.Config.Config,+ ieSMT :: !Language.Fixpoint.Smt.Types.Context,+ ieBEnv :: !Language.Fixpoint.Types.Environments.BindEnv,+ ieAenv :: !Language.Fixpoint.Types.Constraints.AxiomEnv,+ ieCstrs :: !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Constraints.SubcId+ (Language.Fixpoint.Types.Constraints.SimpC a)),+ ieKnowl :: !Language.Fixpoint.Solver.Instantiate.Knowledge,+ ieEvEnv :: !Language.Fixpoint.Solver.Instantiate.EvalEnv}+b5432342a164e309828f407a0553d1bf+ type InstRes =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Environments.BindId+ Language.Fixpoint.Types.Refinements.Expr+b0f09fdaa378d20624a0b49c9f3dfed9+ data Knowledge+ = KN {knSims :: ![Language.Fixpoint.Types.Constraints.Rewrite],+ knAms :: ![Language.Fixpoint.Types.Constraints.Equation],+ knContext :: Language.Fixpoint.Smt.Types.Context,+ knPreds :: Language.Fixpoint.Smt.Types.Context+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ -> Language.Fixpoint.Types.Refinements.Expr+ -> GHC.Types.IO GHC.Types.Bool,+ knLams :: [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]}+279132c910b17ecf2b3eb16aa4b6627e+ data Recur = Ok | Stop+788c94553779023bee6e455bcdc5f61f+ data SubstOp = PopIf | Normal+086d2ba68091acb5f3ad9b9852b98c6f+ type Unfold =+ (GHC.Maybe.Maybe Language.Fixpoint.Types.Refinements.Expr,+ [Language.Fixpoint.Types.Refinements.Expr])+246ef106eacb07991d66f2d391601fe7+ _evAEnv ::+ Language.Fixpoint.Solver.Instantiate.EvalEnv+ -> Language.Fixpoint.Types.Constraints.AxiomEnv+ RecSel Left Language.Fixpoint.Solver.Instantiate.EvalEnv+246ef106eacb07991d66f2d391601fe7+ _evCfg ::+ Language.Fixpoint.Solver.Instantiate.EvalEnv+ -> Language.Fixpoint.Types.Config.Config+ RecSel Left Language.Fixpoint.Solver.Instantiate.EvalEnv+246ef106eacb07991d66f2d391601fe7+ evEnv ::+ Language.Fixpoint.Solver.Instantiate.EvalEnv+ -> Language.Fixpoint.Types.Theories.SymEnv+ RecSel Left Language.Fixpoint.Solver.Instantiate.EvalEnv+246ef106eacb07991d66f2d391601fe7+ evId ::+ Language.Fixpoint.Solver.Instantiate.EvalEnv -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Solver.Instantiate.EvalEnv+246ef106eacb07991d66f2d391601fe7+ evSequence ::+ Language.Fixpoint.Solver.Instantiate.EvalEnv+ -> [(Language.Fixpoint.Types.Refinements.Expr,+ Language.Fixpoint.Types.Refinements.Expr)]+ RecSel Left Language.Fixpoint.Solver.Instantiate.EvalEnv+c0d96363e724f7758dde94a1429b4236+ icAssms ::+ Language.Fixpoint.Solver.Instantiate.ICtx+ -> [Language.Fixpoint.Types.Refinements.Pred]+ RecSel Left Language.Fixpoint.Solver.Instantiate.ICtx+c0d96363e724f7758dde94a1429b4236+ icCands ::+ Language.Fixpoint.Solver.Instantiate.ICtx+ -> Data.HashSet.HashSet Language.Fixpoint.Types.Refinements.Expr+ RecSel Left Language.Fixpoint.Solver.Instantiate.ICtx+c0d96363e724f7758dde94a1429b4236+ icEquals ::+ Language.Fixpoint.Solver.Instantiate.ICtx+ -> [Language.Fixpoint.Types.Refinements.Expr]+ RecSel Left Language.Fixpoint.Solver.Instantiate.ICtx+c0d96363e724f7758dde94a1429b4236+ icSolved ::+ Language.Fixpoint.Solver.Instantiate.ICtx+ -> Data.HashSet.HashSet Language.Fixpoint.Types.Refinements.Expr+ RecSel Left Language.Fixpoint.Solver.Instantiate.ICtx+0954c536a7c9eaa2fc1cbb5126b68eec+ ieAenv ::+ Language.Fixpoint.Solver.Instantiate.InstEnv a+ -> Language.Fixpoint.Types.Constraints.AxiomEnv+ RecSel Left Language.Fixpoint.Solver.Instantiate.InstEnv+0954c536a7c9eaa2fc1cbb5126b68eec+ ieBEnv ::+ Language.Fixpoint.Solver.Instantiate.InstEnv a+ -> Language.Fixpoint.Types.Environments.BindEnv+ RecSel Left Language.Fixpoint.Solver.Instantiate.InstEnv+0954c536a7c9eaa2fc1cbb5126b68eec+ ieCfg ::+ Language.Fixpoint.Solver.Instantiate.InstEnv a+ -> Language.Fixpoint.Types.Config.Config+ RecSel Left Language.Fixpoint.Solver.Instantiate.InstEnv+0954c536a7c9eaa2fc1cbb5126b68eec+ ieCstrs ::+ Language.Fixpoint.Solver.Instantiate.InstEnv a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Constraints.SubcId+ (Language.Fixpoint.Types.Constraints.SimpC a)+ RecSel Left Language.Fixpoint.Solver.Instantiate.InstEnv+0954c536a7c9eaa2fc1cbb5126b68eec+ ieEvEnv ::+ Language.Fixpoint.Solver.Instantiate.InstEnv a+ -> Language.Fixpoint.Solver.Instantiate.EvalEnv+ RecSel Left Language.Fixpoint.Solver.Instantiate.InstEnv+0954c536a7c9eaa2fc1cbb5126b68eec+ ieKnowl ::+ Language.Fixpoint.Solver.Instantiate.InstEnv a+ -> Language.Fixpoint.Solver.Instantiate.Knowledge+ RecSel Left Language.Fixpoint.Solver.Instantiate.InstEnv+0954c536a7c9eaa2fc1cbb5126b68eec+ ieSMT ::+ Language.Fixpoint.Solver.Instantiate.InstEnv a+ -> Language.Fixpoint.Smt.Types.Context+ RecSel Left Language.Fixpoint.Solver.Instantiate.InstEnv+8ced8e87c5abac80e55281634661edb8+ instantiate ::+ Language.Fixpoint.Types.Spans.Loc a =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.SInfo a+ -> GHC.Types.IO (Language.Fixpoint.Types.Constraints.SInfo a)+b0f09fdaa378d20624a0b49c9f3dfed9+ knAms ::+ Language.Fixpoint.Solver.Instantiate.Knowledge+ -> [Language.Fixpoint.Types.Constraints.Equation]+ RecSel Left Language.Fixpoint.Solver.Instantiate.Knowledge+b0f09fdaa378d20624a0b49c9f3dfed9+ knContext ::+ Language.Fixpoint.Solver.Instantiate.Knowledge+ -> Language.Fixpoint.Smt.Types.Context+ RecSel Left Language.Fixpoint.Solver.Instantiate.Knowledge+b0f09fdaa378d20624a0b49c9f3dfed9+ knLams ::+ Language.Fixpoint.Solver.Instantiate.Knowledge+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ RecSel Left Language.Fixpoint.Solver.Instantiate.Knowledge+b0f09fdaa378d20624a0b49c9f3dfed9+ knPreds ::+ Language.Fixpoint.Solver.Instantiate.Knowledge+ -> Language.Fixpoint.Smt.Types.Context+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ -> Language.Fixpoint.Types.Refinements.Expr+ -> GHC.Types.IO GHC.Types.Bool+ RecSel Left Language.Fixpoint.Solver.Instantiate.Knowledge+b0f09fdaa378d20624a0b49c9f3dfed9+ knSims ::+ Language.Fixpoint.Solver.Instantiate.Knowledge+ -> [Language.Fixpoint.Types.Constraints.Rewrite]+ RecSel Left Language.Fixpoint.Solver.Instantiate.Knowledge+instance GHC.Classes.Eq [Language.Fixpoint.Solver.Instantiate.Recur]+ = Language.Fixpoint.Solver.Instantiate.$fEqRecur+instance [orphan] Language.Fixpoint.Types.Refinements.Expression [(,)]+ = Language.Fixpoint.Solver.Instantiate.$fExpression(,)+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Solver.Instantiate.Recur]+ = Language.Fixpoint.Solver.Instantiate.$fPPrintRecur+instance [orphan] Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Utils.Trie.Trie]+ = Language.Fixpoint.Solver.Instantiate.$fPPrintTrie+instance GHC.Show.Show [Language.Fixpoint.Solver.Instantiate.Recur]+ = Language.Fixpoint.Solver.Instantiate.$fShowRecur+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,391 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:52.654508 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.Monad [family instance module] 8065+ interface hash: 842c6054b0bfe291642371af683fcab3+ ABI hash: 4fa9d18e3355b76fbdd68cad34b1f148+ export-list hash: cbbad5f300cf7cd33080e8b093a602f7+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 4555ac17765186b9550951f409e132f6+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Solver.Monad.checkSat+ Language.Fixpoint.Solver.Monad.filterRequired+ Language.Fixpoint.Solver.Monad.filterValid+ Language.Fixpoint.Solver.Monad.filterValidGradual+ Language.Fixpoint.Solver.Monad.getBinds+ Language.Fixpoint.Solver.Monad.runSolverM+ Language.Fixpoint.Solver.Monad.smtEnablembqi+ Language.Fixpoint.Solver.Monad.stats+ Language.Fixpoint.Solver.Monad.tickIter+ Language.Fixpoint.Solver.Monad.SolveM+ Language.Fixpoint.Solver.Monad.Stats{numIter}+module dependencies: Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Interface Language.Fixpoint.Smt.Serialize+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.Solver.Sanitize Language.Fixpoint.SortCheck+ 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Language.Fixpoint.Utils.Progress Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0+ ascii-progress-0.3.3.0 async-2.2.1 attoparsec-0.13.2.2+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5+ concurrent-output-1.10.9 containers-0.6.0.1 data-default-0.7.1.1+ data-default-class-0.1.2.0 data-default-instances-containers-0.0.1+ data-default-instances-dlist-0.0.1+ data-default-instances-old-locale-0.0.1 deepseq-1.4.4.0+ directory-1.3.3.0 dlist-0.8.0.6 double-conversion-2.0.2.0+ exceptions-0.10.2 fgl-5.7.0.1 filepath-1.4.2.1 ghc-boot-th-8.6.5+ ghc-prim-0.5.3 hashable-1.2.7.0 integer-gmp-1.0.2.0+ integer-logarithms-1.0.3 intern-0.9.2 mtl-2.2.2 old-locale-1.0.0.7+ parsec-3.1.13.0 pretty-1.1.3.6 primitive-0.6.4.0 process-1.6.5.0+ scientific-0.3.6.2 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ template-haskell-2.14.0.0 terminal-size-0.3.2.1 text-1.2.3.1+ text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2 unix-2.7.2.2+ unordered-containers-0.2.9.0+orphans: data-default-instances-containers-0.0.1:Data.Default.Instances.Containers+ data-default-instances-dlist-0.0.1:Data.Default.Instances.DList+ data-default-instances-old-locale-0.0.1:Data.Default.Instances.OldLocale+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Serialize+ attoparsec-0.13.2.2:Data.Attoparsec.Text.Internal+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ transformers-0.5.6.2:Control.Monad.Trans.Error+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: attoparsec-0.13.2.2:Data.Attoparsec.Internal.Types+ base-4.12.0.0:Control.Applicative base-4.12.0.0:Data.Complex+ base-4.12.0.0:Data.Functor.Compose base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ dlist-0.8.0.6:Data.DList+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ ghc-boot-th-8.6.5:GHC.ForeignSrcLang.Type+ ghc-boot-th-8.6.5:GHC.LanguageExtensions.Type+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ+ primitive-0.6.4.0:Control.Monad.Primitive+ primitive-0.6.4.0:Data.Primitive.Array+ template-haskell-2.14.0.0:Language.Haskell.TH.Syntax+ terminal-size-0.3.2.1:System.Console.Terminal.Common+ text-1.2.3.1:Data.Text text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Exception.Base 28f76dc5daa23d33c2b03285506ae9fc+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Err ea5e313ef4146b40b5d8b27aa168e736+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ Language.Fixpoint.Graph.Types 90354efadf49650a4d644eca42325aa3+ exports: 68162b3a5b2b3dfa40ecf54da514ced3+ SolverInfo 9a73d9e092f73b37b6476ae70547e961+ siQuery 9a73d9e092f73b37b6476ae70547e961+import -/ Language.Fixpoint.Smt.Interface ee0737b56914b95eb563867307fa7dad+ exports: 34c9dd9681ad7de62fb07b614e95fb75+ cleanupContext 511b45c7e002c2142e0dcb9cff2e2ea6+ makeContextWithSEnv 4644204706da05ed92e94ab6343a856b+ smtAssert 335106faf7ebb07edc676359058f2360+ smtAssertAxiom 7b6baf9122bc1a4105ff32731a718749+ smtBracket 565d62dc2109372f4f4dd1533806693b+ smtBracketAt 01349403f3c6d5c8e2a6417da8fe09e9+ smtCheckSat 7642e6380fd15013f1ead086b29ff4eb+ smtCheckUnsat fc53c261336b1d25851b51fbb5b6b6de+ smtWrite 0b22fef9448643aa6bba1e68bd00e739+import -/ Language.Fixpoint.Smt.Serialize 7305b271952ce328cf0ab77b85d8d3d3+ exports: 5e1d313517b98758471045ea4f3116b5+import -/ Language.Fixpoint.Smt.Types 30a3f200618617e4fc3b128e7ad80e5a+ Context 372fcf0b6b50436d0652b44de8ce661a+import -/ Language.Fixpoint.Solver.Sanitize da8eac0e8562bb4a8fb712f9620a920d+ exports: 09f539552af63f8cdd1953f939eb3211+ symbolEnv e9ab0691e8ecbe0102273ed657a09d59+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+ allowHO 3988ec36858b82afed711ea7ff67ff00+ allowHOqs 3988ec36858b82afed711ea7ff67ff00+ srcFile 3988ec36858b82afed711ea7ff67ff00+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ GInfo 90ef96c47f269969affd7c3639af34f3+ HOI 68f422d6ea171a28a321a9a91713893b+ asserts 90ef96c47f269969affd7c3639af34f3+ bs 90ef96c47f269969affd7c3639af34f3+ cm 90ef96c47f269969affd7c3639af34f3+ hoInfo 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ DocTable b770cb7429f7fb2e003768f2afd382a6+ PTable e8b4bbc42515b2faadf940cf2792c24b+ pprint 955dc9d031db587300edf6146ac33be4+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ Expr 58dd7eff6040aa97f060415235c6cb01+ PNot dd52d33c67ccd94ba2b9bc2daaf6153f+import -/ Language.Fixpoint.Types.Solutions 0b8a944fa50bd0859885907efb6ca971+ exports: afa649b912ca2c885ac627d761c55201+ Cand a4ed89272bedad700786bb7d38e14a02+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ SrcSpan 30cdf4122b891cc575df90039bdcbecb+import -/ Language.Fixpoint.Types.Triggers 8abd2355db756b37b9b5fb3b0ce44e32+ Triggered d4e347d662ffae46e19beccd9e71f8e0+import -/ Language.Fixpoint.Utils.Progress 826d6a56464397a59b3a0f2598d33de7+ exports: 6850e83719e0c11e0074fbcdfbd4871d+ progressTick 0ccb985e47cb835d2bf679c5ff93fb6b+import -/ mtl-2.2.2:Control.Monad.State.Class 243c828469104fb94563be0ea268f418+import -/ mtl-2.2.2:Control.Monad.State.Strict 002b59b64e6c924e7580467701dff139+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ transformers-0.5.6.2:Control.Monad.Trans.Class ce71df227db199c1d525fc0992381112+import -/ transformers-0.5.6.2:Control.Monad.Trans.State.Strict acaa441e4b4c8edd4a30c00b2a2d825f+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+42fedfdc071709d67d222a46255e1c72+ $fGenericStats ::+ GHC.Generics.Generic Language.Fixpoint.Solver.Monad.Stats+ DFunId+42fedfdc071709d67d222a46255e1c72+ $fNFDataStats ::+ Control.DeepSeq.NFData Language.Fixpoint.Solver.Monad.Stats+ DFunId+42fedfdc071709d67d222a46255e1c72+ $fPTableStats ::+ Language.Fixpoint.Types.PrettyPrint.PTable+ Language.Fixpoint.Solver.Monad.Stats+ DFunId+42fedfdc071709d67d222a46255e1c72+ $fShowStats :: GHC.Show.Show Language.Fixpoint.Solver.Monad.Stats+ DFunId+aa5ee68c1cf18877f05f719ac9262a21+ $tc'SS :: GHC.Types.TyCon+85b9aa08c465b23c98dc23cf3ef62f28+ $tc'Stats :: GHC.Types.TyCon+63336e7cae0d94ecd51011b77daffc0d+ $tcSolverState :: GHC.Types.TyCon+cbbde06af086e2003b916da92cee3e92+ $tcStats :: GHC.Types.TyCon+16415c5fdc9692fcad9ad98a412d594d+ $trModule :: GHC.Types.Module+42fedfdc071709d67d222a46255e1c72+ axiom Language.Fixpoint.Solver.Monad.Rep_Stats::+ GHC.Generics.Rep Language.Fixpoint.Solver.Monad.Stats+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Stats"+ "Language.Fixpoint.Solver.Monad"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Stats" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "numCstr")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "numIter")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "numBrkt")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "numChck")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "numVald")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ GHC.Types.Int)))))+9f70ee3ebfa8014fd2d8389a4fe0275c+ type SolveM =+ Control.Monad.Trans.State.Strict.StateT+ Language.Fixpoint.Solver.Monad.SolverState GHC.Types.IO+ :: * -> *+6d672eb469c30df8e469baf0099d862a+ data SolverState+ = SS {ssCtx :: !Language.Fixpoint.Smt.Types.Context,+ ssBinds :: !Language.Fixpoint.Types.Environments.BindEnv,+ ssStats :: !Language.Fixpoint.Solver.Monad.Stats}+42fedfdc071709d67d222a46255e1c72+ data Stats+ = Stats {numCstr :: !GHC.Types.Int,+ numIter :: !GHC.Types.Int,+ numBrkt :: !GHC.Types.Int,+ numChck :: !GHC.Types.Int,+ numVald :: !GHC.Types.Int}+d61c57b1c1266d99e4fbbd9b00163a99+ checkSat ::+ Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Solver.Monad.SolveM GHC.Types.Bool+4d6e621245120d32bbab31e310ef22f5+ filterRequired ::+ Language.Fixpoint.Types.Solutions.Cand a+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Solver.Monad.SolveM [a]+a57a9639f6d4cdfdbf97921cc9454fae+ filterValid ::+ Language.Fixpoint.Types.Spans.SrcSpan+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Solutions.Cand a+ -> Language.Fixpoint.Solver.Monad.SolveM [a]+1401b425f4ed9aad1a497f49de3b847a+ filterValidGradual ::+ [Language.Fixpoint.Types.Refinements.Expr]+ -> Language.Fixpoint.Types.Solutions.Cand a+ -> Language.Fixpoint.Solver.Monad.SolveM [a]+29e1be431d0565029f7e97cb7c3d8f02+ getBinds ::+ Language.Fixpoint.Solver.Monad.SolveM+ Language.Fixpoint.Types.Environments.BindEnv+42fedfdc071709d67d222a46255e1c72+ numBrkt :: Language.Fixpoint.Solver.Monad.Stats -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Solver.Monad.Stats+42fedfdc071709d67d222a46255e1c72+ numChck :: Language.Fixpoint.Solver.Monad.Stats -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Solver.Monad.Stats+42fedfdc071709d67d222a46255e1c72+ numCstr :: Language.Fixpoint.Solver.Monad.Stats -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Solver.Monad.Stats+42fedfdc071709d67d222a46255e1c72+ numIter :: Language.Fixpoint.Solver.Monad.Stats -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Solver.Monad.Stats+42fedfdc071709d67d222a46255e1c72+ numVald :: Language.Fixpoint.Solver.Monad.Stats -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Solver.Monad.Stats+d273fd2e2826bdfa1e1d3e9d50f84631+ runSolverM ::+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Graph.Types.SolverInfo b c+ -> Language.Fixpoint.Solver.Monad.SolveM a+ -> GHC.Types.IO a+63d8189f82e7007d2672e84d540913ed+ smtEnablembqi :: Language.Fixpoint.Solver.Monad.SolveM ()+6d672eb469c30df8e469baf0099d862a+ ssBinds ::+ Language.Fixpoint.Solver.Monad.SolverState+ -> Language.Fixpoint.Types.Environments.BindEnv+ RecSel Left Language.Fixpoint.Solver.Monad.SolverState+6d672eb469c30df8e469baf0099d862a+ ssCtx ::+ Language.Fixpoint.Solver.Monad.SolverState+ -> Language.Fixpoint.Smt.Types.Context+ RecSel Left Language.Fixpoint.Solver.Monad.SolverState+6d672eb469c30df8e469baf0099d862a+ ssStats ::+ Language.Fixpoint.Solver.Monad.SolverState+ -> Language.Fixpoint.Solver.Monad.Stats+ RecSel Left Language.Fixpoint.Solver.Monad.SolverState+f42c912b98f941d319073be99ff455d4+ stats ::+ Language.Fixpoint.Solver.Monad.SolveM+ Language.Fixpoint.Solver.Monad.Stats+b4b94f6e9cf5872a22c95ac946b5a35c+ tickIter ::+ GHC.Types.Bool+ -> Language.Fixpoint.Solver.Monad.SolveM GHC.Types.Int+instance GHC.Generics.Generic [Language.Fixpoint.Solver.Monad.Stats]+ = Language.Fixpoint.Solver.Monad.$fGenericStats+instance Control.DeepSeq.NFData [Language.Fixpoint.Solver.Monad.Stats]+ = Language.Fixpoint.Solver.Monad.$fNFDataStats+instance Language.Fixpoint.Types.PrettyPrint.PTable [Language.Fixpoint.Solver.Monad.Stats]+ = Language.Fixpoint.Solver.Monad.$fPTableStats+instance GHC.Show.Show [Language.Fixpoint.Solver.Monad.Stats]+ = Language.Fixpoint.Solver.Monad.$fShowStats+family instance GHC.Generics.Rep [Language.Fixpoint.Solver.Monad.Stats]+ = Language.Fixpoint.Solver.Monad.Rep_Stats+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,319 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:50.885239 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.Sanitize 8065+ interface hash: dadd62470bb0924778c773980c1edfea+ ABI hash: da8eac0e8562bb4a8fb712f9620a920d+ export-list hash: 09f539552af63f8cdd1953f939eb3211+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 3b2fdb799f799b7d00a1c5099b77f188+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Solver.Sanitize.dropDeadSubsts+ Language.Fixpoint.Solver.Sanitize.sanitize+ Language.Fixpoint.Solver.Sanitize.symbolEnv+module dependencies: Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.SortCheck 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ fgl-5.7.0.1 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Either 423bee738f25e5ee983d072216009be8+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Graph 59334fea55dc8d64130719f78eeb5109+ exports: 70a8f3bb9be3a7f9430fb829908b4dcf+import -/ Language.Fixpoint.Graph.Deps f58fb5bc911772ff16e90c021342fd77+ kvEdges 686b8200ce806f2031e4d7483f206668+import -/ Language.Fixpoint.Graph.Types 90354efadf49650a4d644eca42325aa3+ Cstr fb3e234b3b6ba6293e60b57759fd6db5+ KVar c4a8980acc6c70ca8becabae4f5f5f0a+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ ListNE 34c095e41b29e7147eb4001d73367295+ applyNonNull 40b42461aae0e8b66421eafcc31fc750+ fM fc0ed533fb3547ed8f3e5e90f6f89b62+ fst3 f5278b30747d6e9b343f3260d38ec0b3+ group 89622853601fa33661a1ceef6d1ea621+ groupList 89ce0af3d82aae7a2d9f3f3c1cde0d05+ hashNub ffbfe6b323d9b9a6b0c8a57a5eb3b302+ mapFst a682b107c685b3ee1d7890f4d99a54b7+ nubDiff 6c1e2ed188278bb0c29202c8108eada9+ sortNub 7d73d874da71f31bd97dc544f8572fc4+import -/ Language.Fixpoint.Smt.Theories 48905aa2dfb4a1b0b274452f97471e3d+ exports: ad53920eb85c0904d205515774324773+ dataDeclSymbols 2d8583043a65b8ef8c4b1daa1cc034db+ theorySymbols 9dfe89aaf21384da84484dd10769925d+import -/ Language.Fixpoint.SortCheck f7b7dc40080c3027ffc5d238db179224+ exports: fef1457ed33a6a1cb5bc6a8b38a1edff+ applySorts 1deb294d8da2d328e1904332c7a838b4+ elaborate 5809c5e4abf9d4e8230e50ea3a386a0e+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+ allowHO 3988ec36858b82afed711ea7ff67ff00+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ AxiomEnv 90ef96c47f269969affd7c3639af34f3+ GInfo 90ef96c47f269969affd7c3639af34f3+ Qualifier 9aae2bcc537b45559d03a4eee2bb72e5+ SInfo 90ef96c47f269969affd7c3639af34f3+ SimpC 03dcffeea2a5199db7c9ff0154825bc0+ SubcId 311c8f398e2d0f5e23e664bacb45f905+ WfC ad7a627c031dc594c719d4e423bdd067+ _cenv 03dcffeea2a5199db7c9ff0154825bc0+ ae 90ef96c47f269969affd7c3639af34f3+ aenvSimpl 90ef96c47f269969affd7c3639af34f3+ allowHO 20bbed3ef73b2cf2a9faa3daff6a73ff+ bs 90ef96c47f269969affd7c3639af34f3+ cm 90ef96c47f269969affd7c3639af34f3+ crhs 9701eec311803b00e8ff03aadeb150fa+ dLits 90ef96c47f269969affd7c3639af34f3+ ddecls 90ef96c47f269969affd7c3639af34f3+ gLits 90ef96c47f269969affd7c3639af34f3+ ksMember 202c76f7c51615b606e4a1028b152172+ kuts 90ef96c47f269969affd7c3639af34f3+ quals 90ef96c47f269969affd7c3639af34f3+ senv b5a22d3808334133ad38d92f07d130ac+ smName 7df085a191521cbf745e28451770fe1d+ subcId c5ad3aad4a42726885659f4c083c4240+ wenv ad7a627c031dc594c719d4e423bdd067+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ BindId c1dc08df6d648ef575cab1d33fc5df7b+ IBindEnv b71d4c279d7a7920d70dd44bac0305aa+ SEnv 7b76b1b3898bd64fc8c2187c261c0f80+ bindEnvFromList 967550b3b3f55a80adc5bd8c64cfd4dc+ bindEnvToList 4e95582ccd56c9ddcde8c24e66fac2b3+ deleteIBindEnv ac15034cf0e9635db972d74335a45cfd+ deleteSEnv c0a7306f69b5faea3051bb367933295e+ diffIBindEnv b96940094e63827617b026d5632e9b40+ elemsIBindEnv cff28cd92ba002848a1acbf3edb359d8+ envCs e423fff58f01e321ca4ef94ca8a41936+ filterIBindEnv f7ce8cbf3008ec25398a899f51743e17+ filterSEnv c77688b7415765f02a29230109d5a8a3+ fromListSEnv 22654f2135f1b607f7ee82962c09eb4c+ intersectionIBindEnv 825ccfa88a2d78fd8f5dd646d23e905c+ lookupBindEnv d43e50ddb41c32b57594f5f31bf34671+ memberSEnv 5c6c280661ab2395f68ceac41ff286dc+ nullIBindEnv b65f48d19857641e3b855b73bcd54658+ toListSEnv ddd97c9c472b637e00dcfff9c958a991+ unionSEnv 9082cf3e67e0349ea8ea2b1196c1cc9c+import -/ Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+ exports: 89a9dc85e57ecc980170ae7cb32d2921+ Error f5aa082d4556718e292f7fedf0bb1503+ catError bc62bc4a753e843a93270632ec78b68e+ catErrors e509094129ca18eb8591fae917cbba68+ die b694e04a36caf383107b8f2e73ae279e+ err eb62a315ab4ae2ad7c68e48fa9cd6513+ errFreeVarInConstraint fd723dd431d2dfa7d2865d3365de5600+ errFreeVarInQual 5de6c8f1abed03643380cdf64f754585+ errIllScopedKVar 69fffebd0a579a1302a42038efceeb1d+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+ symbol 8093c1d4f5a85b247a3a96c3fce3245c+ symbolText eec089aa19dd5c0554fdac0c2f873812+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ pprint 955dc9d031db587300edf6146ac33be4+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Expr 58dd7eff6040aa97f060415235c6cb01+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ PFalse e43985c1fbf5446eb7e361fefcd63600+ PKVar 00776deded6bdc1a9b45a9cd2ff73aa5+ PTrue 1c366fec6a192dc993b90d2b711bd4f4+ Reft 11628612f280bce553f9c182ec061ec6+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ Su c7f0aa4f362b23d4096b7fbf274dffd0+ Subst 58dd7eff6040aa97f060415235c6cb01+ reftConjuncts 527dc5e5e7463d3cd54501ed54246c2b+ sr_reft 58dd7eff6040aa97f060415235c6cb01+ sr_sort 58dd7eff6040aa97f060415235c6cb01+ syms cedb5518769db9d49f4ce507184c5e1f+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ DataDecl 90984d28a9f3c849d44b1ec37334f5cb+ FFunc a2098452dd53c51f7531db6145200e8d+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ funcSort 704a7cd5c6c59ccb248291ac38658563+ functionSort f594877f5448823b341deb917c8c3252+ isFirstOrder cfd506bfd2cff1e57e8dcb1d24cae9ab+ strSort c638fae801e8e1f254334aa30682ab3e+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ atLoc 1d33f99909507b18efe9f42abbbb5952+ dummySpan 4c3a1f24b19908507cae45f533bfffe9+import -/ Language.Fixpoint.Types.Substitutions 68389730f57eb1bd783731c1e8e83435+ filterSubst a8845b356747c805d1596dd5efe45eb4+import -/ Language.Fixpoint.Types.Theories 2d31db6b0cdc7b0f2231db238b021516+ SymEnv 0506688674ca55c28cc4df4c4dbdb2df+ symEnv 1992706f8fadb6cc07f433cceb88b481+ tsSort 810e2965561391114a602ece3df70281+import -/ Language.Fixpoint.Types.Utils c4558c8f9797d9736e70827b8d56a1d3+ kvarDomain 4dd9061c4d8b811598a3e279499607fc+ reftFreeVars 6f7479b9a5de918c0c29df54be0eb764+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ isConcC 2f660a3d29daa78cb1b3ea5a2a1db8d7+ isKvarC ec2c3f4b035e45ed20df6c5d4f616a6c+ mapKVarSubsts e04782062e21c8e7f96200bce79c4edc+ mapKVars af441d27aeda370329d09896076c30f8+ symConsts ac449493d31bda83d8d4ffc7dda438c6+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ text-1.2.3.1:Data.Text 681b9c3df5b4e4b4e23ef5f840f0b692+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+67c9a609bf14b02fff179370174ee255+ $trModule :: GHC.Types.Module+12025e302059aab0c95aca8f8ae7acd8+ type KSub =+ (GHC.Maybe.Maybe Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.KVar,+ Language.Fixpoint.Types.Refinements.Subst)+cc2c2c684aba02733be403267ac58f87+ type KeepBindF =+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Sorts.Sort -> GHC.Types.Bool+6250c46d2f90f66e2bdb8c69a4288b01+ type KeepSortF =+ Language.Fixpoint.Types.Sorts.Sort -> GHC.Types.Bool+ac72f9f73e6bb43cc49b129f5cc08704+ type KvBads =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ [Language.Fixpoint.Types.Names.Symbol]+d16355479bef74266a2b0cf31db3c871+ type KvConstrM =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar [GHC.Integer.Type.Integer]+f0341c7db7b629ee78186136314333e1+ type KvDefs =+ (Language.Fixpoint.Solver.Sanitize.KvConstrM,+ Language.Fixpoint.Solver.Sanitize.KvConstrM)+9e3c92edad945d6ecac93bf7a5e25767+ type KvDom =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ (Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Environments.BindId)+0f86f760ea897b9692d221e37adf6363+ type SanitizeM a =+ Data.Either.Either Language.Fixpoint.Types.Errors.Error a+26f840544568a2788988f4120ef49887+ type SymBinds =+ (Language.Fixpoint.Types.Names.Symbol,+ [(Language.Fixpoint.Types.Sorts.Sort,+ [Language.Fixpoint.Types.Environments.BindId])])+43e5cce9af67a60dfb996b0be24d74c3+ dropDeadSubsts ::+ Language.Fixpoint.Types.Constraints.SInfo a+ -> Language.Fixpoint.Types.Constraints.SInfo a+427e152b4aa4bf6d186757add1bd8251+ sanitize ::+ Language.Fixpoint.Types.Constraints.SInfo a+ -> Language.Fixpoint.Solver.Sanitize.SanitizeM+ (Language.Fixpoint.Types.Constraints.SInfo a)+e9ab0691e8ecbe0102273ed657a09d59+ symbolEnv ::+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.SInfo a+ -> Language.Fixpoint.Types.Theories.SymEnv+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,413 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:51.988716 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.Solution 8065+ interface hash: b6c1bce7d38c6ef4b10c1d369161a9e0+ ABI hash: fa705903decf584a424f324cbe91dc12+ export-list hash: 2adbf922e26b8e1ae0e5f30b6d0d961e+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 0221a5bcdff4b9b2a0c3ac633c4f4269+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Solver.Solution.init+ Language.Fixpoint.Solver.Solution.lhsPred+ Language.Fixpoint.Types.Solutions.update+module dependencies: Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.Solver.Sanitize Language.Fixpoint.SortCheck+ 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ fgl-5.7.0.1 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parallel-3.2.2.0+ parsec-3.1.13.0 pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3+ stm-2.5.0.0 syb-0.7 text-1.2.3.1 text-format-0.3.2 time-1.8.0.2+ transformers-0.5.6.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Arrow cda881e865dd3141fb08ed18f2efcca7+import -/ base-4.12.0.0:Data.Either 423bee738f25e5ee983d072216009be8+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Err ea5e313ef4146b40b5d8b27aa168e736+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:Text.Printf d9e1f32eb8aa55bafa1cf4360210b275+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ groupList 89ce0af3d82aae7a2d9f3f3c1cde0d05+ safeLookup de93685c8ce33b5619842061a589410f+ sortNub 7d73d874da71f31bd97dc544f8572fc4+import -/ Language.Fixpoint.Solver.Sanitize da8eac0e8562bb4a8fb712f9620a920d+ exports: 09f539552af63f8cdd1953f939eb3211+ symbolEnv e9ab0691e8ecbe0102273ed657a09d59+import -/ Language.Fixpoint.SortCheck f7b7dc40080c3027ffc5d238db179224+ exports: fef1457ed33a6a1cb5bc6a8b38a1edff+ Env 474fd3daf7773a1200325c50db04e9e8+ TVSubst a106b014cd7a377f85eca8a71f0c1edd+ apply 8adcb6a62b22c433eda83ce38c107b2c+ checkSortExpr 693f7ca7884ad7e01b3bcd8a62d41e1e+ checkSorted 226ef447000bf1571f3b314469968dc6+ elaborate 5809c5e4abf9d4e8230e50ea3a386a0e+ isMono 974554777c998acc33c611a055a9ef31+ toInt b7c9d07ae16801d9ef846670988e98c9+ unifyFast 125054d2af6df4296d7b2ff26745e814+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ exports: 12c9708cdb7cc8f94e739104f060796e+ PatExact 4997cde712f8b3b006e6d14dfc07eec6+ PatNone 25106c4b55ee4d12827f60ed4dc88939+ PatPrefix 2431df8abc1f8f326cf5585efe0fe441+ PatSuffix dbda5dcb30797388be311802bcc1eae7+ QualParam 9aae2bcc537b45559d03a4eee2bb72e5+ QualPattern df6d07f9885eb5e5b345a33c505d8e73+ Qualifier 9aae2bcc537b45559d03a4eee2bb72e5+ SInfo 90ef96c47f269969affd7c3639af34f3+ SimpC 03dcffeea2a5199db7c9ff0154825bc0+ SubcId 311c8f398e2d0f5e23e664bacb45f905+ Tag f16c6ce3b8b49003401603dfb3b1715f+ WfC ad7a627c031dc594c719d4e423bdd067+ allowHOquals 2d72f2746bc8b5decaea3d152b78ce26+ bs 90ef96c47f269969affd7c3639af34f3+ cbind 03dcffeea2a5199db7c9ff0154825bc0+ cm 90ef96c47f269969affd7c3639af34f3+ crhs 9701eec311803b00e8ff03aadeb150fa+ ebinds 90ef96c47f269969affd7c3639af34f3+ gLits 90ef96c47f269969affd7c3639af34f3+ isGWfc 4c70cb60ff73f441d356b3d67861f82f+ qName 9aae2bcc537b45559d03a4eee2bb72e5+ qParams 9aae2bcc537b45559d03a4eee2bb72e5+ qpPat 9aae2bcc537b45559d03a4eee2bb72e5+ qpSort 9aae2bcc537b45559d03a4eee2bb72e5+ quals 90ef96c47f269969affd7c3639af34f3+ senv b5a22d3808334133ad38d92f07d130ac+ sid 81d85f14cb0bc67b2e1fd5d3402d56d8+ stag 99b38d7c44906da122f4e3e424da4733+ wenv ad7a627c031dc594c719d4e423bdd067+ wrft ad7a627c031dc594c719d4e423bdd067+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ BindId c1dc08df6d648ef575cab1d33fc5df7b+ IBindEnv b71d4c279d7a7920d70dd44bac0305aa+ SEnv 7b76b1b3898bd64fc8c2187c261c0f80+ bindEnvToList 4e95582ccd56c9ddcde8c24e66fac2b3+ diffIBindEnv b96940094e63827617b026d5632e9b40+ elemsIBindEnv cff28cd92ba002848a1acbf3edb359d8+ envCs e423fff58f01e321ca4ef94ca8a41936+ fromListSEnv 22654f2135f1b607f7ee82962c09eb4c+ insertSEnv 4288c53866870f2766a71eff8924b8fb+ lookupBindEnv d43e50ddb41c32b57594f5f31bf34671+ lookupSEnv 94599d47b6378649795b045198f42e89+ lookupSEnvWithDistance f94357819b257ff74f5b6c3800c04b59+ memberIBindEnv 042d686ac1046dc546144657885262c4+ toListSEnv ddd97c9c472b637e00dcfff9c958a991+ unionIBindEnv d6e374c110095a69fc96506c80b54d5a+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+ isLitSymbol 25094086814fd8fb3cd404fe6ffd3f18+ mappendSym 3366fcd7388280a1a7bf6a72dd29d365+ stripPrefix 8f72f666a976185328c7102b57f92add+ stripSuffix 905c930fc8a580b762d5c01e09f57351+ tidySymbol 13924b25c17672ff990eafc746ecd68a+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ notracepp 5a793f230115fb21796571cbf9bfbf52+ showpp a9f79fc9a75f72593341c16b4b8ac492+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ &.& 6181b4490e3595389de710d3949e91b1+ EEq b022fbb5d44329cad435c5cf3295d97c+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Expr 58dd7eff6040aa97f060415235c6cb01+ KVSub d1b959feb3e6e165694f06ccc1e60f00+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ PAnd 668269c725f0f517f2cefead144acbec+ PFalse e43985c1fbf5446eb7e361fefcd63600+ Pred 551c7d373a23dab3c0a93d27c12c8930+ RR bc18741bade52dfcbbbc2473e1b91821+ Reft 11628612f280bce553f9c182ec061ec6+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ Su c7f0aa4f362b23d4096b7fbf274dffd0+ Subst 58dd7eff6040aa97f060415235c6cb01+ expr bb69a3829a24dac6732a3d85fdbf277f+ isSingletonExpr a1b424e07674d0e6b4b00ddc71c855b3+ ksuKVar d1b959feb3e6e165694f06ccc1e60f00+ ksuSort d1b959feb3e6e165694f06ccc1e60f00+ ksuSubst d1b959feb3e6e165694f06ccc1e60f00+ ksuVV d1b959feb3e6e165694f06ccc1e60f00+ pAnd d997a1bd3b1f67d4020526858eca07c4+ pExist 6a564808743029b550fac42026ffd243+ pOr 8a1e1f795b62005d448717b57d964c5f+ sr_reft 58dd7eff6040aa97f060415235c6cb01+ sr_sort 58dd7eff6040aa97f060415235c6cb01+ syms cedb5518769db9d49f4ce507184c5e1f+import -/ Language.Fixpoint.Types.Solutions 0b8a944fa50bd0859885907efb6ca971+ exports: afa649b912ca2c885ac627d761c55201+ Cube 7e54038e4321923be0c504747fce3360+ EQual a143c3dc8e88328902f82f3430d31b51+ EbDef d1e6f8c8bc0bcb99dc497caaa55c25c9+ EbIncr 19455958d4e6c8bc29512e8491b8f79b+ EbSol 51175449a09c83481b29416713dd7e6a+ EbindSol 3ca9aaf0ff38db8fa1c00de0c3556fd4+ Hyp 7e54038e4321923be0c504747fce3360+ QBind a143c3dc8e88328902f82f3430d31b51+ Sol 7e54038e4321923be0c504747fce3360+ Solution bf7448c05104a6b95cc2daadfd2c3c7b+ cuBinds 7e54038e4321923be0c504747fce3360+ cuSubst 7e54038e4321923be0c504747fce3360+ cuTag 7e54038e4321923be0c504747fce3360+ eQual e5bcf7cab41a61c218805512fb734b78+ eqPred a143c3dc8e88328902f82f3430d31b51+ fromList d97c3221440644342c069f390188e702+ lookup 69f98716188c9c8031c0a438c6f3b88c+ qb 77ec72e84995f5e3c84562e1361f5d30+ qbFilter f30befa0e360f31f8380452b5ced64c8+ qbPreds 6c19e0e0bc0710d142392ff4a5201c3f+ sEbd 7e54038e4321923be0c504747fce3360+ sEnv 7e54038e4321923be0c504747fce3360+ sScp 7e54038e4321923be0c504747fce3360+ sxEnv 7e54038e4321923be0c504747fce3360+ update 196c52f8bdac2de089ae14810a8ac00d+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ FFrac 5a0487509a1a29dda536079b1750147a+ FNum 5b5ac191d5fc722937c5d2a123c4a98c+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ functionSort f594877f5448823b341deb917c8c3252+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ Loc 4962bb0bc274d9001b974c3326b63480+ SrcSpan 30cdf4122b891cc575df90039bdcbecb+ atLoc 1d33f99909507b18efe9f42abbbb5952+ srcSpan 2b3eb671678320980d11df21e110f501+import -/ Language.Fixpoint.Types.Theories 2d31db6b0cdc7b0f2231db238b021516+ SymEnv 0506688674ca55c28cc4df4c4dbdb2df+ seSort 0506688674ca55c28cc4df4c4dbdb2df+import -/ Language.Fixpoint.Types.Utils c4558c8f9797d9736e70827b8d56a1d3+ sortedReftConcKVars acb146290271390388026ab060798d93+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ kvars c0e50d3c638d80582ef2ff4559ccde96+ stripCasts 2e0061e71ddda5abcf68bb484630ae3e+import -/ parallel-3.2.2.0:Control.Parallel.Strategies 6a045ce81bdbdafd260789c5d129b50d+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+bf0784883e4f66a0ac73e848bdad8e97+ $fEqKInfo :: GHC.Classes.Eq Language.Fixpoint.Solver.Solution.KInfo+ DFunId+ed8dcb9c88ea4ead018754b9d2f5eac9+ $fLocCombinedEnv ::+ Language.Fixpoint.Types.Spans.Loc+ Language.Fixpoint.Solver.Solution.CombinedEnv+ DFunId+bf0784883e4f66a0ac73e848bdad8e97+ $fMonoidKInfo ::+ GHC.Base.Monoid Language.Fixpoint.Solver.Solution.KInfo+ DFunId+bf0784883e4f66a0ac73e848bdad8e97+ $fOrdKInfo ::+ GHC.Classes.Ord Language.Fixpoint.Solver.Solution.KInfo+ DFunId+bf0784883e4f66a0ac73e848bdad8e97+ $fSemigroupKInfo ::+ GHC.Base.Semigroup Language.Fixpoint.Solver.Solution.KInfo+ DFunId+bf0784883e4f66a0ac73e848bdad8e97+ $fShowKInfo ::+ GHC.Show.Show Language.Fixpoint.Solver.Solution.KInfo+ DFunId+02d11489d4f3e0a5a865f3a0f3a08514+ $tc'CEnv :: GHC.Types.TyCon+69a046a27433ea0722c7951d27d00599+ $tc'JustSub :: GHC.Types.TyCon+84c622f771760dfba031e72bb13c7959+ $tc'KI :: GHC.Types.TyCon+f3fec5419f35993741e36011c0436821+ $tc'NoSub :: GHC.Types.TyCon+48b6549937f0f634c9f8d95e4b25cb01+ $tcCombinedEnv :: GHC.Types.TyCon+4b419927f301df25d898de05e7c78c61+ $tcKInfo :: GHC.Types.TyCon+e8134ab8873fbba4cfc65a023b68a158+ $tcQPSubst :: GHC.Types.TyCon+d2e7792bcc784b651d4ec81563a878b9+ $trModule :: GHC.Types.Module+e5b22ea9720c332be4e71c4e790e3f4d+ type Binders =+ [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+2ead95ff5c8b2101f175f8adf176ce4f+ type Cid = GHC.Maybe.Maybe GHC.Integer.Type.Integer+ed8dcb9c88ea4ead018754b9d2f5eac9+ data CombinedEnv+ = CEnv {ceCid :: !Language.Fixpoint.Solver.Solution.Cid,+ ceBEnv :: !Language.Fixpoint.Types.Environments.BindEnv,+ ceIEnv :: !Language.Fixpoint.Types.Environments.IBindEnv,+ ceSpan :: !Language.Fixpoint.Types.Spans.SrcSpan}+e9dc350819b6296ed4ea969c288cfcd3+ type ExprInfo =+ (Language.Fixpoint.Types.Refinements.Expr,+ Language.Fixpoint.Solver.Solution.KInfo)+bf0784883e4f66a0ac73e848bdad8e97+ data KInfo+ = KI {kiTags :: [Language.Fixpoint.Types.Constraints.Tag],+ kiDepth :: !GHC.Types.Int,+ kiCubes :: !GHC.Integer.Type.Integer}+63bb5331f9fc7f6182ab1aee22e68750+ data QPSubst+ = NoSub+ | JustSub GHC.Types.Int Language.Fixpoint.Types.Names.Symbol+ed8dcb9c88ea4ead018754b9d2f5eac9+ ceBEnv ::+ Language.Fixpoint.Solver.Solution.CombinedEnv+ -> Language.Fixpoint.Types.Environments.BindEnv+ RecSel Left Language.Fixpoint.Solver.Solution.CombinedEnv+ed8dcb9c88ea4ead018754b9d2f5eac9+ ceCid ::+ Language.Fixpoint.Solver.Solution.CombinedEnv+ -> Language.Fixpoint.Solver.Solution.Cid+ RecSel Left Language.Fixpoint.Solver.Solution.CombinedEnv+ed8dcb9c88ea4ead018754b9d2f5eac9+ ceIEnv ::+ Language.Fixpoint.Solver.Solution.CombinedEnv+ -> Language.Fixpoint.Types.Environments.IBindEnv+ RecSel Left Language.Fixpoint.Solver.Solution.CombinedEnv+ed8dcb9c88ea4ead018754b9d2f5eac9+ ceSpan ::+ Language.Fixpoint.Solver.Solution.CombinedEnv+ -> Language.Fixpoint.Types.Spans.SrcSpan+ RecSel Left Language.Fixpoint.Solver.Solution.CombinedEnv+d91fa3b51cefe347cfac4111ffc93c68+ init ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.SInfo a+ -> Data.HashSet.HashSet Language.Fixpoint.Types.Refinements.KVar+ -> Language.Fixpoint.Types.Solutions.Solution+bf0784883e4f66a0ac73e848bdad8e97+ kiCubes ::+ Language.Fixpoint.Solver.Solution.KInfo -> GHC.Integer.Type.Integer+ RecSel Left Language.Fixpoint.Solver.Solution.KInfo+bf0784883e4f66a0ac73e848bdad8e97+ kiDepth :: Language.Fixpoint.Solver.Solution.KInfo -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Solver.Solution.KInfo+bf0784883e4f66a0ac73e848bdad8e97+ kiTags ::+ Language.Fixpoint.Solver.Solution.KInfo+ -> [Language.Fixpoint.Types.Constraints.Tag]+ RecSel Left Language.Fixpoint.Solver.Solution.KInfo+d6c05e31d5998f236f56050551b1e353+ lhsPred ::+ Language.Fixpoint.Types.Spans.Loc a =>+ Language.Fixpoint.Types.Environments.BindEnv+ -> Language.Fixpoint.Types.Solutions.Solution+ -> Language.Fixpoint.Types.Constraints.SimpC a+ -> Language.Fixpoint.Types.Refinements.Expr+instance GHC.Classes.Eq [Language.Fixpoint.Solver.Solution.KInfo]+ = Language.Fixpoint.Solver.Solution.$fEqKInfo+instance Language.Fixpoint.Types.Spans.Loc [Language.Fixpoint.Solver.Solution.CombinedEnv]+ = Language.Fixpoint.Solver.Solution.$fLocCombinedEnv+instance GHC.Base.Monoid [Language.Fixpoint.Solver.Solution.KInfo]+ = Language.Fixpoint.Solver.Solution.$fMonoidKInfo+instance GHC.Classes.Ord [Language.Fixpoint.Solver.Solution.KInfo]+ = Language.Fixpoint.Solver.Solution.$fOrdKInfo+instance GHC.Base.Semigroup [Language.Fixpoint.Solver.Solution.KInfo]+ = Language.Fixpoint.Solver.Solution.$fSemigroupKInfo+instance GHC.Show.Show [Language.Fixpoint.Solver.Solution.KInfo]+ = Language.Fixpoint.Solver.Solution.$fShowKInfo+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,284 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:54.651825 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.Solve 8065+ interface hash: 381f61a4b2016c4df2b1f552521b9c56+ ABI hash: 5efc001292648939458b24b2fb4e5f3f+ export-list hash: ef1c27f5b11325829bfe189101295b68+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: afd5dd834ad1e73ef2c979c5b97c3f08+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Solver.Solve.solve+ Language.Fixpoint.Solver.Solve.solverInfo+module dependencies: Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Interface Language.Fixpoint.Smt.Serialize+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.Solver.Eliminate Language.Fixpoint.Solver.Monad+ Language.Fixpoint.Solver.Sanitize Language.Fixpoint.Solver.Solution+ Language.Fixpoint.Solver.Worklist Language.Fixpoint.SortCheck+ 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Language.Fixpoint.Utils.Progress Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0+ ascii-progress-0.3.3.0 async-2.2.1 attoparsec-0.13.2.2+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5+ concurrent-output-1.10.9 containers-0.6.0.1 data-default-0.7.1.1+ data-default-class-0.1.2.0 data-default-instances-containers-0.0.1+ data-default-instances-dlist-0.0.1+ data-default-instances-old-locale-0.0.1 deepseq-1.4.4.0+ directory-1.3.3.0 dlist-0.8.0.6 double-conversion-2.0.2.0+ exceptions-0.10.2 fgl-5.7.0.1 filepath-1.4.2.1 ghc-boot-th-8.6.5+ ghc-prim-0.5.3 hashable-1.2.7.0 integer-gmp-1.0.2.0+ integer-logarithms-1.0.3 intern-0.9.2 mtl-2.2.2 old-locale-1.0.0.7+ parallel-3.2.2.0 parsec-3.1.13.0 pretty-1.1.3.6 primitive-0.6.4.0+ process-1.6.5.0 scientific-0.3.6.2 split-0.2.3.3 stm-2.5.0.0+ syb-0.7 template-haskell-2.14.0.0 terminal-size-0.3.2.1+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Serialize+ attoparsec-0.13.2.2:Data.Attoparsec.Text.Internal+ data-default-instances-containers-0.0.1:Data.Default.Instances.Containers+ data-default-instances-dlist-0.0.1:Data.Default.Instances.DList+ data-default-instances-old-locale-0.0.1:Data.Default.Instances.OldLocale+ transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: attoparsec-0.13.2.2:Data.Attoparsec.Internal.Types+ base-4.12.0.0:Control.Applicative base-4.12.0.0:Data.Complex+ base-4.12.0.0:Data.Functor.Compose base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ dlist-0.8.0.6:Data.DList+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ ghc-boot-th-8.6.5:GHC.ForeignSrcLang.Type+ ghc-boot-th-8.6.5:GHC.LanguageExtensions.Type+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.Monad+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ+ primitive-0.6.4.0:Control.Monad.Primitive+ primitive-0.6.4.0:Data.Primitive.Array+ template-haskell-2.14.0.0:Language.Haskell.TH.Syntax+ terminal-size-0.3.2.1:System.Console.Terminal.Common+ text-1.2.3.1:Data.Text text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Real af2b985dd29515c375fb78b2c9298d42+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ base-4.12.0.0:Text.Printf d9e1f32eb8aa55bafa1cf4360210b275+import -/ base-4.12.0.0:Text.Read 87f80fc2538a174aea915dd98f74fc0a+import -/ cmdargs-0.10.20:System.Console.CmdArgs.Verbosity fa5402dbe76d4158a9bd93730fac6d67+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Graph 59334fea55dc8d64130719f78eeb5109+ exports: 70a8f3bb9be3a7f9430fb829908b4dcf+import -/ Language.Fixpoint.Graph.Deps f58fb5bc911772ff16e90c021342fd77+ elimDeps dc3d3bae02683f6ae264dac8243bec09+ isTarget d1daed292929204f16030b2bb40ffd2e+ kvEdges 686b8200ce806f2031e4d7483f206668+import -/ Language.Fixpoint.Graph.Types 90354efadf49650a4d644eca42325aa3+ SI acae40c3d81f5865f3bafc419a2516f3+ SolverInfo 9a73d9e092f73b37b6476ae70547e961+ cNumScc fb08c7abe463f57655419905998c9e3c+ siDeps 9a73d9e092f73b37b6476ae70547e961+ siSol 9a73d9e092f73b37b6476ae70547e961+ siVars 9a73d9e092f73b37b6476ae70547e961+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ Loud 20d9cfe47287517748c900396beb2597+ donePhase 8c86f9b1cc5432363fae6c5796ca46cf+ errorstar e47c2d482124b43e020a405f809adcff+ writeLoud da0cc108bb5411bb5d6b91b83e620d3c+import -/ Language.Fixpoint.Solver.Eliminate 4266a8beca0a8b31df2fbb85c1238905+ exports: 9f31657091ba220b7c3a3ed90e2d5fca+ solverInfo fa204fa1677b0f527183486780e02980+import -/ Language.Fixpoint.Solver.Monad 4fa9d18e3355b76fbdd68cad34b1f148+ exports: cbbad5f300cf7cd33080e8b093a602f7+ SolveM 9f70ee3ebfa8014fd2d8389a4fe0275c+ Stats 42fedfdc071709d67d222a46255e1c72+ filterValid a57a9639f6d4cdfdbf97921cc9454fae+ getBinds 29e1be431d0565029f7e97cb7c3d8f02+ runSolverM d273fd2e2826bdfa1e1d3e9d50f84631+ stats f42c912b98f941d319073be99ff455d4+ tickIter b4b94f6e9cf5872a22c95ac946b5a35c+import -/ Language.Fixpoint.Solver.Solution fa705903decf584a424f324cbe91dc12+ exports: 2adbf922e26b8e1ae0e5f30b6d0d961e+ init d91fa3b51cefe347cfac4111ffc93c68+ lhsPred d6c05e31d5998f236f56050551b1e353+import -/ Language.Fixpoint.Solver.Worklist e28dd4b5b20a7a33161a8e1cdb3b4d30+ exports: 29206d4241fcc1bcf27c639e7c3aa7f0+ Worklist 95f21c5d766c737c485bb6f3e48a1c3d+ init faa91aaceb28c4242232265d12e7150f+ pop dcd880f19f401746c1ee843009aab860+ push d93c84adaa766c9caa7ede6fb1b92b2a+ unsatCandidates 7426dedc917e6734148dc879c501a0af+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+ checkCstr 3988ec36858b82afed711ea7ff67ff00+ gradual 3988ec36858b82afed711ea7ff67ff00+ minimalSol 3988ec36858b82afed711ea7ff67ff00+ solverStats 3988ec36858b82afed711ea7ff67ff00+ useElim eeb6968cb668f2bbdfd4cb15a73d4e11+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ FixSolution e5dd9fe1547120a043f58991c78a60c9+ Result b62c3629307de4be785c11501bbf9249+ Result 9b37020b88a84332f42c4a4efcccc0c2+ SInfo 90ef96c47f269969affd7c3639af34f3+ SimpC 03dcffeea2a5199db7c9ff0154825bc0+ bs 90ef96c47f269969affd7c3639af34f3+ crhs 9701eec311803b00e8ff03aadeb150fa+ isGWfc 4c70cb60ff73f441d356b3d67861f82f+ resSolution 9b37020b88a84332f42c4a4efcccc0c2+ sid 81d85f14cb0bc67b2e1fd5d3402d56d8+ sinfo bd7e6fd4191464518ceaf2e5edcaef9c+ subcId c5ad3aad4a42726885659f4c083c4240+ wloc ad7a627c031dc594c719d4e423bdd067+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+ FixResult c0716f0e4597e606e45487edbbbeea3f+ Safe d22144b54cf2a4f4ae6a38095fc7dbe3+ Unsafe f41fb70ee1e83c00b795f94fcef4262f+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ tidySymbol 13924b25c17672ff990eafc746ecd68a+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ pprint 955dc9d031db587300edf6146ac33be4+ ptable 010a61d3c3108da1c22e8c22f9cd7753+ showpp a9f79fc9a75f72593341c16b4b8ac492+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ Expr 58dd7eff6040aa97f060415235c6cb01+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ PAnd 668269c725f0f517f2cefead144acbec+ PKVar 00776deded6bdc1a9b45a9cd2ff73aa5+ Pred 551c7d373a23dab3c0a93d27c12c8930+ Subst 58dd7eff6040aa97f060415235c6cb01+ conjuncts 62dbde6d56cf10a600838f12dff254d8+ eVar 78f3007f3bb9a0c61a30d1ab8e58f084+ gsrc af986c6f2ab8500fff12f403a43796ed+ gused af986c6f2ab8500fff12f403a43796ed+ pAnd d997a1bd3b1f67d4020526858eca07c4+ substf 2a7829ff8a455a2f5d2182c05514a458+import -/ Language.Fixpoint.Types.Solutions 0b8a944fa50bd0859885907efb6ca971+ exports: afa649b912ca2c885ac627d761c55201+ Cand a4ed89272bedad700786bb7d38e14a02+ EQual a143c3dc8e88328902f82f3430d31b51+ Solution bf7448c05104a6b95cc2daadfd2c3c7b+ lookupQBind b4e3ff5e3dad013ca7d300fc36e0d7c4+ qbPreds 6c19e0e0bc0710d142392ff4a5201c3f+ result 5cd96a1bf7303ff59ebb82fbd4e427fa+ update 196c52f8bdac2de089ae14810a8ac00d+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ Loc 4962bb0bc274d9001b974c3326b63480+ SrcSpan 30cdf4122b891cc575df90039bdcbecb+ dummySpan 4c3a1f24b19908507cae45f533bfffe9+ srcSpan 2b3eb671678320980d11df21e110f501+import -/ Language.Fixpoint.Utils.Progress 826d6a56464397a59b3a0f2598d33de7+ exports: 6850e83719e0c11e0074fbcdfbd4871d+ withProgress 8d2751f40705437b1b2bb822db3b7ec9+import -/ mtl-2.2.2:Control.Monad.State.Strict 002b59b64e6c924e7580467701dff139+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ transformers-0.5.6.2:Control.Monad.Trans.Class ce71df227db199c1d525fc0992381112+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+2fbfb0cc8c0bb6933b5a6e7d72901a3d+ $trModule :: GHC.Types.Module+c89254094aa96d5dcc2bd118d701135a+ solve ::+ (Control.DeepSeq.NFData a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a, GHC.Show.Show a,+ Language.Fixpoint.Types.Spans.Loc a) =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.SInfo a+ -> GHC.Types.IO+ (Language.Fixpoint.Types.Constraints.Result+ (GHC.Integer.Type.Integer, a))+98bdd13d3061d00af34aeb888ff68a8c+ solverInfo ::+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.SInfo a+ -> Language.Fixpoint.Graph.Types.SolverInfo a b+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,280 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:43.341957 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.TrivialSort [family instance module] 8065+ interface hash: e03fd93b7a7b645ee31286630bb52461+ ABI hash: d7fdcbbfd1f9ff39bf351168c3c2909c+ export-list hash: d546f3ef755688cf82f7be6e169fd6f4+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 796ab6b7d690b2243c65c7e5ca41b517+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Solver.TrivialSort.nontrivsorts+module dependencies: Language.Fixpoint.Misc 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2+ parsec-3.1.13.0 pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3+ stm-2.5.0.0 syb-0.7 text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Debug.Trace 60f75ad789dcddb29321db1cb21ccd4c+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:Text.Printf d9e1f32eb8aa55bafa1cf4360210b275+import -/ containers-0.6.0.1:Data.Graph 681805d2edd6844f7f403edb3665ef4a+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ errorstar e47c2d482124b43e020a405f809adcff+ fst3 f5278b30747d6e9b343f3260d38ec0b3+ groupList 89ce0af3d82aae7a2d9f3f3c1cde0d05+ inserts 7de1379eef9de67bec15b409215a296e+ snd3 4148f6cf88913a5dcfb4f2521a1e63ca+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+ queryFile 24dfc95af04dba576b5be5b6594619e1+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ FInfo b6d52641b5c0c13c0e61844e2114eb16+ Result 9b37020b88a84332f42c4a4efcccc0c2+ SubC 1844afeba4cbd3ee9cea173e868f8ce9+ WfC ad7a627c031dc594c719d4e423bdd067+ bs 90ef96c47f269969affd7c3639af34f3+ cm 90ef96c47f269969affd7c3639af34f3+ slhs 1844afeba4cbd3ee9cea173e868f8ce9+ srhs 1844afeba4cbd3ee9cea173e868f8ce9+ wrft ad7a627c031dc594c719d4e423bdd067+ writeFInfo ebc5583e57453ee643889abce46ece2a+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ bindEnvToList 4e95582ccd56c9ddcde8c24e66fac2b3+ mapBindEnv 32197c169397373f8fac7df4bdb16c5f+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Eq 3f11ae5b47578ad5a2c554235bd0e66b+ Expr 58dd7eff6040aa97f060415235c6cb01+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ PAtom efd69e8b2834a0937ec103ca6d2f2b7d+ PKVar 00776deded6bdc1a9b45a9cd2ff73aa5+ RR bc18741bade52dfcbbbc2473e1b91821+ Reft 11628612f280bce553f9c182ec061ec6+ Reft 58dd7eff6040aa97f060415235c6cb01+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ conjuncts 62dbde6d56cf10a600838f12dff254d8+ isNonTrivial 3a097c5f9ea6e7dca22bab5a2f3df362+ isTautoPred b0ebfe363526526426c55e6ea6cc9f4d+ reftPred 9d7b055289a88730385e70810b114b97+ sr_reft 58dd7eff6040aa97f060415235c6cb01+ sr_sort 58dd7eff6040aa97f060415235c6cb01+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ Sort 30d6fd7d99459ff88296e3b55c87b46c+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ kvars c0e50d3c638d80582ef2ff4559ccde96+import -/ Language.Fixpoint.Utils.Files b2b779ebebf03f66af4a684b17d25d25+ exports: 061e3dd63eb42c6c413f2db46ae3d0cb+ Out 045dcbb1c6e99954ac68641e69f8396b+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+d165105ac852eeb534e9465c286ce2bd+ $fEqNTV :: GHC.Classes.Eq Language.Fixpoint.Solver.TrivialSort.NTV+ DFunId+d165105ac852eeb534e9465c286ce2bd+ $fGenericNTV ::+ GHC.Generics.Generic Language.Fixpoint.Solver.TrivialSort.NTV+ DFunId+d165105ac852eeb534e9465c286ce2bd+ $fHashableNTV ::+ Data.Hashable.Class.Hashable+ Language.Fixpoint.Solver.TrivialSort.NTV+ DFunId+d165105ac852eeb534e9465c286ce2bd+ $fOrdNTV ::+ GHC.Classes.Ord Language.Fixpoint.Solver.TrivialSort.NTV+ DFunId+d165105ac852eeb534e9465c286ce2bd+ $fShowNTV :: GHC.Show.Show Language.Fixpoint.Solver.TrivialSort.NTV+ DFunId+f0439f5edfdddb39fa64036de84a0728+ $tc'K :: GHC.Types.TyCon+7924df417b67a701b0efa21ba70a929d+ $tc'Lhs :: GHC.Types.TyCon+ce19cd5cce985abfbf7afdd77af1c8c8+ $tc'NTV :: GHC.Types.TyCon+68243210baf7bd66c27e473f8d36f672+ $tc'Rhs :: GHC.Types.TyCon+61a4424dcb8c8ab0576ec7560e54813a+ $tc'S :: GHC.Types.TyCon+371dd896dea0091fafbdc07e93ec7ac6+ $tcNTV :: GHC.Types.TyCon+23680f8bf48eb278dd225a464ba37699+ $tcPolarity :: GHC.Types.TyCon+ae6efe27e667637e76064d5f81182db7+ $trModule :: GHC.Types.Module+6c65944947d2b6a0c636447990c583a2+ type KVarMap =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ [Language.Fixpoint.Types.Sorts.Sort]+753b7e506e30dc8b50ba9c5629d28b67+ type NTG =+ [(Language.Fixpoint.Solver.TrivialSort.NTV,+ Language.Fixpoint.Solver.TrivialSort.NTV,+ [Language.Fixpoint.Solver.TrivialSort.NTV])]+d165105ac852eeb534e9465c286ce2bd+ data NTV+ = NTV+ | K !Language.Fixpoint.Types.Refinements.KVar+ | S !Language.Fixpoint.Types.Sorts.Sort+ae7c065466de53bd0925cd1f3ec14892+ type NonTrivSorts =+ Data.HashSet.HashSet Language.Fixpoint.Types.Sorts.Sort+5e07ff1020499b10065ec303a9b668b7+ data Polarity = Lhs | Rhs+d165105ac852eeb534e9465c286ce2bd+ axiom Language.Fixpoint.Solver.TrivialSort.Rep_NTV::+ GHC.Generics.Rep Language.Fixpoint.Solver.TrivialSort.NTV+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "NTV"+ "Language.Fixpoint.Solver.TrivialSort"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "NTV" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons "K" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.KVar))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "S" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort))))+5e37d4fa4585427f24c76bb368978354+ type TrivInfo =+ (Language.Fixpoint.Solver.TrivialSort.NonTrivSorts,+ Language.Fixpoint.Solver.TrivialSort.KVarMap)+b61f545b5f12fc3c16c97869333a52e4+ nontrivsorts ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.FInfo a+ -> GHC.Types.IO (Language.Fixpoint.Types.Constraints.Result a)+instance GHC.Classes.Eq [Language.Fixpoint.Solver.TrivialSort.NTV]+ = Language.Fixpoint.Solver.TrivialSort.$fEqNTV+instance GHC.Generics.Generic [Language.Fixpoint.Solver.TrivialSort.NTV]+ = Language.Fixpoint.Solver.TrivialSort.$fGenericNTV+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Solver.TrivialSort.NTV]+ = Language.Fixpoint.Solver.TrivialSort.$fHashableNTV+instance GHC.Classes.Ord [Language.Fixpoint.Solver.TrivialSort.NTV]+ = Language.Fixpoint.Solver.TrivialSort.$fOrdNTV+instance GHC.Show.Show [Language.Fixpoint.Solver.TrivialSort.NTV]+ = Language.Fixpoint.Solver.TrivialSort.$fShowNTV+family instance GHC.Generics.Rep [Language.Fixpoint.Solver.TrivialSort.NTV]+ = Language.Fixpoint.Solver.TrivialSort.Rep_NTV+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,256 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:51.66962 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.UniqifyBinds [family instance module] 8065+ interface hash: 6d2995709644552d830e5d4ec25e25f1+ ABI hash: eaa7879698d9e9a748103f95a9e44bfb+ export-list hash: 3613463f7559bf1afa99a47660046389+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 9320da87fb443248de9161ce2da0c8d3+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Solver.UniqifyBinds.renameAll+module dependencies: Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.Solver.Sanitize Language.Fixpoint.SortCheck+ 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ fgl-5.7.0.1 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Arrow cda881e865dd3141fb08ed18f2efcca7+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ fst3 f5278b30747d6e9b343f3260d38ec0b3+ mlookup 654d1c9b3eaae1610a3367570c91a4ac+import -/ Language.Fixpoint.Solver.Sanitize da8eac0e8562bb4a8fb712f9620a920d+ exports: 09f539552af63f8cdd1953f939eb3211+ dropDeadSubsts 43e5cce9af67a60dfb996b0be24d74c3+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ SInfo 90ef96c47f269969affd7c3639af34f3+ SimpC 03dcffeea2a5199db7c9ff0154825bc0+ _crhs 03dcffeea2a5199db7c9ff0154825bc0+ bs 90ef96c47f269969affd7c3639af34f3+ cm 90ef96c47f269969affd7c3639af34f3+ crhs 9701eec311803b00e8ff03aadeb150fa+ senv b5a22d3808334133ad38d92f07d130ac+ wenv ad7a627c031dc594c719d4e423bdd067+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ BindId c1dc08df6d648ef575cab1d33fc5df7b+ adjustBindEnv 03a20071911999e08cc0bbf23913313f+ bindEnvFromList 967550b3b3f55a80adc5bd8c64cfd4dc+ bindEnvToList 4e95582ccd56c9ddcde8c24e66fac2b3+ elemsIBindEnv cff28cd92ba002848a1acbf3edb359d8+ emptyIBindEnv 6cfa8d73992960a6ab6331f8d3b757ff+ filterBindEnv d7f2b544457d7b6ee589986f90fe0a9b+ lookupBindEnv d43e50ddb41c32b57594f5f31bf34671+ memberIBindEnv 042d686ac1046dc546144657885262c4+ unionIBindEnv d6e374c110095a69fc96506c80b54d5a+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+ renameSymbol 5afdfb8f4019e0e926007c26dcda3ae9+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ Expr 58dd7eff6040aa97f060415235c6cb01+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ Subst 58dd7eff6040aa97f060415235c6cb01+ eVar 78f3007f3bb9a0c61a30d1ab8e58f084+ isTauto 2fb0b34f6b8aac8f204ebb27337a74a2+ sr_reft 58dd7eff6040aa97f060415235c6cb01+ sr_sort 58dd7eff6040aa97f060415235c6cb01+ subst 8dc51beb28f3e734b2b3097edf7df9c8+ syms cedb5518769db9d49f4ce507184c5e1f+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ Sort 30d6fd7d99459ff88296e3b55c87b46c+import -/ Language.Fixpoint.Types.Substitutions 68389730f57eb1bd783731c1e8e83435+ mkSubst fa0e5a33f52a68ffd2f44ba8a067ca8c+import -/ Language.Fixpoint.Types.Utils c4558c8f9797d9736e70827b8d56a1d3+ reftFreeVars 6f7479b9a5de918c0c29df54be0eb764+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+c3611faa8e28c644b0782dd86254fb30+ $fEqRef :: GHC.Classes.Eq Language.Fixpoint.Solver.UniqifyBinds.Ref+ DFunId+c3611faa8e28c644b0782dd86254fb30+ $fGenericRef ::+ GHC.Generics.Generic Language.Fixpoint.Solver.UniqifyBinds.Ref+ DFunId+c3611faa8e28c644b0782dd86254fb30+ $fHashableRef ::+ Data.Hashable.Class.Hashable+ Language.Fixpoint.Solver.UniqifyBinds.Ref+ DFunId+c3611faa8e28c644b0782dd86254fb30+ $fNFDataRef ::+ Control.DeepSeq.NFData Language.Fixpoint.Solver.UniqifyBinds.Ref+ DFunId+789ab75d919f5d66b295ee71fb8f06a8+ $tc'RB :: GHC.Types.TyCon+cb50809b961ddfaa445553a9290e2cde+ $tc'RI :: GHC.Types.TyCon+c7b2300615d3dcc38560f1e8b28f322c+ $tcRef :: GHC.Types.TyCon+934027afde6d33ef2e287faa6df134ff+ $trModule :: GHC.Types.Module+4f8684c053d9a8dbae22c554b3625904+ type IdMap =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Solver.UniqifyBinds.Ref+ (Data.HashSet.HashSet Language.Fixpoint.Types.Environments.BindId)+c3611faa8e28c644b0782dd86254fb30+ data Ref+ = RB !Language.Fixpoint.Types.Environments.BindId+ | RI !GHC.Integer.Type.Integer+ca8f505cc4b6345a6be8b059db161d1b+ type RenameMap =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol+ [(Language.Fixpoint.Types.Sorts.Sort,+ GHC.Maybe.Maybe Language.Fixpoint.Types.Names.Symbol)]+c3611faa8e28c644b0782dd86254fb30+ axiom Language.Fixpoint.Solver.UniqifyBinds.Rep_Ref::+ GHC.Generics.Rep Language.Fixpoint.Solver.UniqifyBinds.Ref+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Ref"+ "Language.Fixpoint.Solver.UniqifyBinds"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "RB" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Environments.BindId))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "RI" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Integer.Type.Integer)))+080af345d0d20eb60d2e91ac3388b62b+ renameAll ::+ Language.Fixpoint.Types.Constraints.SInfo a+ -> Language.Fixpoint.Types.Constraints.SInfo a+instance GHC.Classes.Eq [Language.Fixpoint.Solver.UniqifyBinds.Ref]+ = Language.Fixpoint.Solver.UniqifyBinds.$fEqRef+instance GHC.Generics.Generic [Language.Fixpoint.Solver.UniqifyBinds.Ref]+ = Language.Fixpoint.Solver.UniqifyBinds.$fGenericRef+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Solver.UniqifyBinds.Ref]+ = Language.Fixpoint.Solver.UniqifyBinds.$fHashableRef+instance Control.DeepSeq.NFData [Language.Fixpoint.Solver.UniqifyBinds.Ref]+ = Language.Fixpoint.Solver.UniqifyBinds.$fNFDataRef+family instance GHC.Generics.Rep [Language.Fixpoint.Solver.UniqifyBinds.Ref]+ = Language.Fixpoint.Solver.UniqifyBinds.Rep_Ref+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,155 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:39.697782 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.UniqifyKVars 8065+ interface hash: 6f89eafc7ac86991cbf8af2cac3f3530+ ABI hash: b33b285b1ab2d8fc2b4096085d187ba8+ export-list hash: d701e8feb000cdf3332b3a1143052610+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 0e47618e0a4842aa5cda451048b9dd57+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Solver.UniqifyKVars.wfcUniqify+module dependencies: Language.Fixpoint.Misc 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2+ parsec-3.1.13.0 pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3+ stm-2.5.0.0 syb-0.7 text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ SInfo 90ef96c47f269969affd7c3639af34f3+ WfC ad7a627c031dc594c719d4e423bdd067+ bs 90ef96c47f269969affd7c3639af34f3+ updateWfCExpr 2b19bcee88d4e71467659782fa496dd2+ wenv ad7a627c031dc594c719d4e423bdd067+ wrft ad7a627c031dc594c719d4e423bdd067+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ BindId c1dc08df6d648ef575cab1d33fc5df7b+ elemsIBindEnv cff28cd92ba002848a1acbf3edb359d8+ insertBindEnv bc97de86c3ec6f664abb49ca068d7984+ insertsIBindEnv dca3e4d95477ee71c84a2814faf94fea+ lookupBindEnv d43e50ddb41c32b57594f5f31bf34671+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+ kArgSymbol c4387b065bc6f987eaed9b7bb4595152+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ Su c7f0aa4f362b23d4096b7fbf274dffd0+ Subst 58dd7eff6040aa97f060415235c6cb01+ eVar 78f3007f3bb9a0c61a30d1ab8e58f084+ kv f4ebd74e51621c4f10e9fc003e3885a9+ sr_sort 58dd7eff6040aa97f060415235c6cb01+ subst 8dc51beb28f3e734b2b3097edf7df9c8+ top 70facf73b73de971e8a54292cf34792c+ trueSortedReft 5a60d78a8bc9c5d80e01c993695d83d5+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ FAbs 8827fd69dabe452c42c2c745dfa98689+ FApp 1d71c4ce8486fd8718c15888c11af1b5+ FFrac 5a0487509a1a29dda536079b1750147a+ FFunc a2098452dd53c51f7531db6145200e8d+ FInt feec19063de9031ab717875a0a60c7b0+ FNum 5b5ac191d5fc722937c5d2a123c4a98c+ FObj 1bb5d6e74aaa46fc1c29e2a322aa25fa+ FReal 39b6469449782575f5c1edbea6d3e1cc+ FTC e5d6113e0ae80db3702c5a83dedd8a7f+ FVar a3c34a432d4203ec59fb1483b26cb260+ Sort 30d6fd7d99459ff88296e3b55c87b46c+import -/ Language.Fixpoint.Types.Substitutions 68389730f57eb1bd783731c1e8e83435+ mkSubst fa0e5a33f52a68ffd2f44ba8a067ca8c+import -/ Language.Fixpoint.Types.Utils c4558c8f9797d9736e70827b8d56a1d3+ kvarDomain 4dd9061c4d8b811598a3e279499607fc+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ mapKVarSubsts e04782062e21c8e7f96200bce79c4edc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+55a7e9a9da985881a77a8a1b125ac6db+ $trModule :: GHC.Types.Module+e1280036b1cb1a1d81a71b43a7fbd569+ wfcUniqify ::+ Language.Fixpoint.Types.Constraints.SInfo a+ -> Language.Fixpoint.Types.Constraints.SInfo a+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,352 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:50.53463 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Solver.Worklist 8065+ interface hash: af1ecc9e1f2eaa9a4d05a0761a36e304+ ABI hash: e28dd4b5b20a7a33161a8e1cdb3b4d30+ export-list hash: 29206d4241fcc1bcf27c639e7c3aa7f0+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: ee11019f07b6779bd737450ac5e1f444+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Solver.Worklist.init+ Language.Fixpoint.Solver.Worklist.pop+ Language.Fixpoint.Solver.Worklist.push+ Language.Fixpoint.Solver.Worklist.unsatCandidates+ Language.Fixpoint.Solver.Worklist.Stats+ Language.Fixpoint.Solver.Worklist.Worklist{wRanks}+module dependencies: Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.SortCheck 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ fgl-5.7.0.1 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Arrow cda881e865dd3141fb08ed18f2efcca7+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ containers-0.6.0.1:Data.Set afd5ab7eac5658da18a4fffc2d1b683c+import -/ containers-0.6.0.1:Data.Set.Internal a9b0d2c3208f9a74ef7f480a7813af2a+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ Language.Fixpoint.Graph 59334fea55dc8d64130719f78eeb5109+ exports: 70a8f3bb9be3a7f9430fb829908b4dcf+import -/ Language.Fixpoint.Graph.Deps f58fb5bc911772ff16e90c021342fd77+ isTarget d1daed292929204f16030b2bb40ffd2e+import -/ Language.Fixpoint.Graph.Types 90354efadf49650a4d644eca42325aa3+ exports: 68162b3a5b2b3dfa40ecf54da514ced3+ Rank cf29aa20410874c45eb55b88a9039fa1+ SolverInfo 9a73d9e092f73b37b6476ae70547e961+ cNumScc fb08c7abe463f57655419905998c9e3c+ cRank fb08c7abe463f57655419905998c9e3c+ cSucc fb08c7abe463f57655419905998c9e3c+ lookupCMap 39b9410ac905fdea8ba0cbc0cd18b14b+ rIcc cf29aa20410874c45eb55b88a9039fa1+ rScc cf29aa20410874c45eb55b88a9039fa1+ rTag cf29aa20410874c45eb55b88a9039fa1+ siDeps 9a73d9e092f73b37b6476ae70547e961+ siQuery 9a73d9e092f73b37b6476ae70547e961+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ SimpC 03dcffeea2a5199db7c9ff0154825bc0+ SubcId 311c8f398e2d0f5e23e664bacb45f905+ cm 90ef96c47f269969affd7c3639af34f3+ subcId c5ad3aad4a42726885659f4c083c4240+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ DocTable b770cb7429f7fb2e003768f2afd382a6+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ PTable e8b4bbc42515b2faadf940cf2792c24b+ pprint 955dc9d031db587300edf6146ac33be4+ pprintTidy bf75bee99d55ab15929b450195e64f3c+ ptable 010a61d3c3108da1c22e8c22f9cd7753+import -/ Language.Fixpoint.Types.Solutions 0b8a944fa50bd0859885907efb6ca971+ CMap f6eaa2c8b036cb0052c0242863f4089d+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+eafd12f6a82a49d0e815d0d08d6f2846+ $fEqStats :: GHC.Classes.Eq Language.Fixpoint.Solver.Worklist.Stats+ DFunId+120dd929546be0490b98a10790c4e73b+ $fEqWorkItem ::+ GHC.Classes.Eq Language.Fixpoint.Solver.Worklist.WorkItem+ DFunId+120dd929546be0490b98a10790c4e73b+ $fOrdWorkItem ::+ GHC.Classes.Ord Language.Fixpoint.Solver.Worklist.WorkItem+ DFunId+120dd929546be0490b98a10790c4e73b+ $fPPrintWorkItem ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Solver.Worklist.WorkItem+ DFunId+95f21c5d766c737c485bb6f3e48a1c3d+ $fPPrintWorklist ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Language.Fixpoint.Solver.Worklist.Worklist a)+ DFunId+eafd12f6a82a49d0e815d0d08d6f2846+ $fPTableStats ::+ Language.Fixpoint.Types.PrettyPrint.PTable+ Language.Fixpoint.Solver.Worklist.Stats+ DFunId+95f21c5d766c737c485bb6f3e48a1c3d+ $fPTableWorklist ::+ Language.Fixpoint.Types.PrettyPrint.PTable+ (Language.Fixpoint.Solver.Worklist.Worklist a)+ DFunId+eafd12f6a82a49d0e815d0d08d6f2846+ $fShowStats ::+ GHC.Show.Show Language.Fixpoint.Solver.Worklist.Stats+ DFunId+120dd929546be0490b98a10790c4e73b+ $fShowWorkItem ::+ GHC.Show.Show Language.Fixpoint.Solver.Worklist.WorkItem+ DFunId+6f3d6520c6fab3510a9697d50af79ad0+ $tc'Stats :: GHC.Types.TyCon+fb18f0bcbf7b878f7abf12471566e449+ $tc'WL :: GHC.Types.TyCon+4742667d974558932ba0ec2cc783ff1b+ $tc'WorkItem :: GHC.Types.TyCon+84e0263bc16e35017f63ccba5980dfed+ $tcStats :: GHC.Types.TyCon+ac22f8874d19192c045a8e6e387029af+ $tcWorkItem :: GHC.Types.TyCon+a887b0483375a71f9d29325d91886b2d+ $tcWorklist :: GHC.Types.TyCon+6591fc7f253600814c727980676e465a+ $trModule :: GHC.Types.Module+eafd12f6a82a49d0e815d0d08d6f2846+ data Stats+ = Stats {numKvarCs :: !GHC.Types.Int,+ numConcCs :: !GHC.Types.Int,+ _numSccs :: !GHC.Types.Int}+120dd929546be0490b98a10790c4e73b+ data WorkItem+ = WorkItem {wiCId :: !Language.Fixpoint.Types.Constraints.SubcId,+ wiTime :: !GHC.Types.Int,+ wiRank :: !Language.Fixpoint.Graph.Types.Rank}+a2ba368bb60779299bf00ba38976084e+ type WorkSet =+ Data.Set.Internal.Set Language.Fixpoint.Solver.Worklist.WorkItem+95f21c5d766c737c485bb6f3e48a1c3d+ data Worklist a+ = WL {wCs :: !Language.Fixpoint.Solver.Worklist.WorkSet,+ wPend :: !(Language.Fixpoint.Types.Solutions.CMap ()),+ wDeps :: !(Language.Fixpoint.Types.Solutions.CMap+ [Language.Fixpoint.Types.Constraints.SubcId]),+ wCm :: !(Language.Fixpoint.Types.Solutions.CMap+ (Language.Fixpoint.Types.Constraints.SimpC a)),+ wRankm :: !(Language.Fixpoint.Types.Solutions.CMap+ Language.Fixpoint.Graph.Types.Rank),+ wLast :: !(GHC.Maybe.Maybe+ Language.Fixpoint.Types.Constraints.SubcId),+ wRanks :: !GHC.Types.Int,+ wTime :: !GHC.Types.Int,+ wConcCs :: ![Language.Fixpoint.Types.Constraints.SubcId]}+eafd12f6a82a49d0e815d0d08d6f2846+ _numSccs ::+ Language.Fixpoint.Solver.Worklist.Stats -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Solver.Worklist.Stats+faa91aaceb28c4242232265d12e7150f+ init ::+ Language.Fixpoint.Graph.Types.SolverInfo a b+ -> Language.Fixpoint.Solver.Worklist.Worklist a+eafd12f6a82a49d0e815d0d08d6f2846+ numConcCs ::+ Language.Fixpoint.Solver.Worklist.Stats -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Solver.Worklist.Stats+eafd12f6a82a49d0e815d0d08d6f2846+ numKvarCs ::+ Language.Fixpoint.Solver.Worklist.Stats -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Solver.Worklist.Stats+dcd880f19f401746c1ee843009aab860+ pop ::+ Language.Fixpoint.Solver.Worklist.Worklist a+ -> GHC.Maybe.Maybe+ (Language.Fixpoint.Types.Constraints.SimpC a,+ Language.Fixpoint.Solver.Worklist.Worklist a, GHC.Types.Bool,+ GHC.Types.Int)+d93c84adaa766c9caa7ede6fb1b92b2a+ push ::+ Language.Fixpoint.Types.Constraints.SimpC a+ -> Language.Fixpoint.Solver.Worklist.Worklist a+ -> Language.Fixpoint.Solver.Worklist.Worklist a+7426dedc917e6734148dc879c501a0af+ unsatCandidates ::+ Language.Fixpoint.Solver.Worklist.Worklist a+ -> [Language.Fixpoint.Types.Constraints.SimpC a]+95f21c5d766c737c485bb6f3e48a1c3d+ wCm ::+ Language.Fixpoint.Solver.Worklist.Worklist a+ -> Language.Fixpoint.Types.Solutions.CMap+ (Language.Fixpoint.Types.Constraints.SimpC a)+ RecSel Left Language.Fixpoint.Solver.Worklist.Worklist+95f21c5d766c737c485bb6f3e48a1c3d+ wConcCs ::+ Language.Fixpoint.Solver.Worklist.Worklist a+ -> [Language.Fixpoint.Types.Constraints.SubcId]+ RecSel Left Language.Fixpoint.Solver.Worklist.Worklist+95f21c5d766c737c485bb6f3e48a1c3d+ wCs ::+ Language.Fixpoint.Solver.Worklist.Worklist a+ -> Language.Fixpoint.Solver.Worklist.WorkSet+ RecSel Left Language.Fixpoint.Solver.Worklist.Worklist+95f21c5d766c737c485bb6f3e48a1c3d+ wDeps ::+ Language.Fixpoint.Solver.Worklist.Worklist a+ -> Language.Fixpoint.Types.Solutions.CMap+ [Language.Fixpoint.Types.Constraints.SubcId]+ RecSel Left Language.Fixpoint.Solver.Worklist.Worklist+95f21c5d766c737c485bb6f3e48a1c3d+ wLast ::+ Language.Fixpoint.Solver.Worklist.Worklist a+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Constraints.SubcId+ RecSel Left Language.Fixpoint.Solver.Worklist.Worklist+95f21c5d766c737c485bb6f3e48a1c3d+ wPend ::+ Language.Fixpoint.Solver.Worklist.Worklist a+ -> Language.Fixpoint.Types.Solutions.CMap ()+ RecSel Left Language.Fixpoint.Solver.Worklist.Worklist+95f21c5d766c737c485bb6f3e48a1c3d+ wRankm ::+ Language.Fixpoint.Solver.Worklist.Worklist a+ -> Language.Fixpoint.Types.Solutions.CMap+ Language.Fixpoint.Graph.Types.Rank+ RecSel Left Language.Fixpoint.Solver.Worklist.Worklist+95f21c5d766c737c485bb6f3e48a1c3d+ wRanks ::+ Language.Fixpoint.Solver.Worklist.Worklist a -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Solver.Worklist.Worklist+95f21c5d766c737c485bb6f3e48a1c3d+ wTime ::+ Language.Fixpoint.Solver.Worklist.Worklist a -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Solver.Worklist.Worklist+120dd929546be0490b98a10790c4e73b+ wiCId ::+ Language.Fixpoint.Solver.Worklist.WorkItem+ -> Language.Fixpoint.Types.Constraints.SubcId+ RecSel Left Language.Fixpoint.Solver.Worklist.WorkItem+120dd929546be0490b98a10790c4e73b+ wiRank ::+ Language.Fixpoint.Solver.Worklist.WorkItem+ -> Language.Fixpoint.Graph.Types.Rank+ RecSel Left Language.Fixpoint.Solver.Worklist.WorkItem+120dd929546be0490b98a10790c4e73b+ wiTime ::+ Language.Fixpoint.Solver.Worklist.WorkItem -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Solver.Worklist.WorkItem+instance GHC.Classes.Eq [Language.Fixpoint.Solver.Worklist.Stats]+ = Language.Fixpoint.Solver.Worklist.$fEqStats+instance GHC.Classes.Eq [Language.Fixpoint.Solver.Worklist.WorkItem]+ = Language.Fixpoint.Solver.Worklist.$fEqWorkItem+instance GHC.Classes.Ord [Language.Fixpoint.Solver.Worklist.WorkItem]+ = Language.Fixpoint.Solver.Worklist.$fOrdWorkItem+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Solver.Worklist.WorkItem]+ = Language.Fixpoint.Solver.Worklist.$fPPrintWorkItem+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Solver.Worklist.Worklist]+ = Language.Fixpoint.Solver.Worklist.$fPPrintWorklist+instance Language.Fixpoint.Types.PrettyPrint.PTable [Language.Fixpoint.Solver.Worklist.Stats]+ = Language.Fixpoint.Solver.Worklist.$fPTableStats+instance Language.Fixpoint.Types.PrettyPrint.PTable [Language.Fixpoint.Solver.Worklist.Worklist]+ = Language.Fixpoint.Solver.Worklist.$fPTableWorklist+instance GHC.Show.Show [Language.Fixpoint.Solver.Worklist.Stats]+ = Language.Fixpoint.Solver.Worklist.$fShowStats+instance GHC.Show.Show [Language.Fixpoint.Solver.Worklist.WorkItem]+ = Language.Fixpoint.Solver.Worklist.$fShowWorkItem+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,620 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:41.281983 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.SortCheck 8065+ interface hash: 626cb74dd20d4748bb33aa46c9369370+ ABI hash: f7b7dc40080c3027ffc5d238db179224+ export-list hash: fef1457ed33a6a1cb5bc6a8b38a1edff+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 29c2dad9482135ea2a028a4fcdb14902+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.SortCheck.apply+ Language.Fixpoint.SortCheck.applySorts+ 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.exprSort_maybe+ Language.Fixpoint.SortCheck.isMono+ Language.Fixpoint.SortCheck.mkSearchEnv+ Language.Fixpoint.SortCheck.pruneUnsortedReft+ Language.Fixpoint.SortCheck.sortExpr+ Language.Fixpoint.SortCheck.toInt+ Language.Fixpoint.SortCheck.unApplyAt+ Language.Fixpoint.SortCheck.unifyFast+ Language.Fixpoint.SortCheck.unifySorts+ Language.Fixpoint.SortCheck.unifyTo1+ 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ text-1.2.3.1:Data.Text.Lazy text-1.2.3.1:Data.Text+ binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Either 423bee738f25e5ee983d072216009be8+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Err ea5e313ef4146b40b5d8b27aa168e736+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:Text.Printf d9e1f32eb8aa55bafa1cf4360210b275+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ applyNonNull 40b42461aae0e8b66421eafcc31fc750+ errorstar e47c2d482124b43e020a405f809adcff+ mapFst a682b107c685b3ee1d7890f4d99a54b7+import -/ Language.Fixpoint.Smt.Theories 48905aa2dfb4a1b0b274452f97471e3d+ exports: ad53920eb85c0904d205515774324773+ isSmt2App 4bca5c3e927ebbaefbcba7d5449308b6+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ AxiomEnv 90ef96c47f269969affd7c3639af34f3+ Equation 1b8c537886bd491bbeaae4b7cdcd5c8f+ Rewrite 7df085a191521cbf745e28451770fe1d+ SInfo 90ef96c47f269969affd7c3639af34f3+ SimpC 03dcffeea2a5199db7c9ff0154825bc0+ _crhs 03dcffeea2a5199db7c9ff0154825bc0+ aenvEqs 90ef96c47f269969affd7c3639af34f3+ asserts 90ef96c47f269969affd7c3639af34f3+ bs 90ef96c47f269969affd7c3639af34f3+ cm 90ef96c47f269969affd7c3639af34f3+ eqArgs 1b8c537886bd491bbeaae4b7cdcd5c8f+ eqBody 1b8c537886bd491bbeaae4b7cdcd5c8f+ smBody 7df085a191521cbf745e28451770fe1d+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ Alts 1a854519a0ee42c185ca7d43b027b8c1+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ Found d56b35dc7915d24e06e9b66e2b3bf6cc+ SESearch c2c5a6bbb33a41c264276436dbbb3149+ SEnv 7b76b1b3898bd64fc8c2187c261c0f80+ fromListSEnv 22654f2135f1b607f7ee82962c09eb4c+ insertSEnv 4288c53866870f2766a71eff8924b8fb+ intersectWithSEnv 543b06d5eae1c8f4b2b247b15f9a454f+ lookupSEnv 94599d47b6378649795b045198f42e89+ lookupSEnvWithDistance f94357819b257ff74f5b6c3800c04b59+ mapBindEnv 32197c169397373f8fac7df4bdb16c5f+ memberSEnv 5c6c280661ab2395f68ceac41ff286dc+import -/ Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+ Error f5aa082d4556718e292f7fedf0bb1503+ die b694e04a36caf383107b8f2e73ae279e+ err eb62a315ab4ae2ad7c68e48fa9cd6513+ panic 87059ab6cc1a67158dab0a23bc2c22e7+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+ applyName 25f366ca3bca038d84f346fd1351a02a+ toIntName 324143c445406dc6dceb017ac99fb75a+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ notracepp 5a793f230115fb21796571cbf9bfbf52+ pprint 955dc9d031db587300edf6146ac33be4+ showpp a9f79fc9a75f72593341c16b4b8ac492+ toFix 9b9c41ae3aa868a1e0f4e73cde8032e0+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ Bop 58dd7eff6040aa97f060415235c6cb01+ Brel 3130541cdaa27975ca84ce0fd238d8aa+ EApp 54242238b0fd99173645e603ea6a95e1+ EBin 584c6077045554d53d7c9a89592b60d3+ ECoerc d62592d9495e238bd832577950db4048+ ECon 5baa7919e17f9fc7e290e6ec391edfe0+ ECst 77d8fb760e457bfd124c455ed691c864+ EDiv 4dfba844bb726e47c19d245745abcfbc+ EIte bcb7471d1eafba69c1a57099f120b1bb+ ELam e0029a0f9c90cfaf5ca8a8fc8de8a995+ ENeg c7c4772e5c9c737684dc4ada02f5ae77+ ERDiv 8eed0051e9a30fb6968c8e47dc884b2c+ ERTimes 670ffd98e9bd012a8e8759b7e258d83a+ ESym 1e9d62c909ab81c24aa5b70ea45dd385+ ETAbs 6c85c26f9de90ebed31639fcdf59cab4+ ETApp c6b0114335eb572da40fed762c8d9566+ ETimes adc7a4740d349bee24fe48e20309b312+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Eq 3f11ae5b47578ad5a2c554235bd0e66b+ Expr 58dd7eff6040aa97f060415235c6cb01+ I 90217a394fcf0061b39dc2e3fba98b11+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ L cb92c00e18083bd8988b20d1d090bc2b+ Ne 8de2833323f56b086978249fd6265b9b+ PAll 95061dd88b416f835271772df1b74807+ PAnd 668269c725f0f517f2cefead144acbec+ PAtom efd69e8b2834a0937ec103ca6d2f2b7d+ PExist c6ca2ca0202788949bf0d916db637f7a+ PFalse e43985c1fbf5446eb7e361fefcd63600+ PGrad 550de568c0242ed5fa6ef66e4aa1194d+ PIff 2a17d6131a34fb2676761302524edfd8+ PImp 71d909aca81df6b76b372b30b2979f8d+ PKVar 00776deded6bdc1a9b45a9cd2ff73aa5+ PNot dd52d33c67ccd94ba2b9bc2daaf6153f+ POr 8896d8a5009f7964d0fb6a9c72eaff6c+ PTrue 1c366fec6a192dc993b90d2b711bd4f4+ R 801e4115533995c5d14bb91969b23812+ RR bc18741bade52dfcbbbc2473e1b91821+ Reft 11628612f280bce553f9c182ec061ec6+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ Subable 60165a51c7f24051113a59802b59cd27+ Ueq c1bef9e1715331b850d7aab346e55603+ Une 210ed236d1dc917037d1f78bf2a540d7+ conjuncts 62dbde6d56cf10a600838f12dff254d8+ eAppC 61b63ddc8053df8bce148586f0630ece+ eApps 1307e7979a57d82780ccbddd25281f50+ pAnd d997a1bd3b1f67d4020526858eca07c4+ sr_reft 58dd7eff6040aa97f060415235c6cb01+ sr_sort 58dd7eff6040aa97f060415235c6cb01+ syms cedb5518769db9d49f4ce507184c5e1f+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ FAbs 8827fd69dabe452c42c2c745dfa98689+ FApp 1d71c4ce8486fd8718c15888c11af1b5+ FFrac 5a0487509a1a29dda536079b1750147a+ FFunc a2098452dd53c51f7531db6145200e8d+ FInt feec19063de9031ab717875a0a60c7b0+ FNum 5b5ac191d5fc722937c5d2a123c4a98c+ FObj 1bb5d6e74aaa46fc1c29e2a322aa25fa+ FReal 39b6469449782575f5c1edbea6d3e1cc+ FTC e5d6113e0ae80db3702c5a83dedd8a7f+ FVar a3c34a432d4203ec59fb1483b26cb260+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ basicSorts 1b1e54e2a1502a49099ea8537be4dd56+ boolSort 05be9e1ff80dff4f05fc2d8105076210+ funcSort 704a7cd5c6c59ccb248291ac38658563+ intSort ab1a8687c0d53db967e03c16ee505e9c+ isFirstOrder cfd506bfd2cff1e57e8dcb1d24cae9ab+ isListTC ef853046dc3bd19f54ff63f86048f01e+ isNumeric 185086e9ed1ab1d12d79b7e919aca7bb+ isReal b482e086efc3a429928da3008e154a37+ isString 3c267f62fc9e05bc4e545153ea826927+ strSort c638fae801e8e1f254334aa30682ab3e+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ Loc 4962bb0bc274d9001b974c3326b63480+ Located 98c2e3118bdcfbfec2dfd5f953f55cfd+ SrcSpan 30cdf4122b891cc575df90039bdcbecb+ atLoc 1d33f99909507b18efe9f42abbbb5952+ dummySpan 4c3a1f24b19908507cae45f533bfffe9+ srcSpan 2b3eb671678320980d11df21e110f501+ val 98c2e3118bdcfbfec2dfd5f953f55cfd+import -/ Language.Fixpoint.Types.Templates 46d5acca1a4b5a91c1a3f7aba53b295b+ Templates fb08dfdab4ffd26b5783b1ac17035eef+ isAnyTemplates 2fd54a198041f591e483db629d06c319+ isEmptyTemplates c7704877ac90a273313391b775ed39b4+ matchesTemplates 4e49672162582bf33808ba473a2e2947+import -/ Language.Fixpoint.Types.Theories 2d31db6b0cdc7b0f2231db238b021516+ SInt 8b6736903e8f8ce746f1f78a9b4657ad+ SReal d62ece88926088e2cd9356a39a55de57+ SString 446121c8fcca85edec43dbd3a25a0fde+ SymEnv 0506688674ca55c28cc4df4c4dbdb2df+ TheorySymbol 810e2965561391114a602ece3df70281+ insertSymEnv 4e094436da1e3d3eea8a9ff801f624d5+ insertsSymEnv bfa10c0f122029fd8b483144c484096e+ seData 0506688674ca55c28cc4df4c4dbdb2df+ seSort 0506688674ca55c28cc4df4c4dbdb2df+ seTheory 0506688674ca55c28cc4df4c4dbdb2df+ sortSmtSort 4fef6a945014c08fdd9da90cda8a95e3+import -/ Language.Fixpoint.Types.Triggers 8abd2355db756b37b9b5fb3b0ce44e32+ Triggered d4e347d662ffae46e19beccd9e71f8e0+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ Visitable 538848ccf7d607090eacca8d17c97af6+ Visitor b907595a56c63aacc071b11708504163+ accExpr b907595a56c63aacc071b11708504163+ defaultVisitor 702ceebf65ec7e45cbc2b67c3c0c84d3+ fold 3ff20672dabf1b7d83dceb37cbf5293a+ foldSort 4addac03f919de23a8aa78ec914cc93b+ mapExpr 5174372ce3f7640f1d33ad4800d0ce6d+ mapSort 6348e503c5fed42606b27aaced2038fe+ stripCasts 2e0061e71ddda5abcf68bb484630ae3e+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+import -/ mtl-2.2.2:Control.Monad.Error.Class 05ce857e0a8037d899cd3dba2eda1f68+import -/ mtl-2.2.2:Control.Monad.Except 5ca04d82f027e75c6a16c1ed916c1305+import -/ mtl-2.2.2:Control.Monad.State.Class 243c828469104fb94563be0ea268f418+import -/ mtl-2.2.2:Control.Monad.State.Strict 002b59b64e6c924e7580467701dff139+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ transformers-0.5.6.2:Control.Monad.Trans.State.Strict acaa441e4b4c8edd4a30c00b2a2d825f+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+f49754ab44ae65963a96e28c35d6c19b+ $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 ()+f49754ab44ae65963a96e28c35d6c19b+ $fCheckableExpr ::+ Language.Fixpoint.SortCheck.Checkable+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+f49754ab44ae65963a96e28c35d6c19b+ $fCheckableSortedReft ::+ Language.Fixpoint.SortCheck.Checkable+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+e1c836088b12b55ea412aee1fb295044+ $fElaborate(,) ::+ Language.Fixpoint.SortCheck.Elaborate+ (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)+ DFunId+e1c836088b12b55ea412aee1fb295044+ $fElaborateAxiomEnv ::+ Language.Fixpoint.SortCheck.Elaborate+ Language.Fixpoint.Types.Constraints.AxiomEnv+ DFunId+e1c836088b12b55ea412aee1fb295044+ $fElaborateEquation ::+ Language.Fixpoint.SortCheck.Elaborate+ Language.Fixpoint.Types.Constraints.Equation+ DFunId+e1c836088b12b55ea412aee1fb295044+ $fElaborateExpr ::+ Language.Fixpoint.SortCheck.Elaborate+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+e1c836088b12b55ea412aee1fb295044+ $fElaborateGInfo ::+ Language.Fixpoint.Types.Spans.Loc a =>+ Language.Fixpoint.SortCheck.Elaborate+ (Language.Fixpoint.Types.Constraints.SInfo a)+ DFunId+e1c836088b12b55ea412aee1fb295044+ $fElaborateMaybe ::+ Language.Fixpoint.SortCheck.Elaborate a =>+ Language.Fixpoint.SortCheck.Elaborate (GHC.Maybe.Maybe a)+ DFunId+e1c836088b12b55ea412aee1fb295044+ $fElaborateRewrite ::+ Language.Fixpoint.SortCheck.Elaborate+ Language.Fixpoint.Types.Constraints.Rewrite+ DFunId+e1c836088b12b55ea412aee1fb295044+ $fElaborateSimpC ::+ Language.Fixpoint.Types.Spans.Loc a =>+ Language.Fixpoint.SortCheck.Elaborate+ (Language.Fixpoint.Types.Constraints.SimpC a)+ DFunId+e1c836088b12b55ea412aee1fb295044+ $fElaborateSizedEnv ::+ Language.Fixpoint.SortCheck.Elaborate+ Language.Fixpoint.Types.Environments.BindEnv+ DFunId+e1c836088b12b55ea412aee1fb295044+ $fElaborateSort ::+ Language.Fixpoint.SortCheck.Elaborate+ Language.Fixpoint.Types.Sorts.Sort+ DFunId+e1c836088b12b55ea412aee1fb295044+ $fElaborateSortedReft ::+ Language.Fixpoint.SortCheck.Elaborate+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+e1c836088b12b55ea412aee1fb295044+ $fElaborateTriggered ::+ Language.Fixpoint.SortCheck.Elaborate e =>+ Language.Fixpoint.SortCheck.Elaborate+ (Language.Fixpoint.Types.Triggers.Triggered e)+ DFunId+e1c836088b12b55ea412aee1fb295044+ $fElaborate[] ::+ Language.Fixpoint.SortCheck.Elaborate a =>+ Language.Fixpoint.SortCheck.Elaborate [a]+ DFunId+a106b014cd7a377f85eca8a71f0c1edd+ $fMonoidTVSubst ::+ GHC.Base.Monoid Language.Fixpoint.SortCheck.TVSubst+ DFunId+a106b014cd7a377f85eca8a71f0c1edd+ $fSemigroupTVSubst ::+ GHC.Base.Semigroup Language.Fixpoint.SortCheck.TVSubst+ DFunId+a106b014cd7a377f85eca8a71f0c1edd+ $fShowTVSubst :: GHC.Show.Show Language.Fixpoint.SortCheck.TVSubst+ DFunId+4badaf9e4d6a8e32883e1075111f5b64+ $tc'C:Checkable :: GHC.Types.TyCon+bcfde2ebe8032e1fa344e3080c60e95a+ $tc'C:Elaborate :: GHC.Types.TyCon+15031a8ac562a4db371e350f71ad7e9d+ $tc'ChS :: GHC.Types.TyCon+aa9570fb4193f47ac260f12833ee1487+ $tc'Th :: GHC.Types.TyCon+c680baedcb64048466167d886a6bf137+ $tcChState :: GHC.Types.TyCon+1825b6ad1bf9599579c8599f547cf40a+ $tcCheckable :: GHC.Types.TyCon+46e4108f9dc45ad1898afd1ce700872d+ $tcElaborate :: GHC.Types.TyCon+e0fd6a4bfdfee365bb51141efa6fcfcb+ $tcTVSubst :: GHC.Types.TyCon+2ec6c9c799425fb08939aa791d4b03f6+ $trModule :: GHC.Types.Module+4f2e8f6eecfc31a74aff6d8ab2d01f27+ type ChError =+ Language.Fixpoint.Types.Spans.Located GHC.Base.String+e034fe88bf58266af6c2a36ebe21ec67+ data ChState+ = ChS {chCount :: !GHC.Types.Int,+ chSpan :: !Language.Fixpoint.Types.Spans.SrcSpan}+2f47cc8a860dc6cee33f8f80b580cad9+ type CheckM =+ Control.Monad.Trans.State.Strict.StateT+ Language.Fixpoint.SortCheck.ChState+ (Data.Either.Either Language.Fixpoint.SortCheck.ChError)+ :: * -> *+f49754ab44ae65963a96e28c35d6c19b+ 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 #-}+8d0d37c94e0fa793027bb6b636fd70f9+ type ElabEnv =+ (Language.Fixpoint.Types.Theories.SymEnv,+ Language.Fixpoint.SortCheck.Env)+e1c836088b12b55ea412aee1fb295044+ class Elaborate a where+ elaborate :: Language.Fixpoint.Types.Spans.Located GHC.Base.String+ -> Language.Fixpoint.Types.Theories.SymEnv -> a -> a+ {-# MINIMAL elaborate #-}+474fd3daf7773a1200325c50db04e9e8+ type Env =+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Environments.SESearch+ Language.Fixpoint.Types.Sorts.Sort+a106b014cd7a377f85eca8a71f0c1edd+ newtype TVSubst+ = Th (Data.HashMap.Base.HashMap+ GHC.Types.Int Language.Fixpoint.Types.Sorts.Sort)+8adcb6a62b22c433eda83ce38c107b2c+ apply ::+ Language.Fixpoint.SortCheck.TVSubst+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+1deb294d8da2d328e1904332c7a838b4+ applySorts ::+ Language.Fixpoint.Types.Visitor.Visitable t =>+ t -> [Language.Fixpoint.Types.Sorts.Sort]+e034fe88bf58266af6c2a36ebe21ec67+ chCount :: Language.Fixpoint.SortCheck.ChState -> GHC.Types.Int+ RecSel Left Language.Fixpoint.SortCheck.ChState+e034fe88bf58266af6c2a36ebe21ec67+ chSpan ::+ Language.Fixpoint.SortCheck.ChState+ -> Language.Fixpoint.Types.Spans.SrcSpan+ RecSel Left Language.Fixpoint.SortCheck.ChState+693f7ca7884ad7e01b3bcd8a62d41e1e+ checkSortExpr ::+ Language.Fixpoint.Types.Spans.SrcSpan+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Refinements.Expr+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Sorts.Sort+cb72d8a43eb3775500d81efa9dd61dc7+ checkSortFull ::+ Language.Fixpoint.SortCheck.Checkable a =>+ Language.Fixpoint.Types.Spans.SrcSpan+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Refinements.SortedReft+ -> Language.Fixpoint.Types.Sorts.Sort+ -> a+ -> GHC.Maybe.Maybe Text.PrettyPrint.HughesPJ.Doc+226ef447000bf1571f3b314469968dc6+ checkSorted ::+ Language.Fixpoint.SortCheck.Checkable a =>+ Language.Fixpoint.Types.Spans.SrcSpan+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort+ -> a+ -> GHC.Maybe.Maybe Text.PrettyPrint.HughesPJ.Doc+23a0523d03c9f56573b4d482d4c6e9e3+ checkSortedReft ::+ Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Refinements.SortedReft+ -> [Language.Fixpoint.Types.Names.Symbol]+ -> Language.Fixpoint.Types.Refinements.SortedReft+ -> GHC.Maybe.Maybe Text.PrettyPrint.HughesPJ.Doc+920261a13a600f156a1a1bbc885612f6+ checkSortedReftFull ::+ Language.Fixpoint.SortCheck.Checkable a =>+ Language.Fixpoint.Types.Spans.SrcSpan+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Refinements.SortedReft+ -> a+ -> GHC.Maybe.Maybe Text.PrettyPrint.HughesPJ.Doc+1d24a3605ec11b15f81a3d8c62410abe+ exprSort ::+ GHC.Base.String+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Sorts.Sort+6f93947888dc5bdab37c57b0628a6ef0+ exprSort_maybe ::+ Language.Fixpoint.Types.Refinements.Expr+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Sorts.Sort+974554777c998acc33c611a055a9ef31+ isMono :: Language.Fixpoint.Types.Sorts.Sort -> GHC.Types.Bool+f0c86aeb17d2da7adeffd65a621e52b8+ mkSearchEnv ::+ Language.Fixpoint.Types.Environments.SEnv a+ -> Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Environments.SESearch a+f3fcc571506f1a1bfda112d01ba0e1ac+ pruneUnsortedReft ::+ Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Templates.Templates+ -> Language.Fixpoint.Types.Refinements.SortedReft+ -> Language.Fixpoint.Types.Refinements.SortedReft+2ce30c681c7c47a2cca5656fa7dcdb6c+ 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+b7c9d07ae16801d9ef846670988e98c9+ toInt ::+ Language.Fixpoint.Types.Theories.SymEnv+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Refinements.Expr+e0a628364bec28d2a08751e4806888b9+ unApplyAt ::+ Language.Fixpoint.Types.Refinements.Expr+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Sorts.Sort+125054d2af6df4296d7b2ff26745e814+ unifyFast ::+ GHC.Types.Bool+ -> Language.Fixpoint.SortCheck.Env+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+ -> GHC.Maybe.Maybe Language.Fixpoint.SortCheck.TVSubst+a9e62842d54666746082a07bfcdd7def+ unifySorts ::+ Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+ -> GHC.Maybe.Maybe Language.Fixpoint.SortCheck.TVSubst+a49e19b1f65052943376cd7fd8ff5fe4+ unifyTo1 ::+ Language.Fixpoint.SortCheck.Env+ -> [Language.Fixpoint.Types.Sorts.Sort]+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Sorts.Sort+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.Constraints.AxiomEnv]+ = Language.Fixpoint.SortCheck.$fElaborateAxiomEnv+instance Language.Fixpoint.SortCheck.Elaborate [Language.Fixpoint.Types.Constraints.Equation]+ = Language.Fixpoint.SortCheck.$fElaborateEquation+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 [GHC.Maybe.Maybe]+ = Language.Fixpoint.SortCheck.$fElaborateMaybe+instance Language.Fixpoint.SortCheck.Elaborate [Language.Fixpoint.Types.Constraints.Rewrite]+ = Language.Fixpoint.SortCheck.$fElaborateRewrite+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 GHC.Base.Monoid [Language.Fixpoint.SortCheck.TVSubst]+ = Language.Fixpoint.SortCheck.$fMonoidTVSubst+instance GHC.Base.Semigroup [Language.Fixpoint.SortCheck.TVSubst]+ = Language.Fixpoint.SortCheck.$fSemigroupTVSubst+instance GHC.Show.Show [Language.Fixpoint.SortCheck.TVSubst]+ = Language.Fixpoint.SortCheck.$fShowTVSubst+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,1164 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:39.028072 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types 8065+ interface hash: 2bf5c70db7def70f2506f2153b3ce41f+ ABI hash: 9cb1a9068dc49504c64c97f35a33862f+ export-list hash: 62d26edd591b195eabce115b8380fe6e+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 3afb024a66b98a7771e7ad37a80911a1+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Constraints.addIds+ Language.Fixpoint.Types.Constraints.allowHO+ Language.Fixpoint.Types.Constraints.allowHOquals+ Language.Fixpoint.Types.Constraints.convertFormat+ Language.Fixpoint.Types.Constraints.fi+ Language.Fixpoint.Types.Constraints.gwInfo+ Language.Fixpoint.Types.Constraints.isGWfc+ Language.Fixpoint.Types.Constraints.isSafe+ Language.Fixpoint.Types.Constraints.isUnsafe+ Language.Fixpoint.Types.Constraints.ksMember+ Language.Fixpoint.Types.Constraints.mkEquation+ Language.Fixpoint.Types.Constraints.mkQ+ Language.Fixpoint.Types.Constraints.mkQual+ Language.Fixpoint.Types.Constraints.mkSubC+ Language.Fixpoint.Types.Constraints.qualBinds+ Language.Fixpoint.Types.Constraints.qualifier+ Language.Fixpoint.Types.Constraints.remakeQual+ Language.Fixpoint.Types.Constraints.safe+ Language.Fixpoint.Types.Constraints.saveQuery+ Language.Fixpoint.Types.Constraints.shiftVV+ Language.Fixpoint.Types.Constraints.sortVars+ Language.Fixpoint.Types.Constraints.strengthenBinds+ Language.Fixpoint.Types.Constraints.strengthenHyp+ Language.Fixpoint.Types.Constraints.subC+ Language.Fixpoint.Types.Constraints.subcId+ Language.Fixpoint.Types.Constraints.substVars+ Language.Fixpoint.Types.Constraints.toFixpoint+ Language.Fixpoint.Types.Constraints.toGFixSol+ Language.Fixpoint.Types.Constraints.trueQual+ Language.Fixpoint.Types.Constraints.unsafe+ Language.Fixpoint.Types.Constraints.updateWfCExpr+ Language.Fixpoint.Types.Constraints.wfC+ Language.Fixpoint.Types.Constraints.writeFInfo+ Language.Fixpoint.Types.Environments.adjustBindEnv+ Language.Fixpoint.Types.Environments.bindEnvFromList+ Language.Fixpoint.Types.Environments.bindEnvToList+ Language.Fixpoint.Types.Environments.deleteIBindEnv+ Language.Fixpoint.Types.Environments.deleteSEnv+ Language.Fixpoint.Types.Environments.diffIBindEnv+ Language.Fixpoint.Types.Environments.differenceSEnv+ Language.Fixpoint.Types.Environments.elemsBindEnv+ Language.Fixpoint.Types.Environments.elemsIBindEnv+ Language.Fixpoint.Types.Environments.emptyBindEnv+ Language.Fixpoint.Types.Environments.emptyIBindEnv+ Language.Fixpoint.Types.Environments.emptySEnv+ Language.Fixpoint.Types.Environments.envCs+ Language.Fixpoint.Types.Environments.filterBindEnv+ Language.Fixpoint.Types.Environments.filterIBindEnv+ Language.Fixpoint.Types.Environments.filterSEnv+ Language.Fixpoint.Types.Environments.fromListIBindEnv+ Language.Fixpoint.Types.Environments.fromListSEnv+ Language.Fixpoint.Types.Environments.fromMapSEnv+ Language.Fixpoint.Types.Environments.getPack+ Language.Fixpoint.Types.Environments.insertBindEnv+ Language.Fixpoint.Types.Environments.insertSEnv+ Language.Fixpoint.Types.Environments.insertsIBindEnv+ Language.Fixpoint.Types.Environments.intersectWithSEnv+ Language.Fixpoint.Types.Environments.intersectionIBindEnv+ Language.Fixpoint.Types.Environments.lookupBindEnv+ Language.Fixpoint.Types.Environments.lookupSEnv+ Language.Fixpoint.Types.Environments.lookupSEnvWithDistance+ Language.Fixpoint.Types.Environments.makePack+ Language.Fixpoint.Types.Environments.mapBindEnv+ Language.Fixpoint.Types.Environments.mapMSEnv+ Language.Fixpoint.Types.Environments.mapSEnv+ Language.Fixpoint.Types.Environments.mapSEnvWithKey+ Language.Fixpoint.Types.Environments.mapWithKeyMBindEnv+ Language.Fixpoint.Types.Environments.memberIBindEnv+ Language.Fixpoint.Types.Environments.memberSEnv+ Language.Fixpoint.Types.Environments.nullIBindEnv+ Language.Fixpoint.Types.Environments.splitByQuantifiers+ Language.Fixpoint.Types.Environments.toListSEnv+ Language.Fixpoint.Types.Environments.unionIBindEnv+ Language.Fixpoint.Types.Environments.unionSEnv+ Language.Fixpoint.Types.Environments.unionSEnv'+ Language.Fixpoint.Types.Errors.catError+ Language.Fixpoint.Types.Errors.catErrors+ Language.Fixpoint.Types.Errors.colorResult+ Language.Fixpoint.Types.Errors.die+ Language.Fixpoint.Types.Errors.dieAt+ Language.Fixpoint.Types.Errors.err+ Language.Fixpoint.Types.Errors.errFreeVarInConstraint+ Language.Fixpoint.Types.Errors.errFreeVarInQual+ Language.Fixpoint.Types.Errors.errIllScopedKVar+ Language.Fixpoint.Types.Errors.errs+ Language.Fixpoint.Types.Errors.exit+ Language.Fixpoint.Types.Errors.panic+ Language.Fixpoint.Types.Errors.resultDoc+ Language.Fixpoint.Types.Errors.resultExit+ Language.Fixpoint.Types.Names.anfPrefix+ Language.Fixpoint.Types.Names.applyName+ Language.Fixpoint.Types.Names.bitVecApplyName+ Language.Fixpoint.Types.Names.bitVecName+ Language.Fixpoint.Types.Names.bitVecToIntName+ Language.Fixpoint.Types.Names.boolApplyName+ Language.Fixpoint.Types.Names.boolConName+ Language.Fixpoint.Types.Names.boolToIntName+ Language.Fixpoint.Types.Names.buildMany+ Language.Fixpoint.Types.Names.bvAndName+ Language.Fixpoint.Types.Names.bvOrName+ Language.Fixpoint.Types.Names.charConName+ Language.Fixpoint.Types.Names.coerceName+ Language.Fixpoint.Types.Names.consName+ Language.Fixpoint.Types.Names.consSym+ Language.Fixpoint.Types.Names.divFuncName+ Language.Fixpoint.Types.Names.dropSym+ Language.Fixpoint.Types.Names.dummyName+ Language.Fixpoint.Types.Names.dummySymbol+ Language.Fixpoint.Types.Names.existSymbol+ Language.Fixpoint.Types.Names.funConName+ Language.Fixpoint.Types.Names.gradIntSymbol+ Language.Fixpoint.Types.Names.headSym+ Language.Fixpoint.Types.Names.intApplyName+ Language.Fixpoint.Types.Names.intSymbol+ Language.Fixpoint.Types.Names.isDummy+ Language.Fixpoint.Types.Names.isLamArgSymbol+ Language.Fixpoint.Types.Names.isLitSymbol+ Language.Fixpoint.Types.Names.isNonSymbol+ Language.Fixpoint.Types.Names.isNontrivialVV+ Language.Fixpoint.Types.Names.isPrefixOfSym+ Language.Fixpoint.Types.Names.isPrim+ Language.Fixpoint.Types.Names.isSuffixOfSym+ Language.Fixpoint.Types.Names.isTestSymbol+ Language.Fixpoint.Types.Names.kArgSymbol+ Language.Fixpoint.Types.Names.lamArgSymbol+ Language.Fixpoint.Types.Names.lambdaName+ Language.Fixpoint.Types.Names.lengthSym+ Language.Fixpoint.Types.Names.listConName+ Language.Fixpoint.Types.Names.listLConName+ Language.Fixpoint.Types.Names.litSymbol+ Language.Fixpoint.Types.Names.mapApplyName+ Language.Fixpoint.Types.Names.mapConName+ Language.Fixpoint.Types.Names.mapToIntName+ Language.Fixpoint.Types.Names.mappendSym+ Language.Fixpoint.Types.Names.mulFuncName+ Language.Fixpoint.Types.Names.nilName+ Language.Fixpoint.Types.Names.nonSymbol+ Language.Fixpoint.Types.Names.preludeName+ Language.Fixpoint.Types.Names.prims+ Language.Fixpoint.Types.Names.propConName+ Language.Fixpoint.Types.Names.realApplyName+ Language.Fixpoint.Types.Names.realToIntName+ Language.Fixpoint.Types.Names.renameSymbol+ Language.Fixpoint.Types.Names.setApplyName+ Language.Fixpoint.Types.Names.setConName+ Language.Fixpoint.Types.Names.setToIntName+ Language.Fixpoint.Types.Names.size32Name+ Language.Fixpoint.Types.Names.size64Name+ Language.Fixpoint.Types.Names.strConName+ Language.Fixpoint.Types.Names.stripPrefix+ Language.Fixpoint.Types.Names.stripSuffix+ Language.Fixpoint.Types.Names.suffixSymbol+ Language.Fixpoint.Types.Names.symChars+ Language.Fixpoint.Types.Names.symbolBuilder+ Language.Fixpoint.Types.Names.symbolSafeString+ Language.Fixpoint.Types.Names.symbolSafeText+ Language.Fixpoint.Types.Names.symbolString+ Language.Fixpoint.Types.Names.symbolText+ Language.Fixpoint.Types.Names.symbolicString+ Language.Fixpoint.Types.Names.tempPrefix+ Language.Fixpoint.Types.Names.tempSymbol+ Language.Fixpoint.Types.Names.testSymbol+ Language.Fixpoint.Types.Names.tidySymbol+ Language.Fixpoint.Types.Names.toIntName+ Language.Fixpoint.Types.Names.tupConName+ Language.Fixpoint.Types.Names.unLitSymbol+ Language.Fixpoint.Types.Names.unconsSym+ Language.Fixpoint.Types.Names.vv+ Language.Fixpoint.Types.Names.vvCon+ Language.Fixpoint.Types.Names.vvName+ Language.Fixpoint.Types.PrettyPrint.boxDoc+ Language.Fixpoint.Types.PrettyPrint.boxHSep+ Language.Fixpoint.Types.PrettyPrint.docBox+ Language.Fixpoint.Types.PrettyPrint.notracepp+ Language.Fixpoint.Types.PrettyPrint.pprint+ Language.Fixpoint.Types.PrettyPrint.pprintKVs+ Language.Fixpoint.Types.PrettyPrint.showFix+ Language.Fixpoint.Types.PrettyPrint.showTable+ Language.Fixpoint.Types.PrettyPrint.showpp+ Language.Fixpoint.Types.PrettyPrint.traceFix+ Language.Fixpoint.Types.PrettyPrint.tracepp+ Language.Fixpoint.Types.Refinements.&.&+ Language.Fixpoint.Types.Refinements.EBot+ Language.Fixpoint.Types.Refinements.EDiv+ Language.Fixpoint.Types.Refinements.EEq+ Language.Fixpoint.Types.Refinements.ERDiv+ Language.Fixpoint.Types.Refinements.ERTimes+ Language.Fixpoint.Types.Refinements.ETimes+ Language.Fixpoint.Types.Refinements.PFalse+ Language.Fixpoint.Types.Refinements.PTop+ Language.Fixpoint.Types.Refinements.PTrue+ Language.Fixpoint.Types.Refinements.conjuncts+ Language.Fixpoint.Types.Refinements.debruijnIndex+ Language.Fixpoint.Types.Refinements.eAppC+ Language.Fixpoint.Types.Refinements.eApps+ Language.Fixpoint.Types.Refinements.eProp+ Language.Fixpoint.Types.Refinements.eVar+ Language.Fixpoint.Types.Refinements.elit+ Language.Fixpoint.Types.Refinements.exprReft+ Language.Fixpoint.Types.Refinements.falseReft+ Language.Fixpoint.Types.Refinements.flattenRefas+ Language.Fixpoint.Types.Refinements.intKvar+ Language.Fixpoint.Types.Refinements.isContraPred+ Language.Fixpoint.Types.Refinements.isFunctionSortedReft+ Language.Fixpoint.Types.Refinements.isNonTrivial+ Language.Fixpoint.Types.Refinements.isSingletonExpr+ Language.Fixpoint.Types.Refinements.isSingletonReft+ Language.Fixpoint.Types.Refinements.isTautoPred+ Language.Fixpoint.Types.Refinements.mapPredReft+ Language.Fixpoint.Types.Refinements.mkEApp+ Language.Fixpoint.Types.Refinements.mkProp+ Language.Fixpoint.Types.Refinements.notExprReft+ Language.Fixpoint.Types.Refinements.pAnd+ Language.Fixpoint.Types.Refinements.pExist+ Language.Fixpoint.Types.Refinements.pGAnd+ Language.Fixpoint.Types.Refinements.pGAnds+ Language.Fixpoint.Types.Refinements.pIte+ Language.Fixpoint.Types.Refinements.pOr+ Language.Fixpoint.Types.Refinements.pprintReft+ Language.Fixpoint.Types.Refinements.predReft+ Language.Fixpoint.Types.Refinements.propReft+ Language.Fixpoint.Types.Refinements.reft+ Language.Fixpoint.Types.Refinements.reftBind+ Language.Fixpoint.Types.Refinements.reftConjuncts+ Language.Fixpoint.Types.Refinements.reftPred+ Language.Fixpoint.Types.Refinements.splitEApp+ Language.Fixpoint.Types.Refinements.splitPAnd+ Language.Fixpoint.Types.Refinements.srcGradInfo+ Language.Fixpoint.Types.Refinements.symbolReft+ Language.Fixpoint.Types.Refinements.trueReft+ Language.Fixpoint.Types.Refinements.trueSortedReft+ Language.Fixpoint.Types.Refinements.uexprReft+ Language.Fixpoint.Types.Refinements.usymbolReft+ Language.Fixpoint.Types.Refinements.vv_+ Language.Fixpoint.Types.Refinements.|.|+ Language.Fixpoint.Types.Sorts.basicSorts+ Language.Fixpoint.Types.Sorts.bitVecSort+ Language.Fixpoint.Types.Sorts.bkFFunc+ Language.Fixpoint.Types.Sorts.boolFTyCon+ Language.Fixpoint.Types.Sorts.boolSort+ Language.Fixpoint.Types.Sorts.charSort+ Language.Fixpoint.Types.Sorts.fApp+ Language.Fixpoint.Types.Sorts.fAppTC+ Language.Fixpoint.Types.Sorts.fObj+ Language.Fixpoint.Types.Sorts.fTyconSelfSort+ Language.Fixpoint.Types.Sorts.fTyconSort+ Language.Fixpoint.Types.Sorts.fTyconSymbol+ Language.Fixpoint.Types.Sorts.funcSort+ Language.Fixpoint.Types.Sorts.functionSort+ Language.Fixpoint.Types.Sorts.intFTyCon+ Language.Fixpoint.Types.Sorts.intSort+ Language.Fixpoint.Types.Sorts.isFirstOrder+ Language.Fixpoint.Types.Sorts.isListTC+ Language.Fixpoint.Types.Sorts.isNumeric+ Language.Fixpoint.Types.Sorts.isPolyInst+ Language.Fixpoint.Types.Sorts.isReal+ Language.Fixpoint.Types.Sorts.isString+ Language.Fixpoint.Types.Sorts.listFTyCon+ Language.Fixpoint.Types.Sorts.mapFTyCon+ Language.Fixpoint.Types.Sorts.mapFVar+ Language.Fixpoint.Types.Sorts.mapSort+ Language.Fixpoint.Types.Sorts.mappendFTC+ Language.Fixpoint.Types.Sorts.mkFFunc+ Language.Fixpoint.Types.Sorts.mkPoly+ Language.Fixpoint.Types.Sorts.muSort+ Language.Fixpoint.Types.Sorts.numFTyCon+ Language.Fixpoint.Types.Sorts.realFTyCon+ Language.Fixpoint.Types.Sorts.realSort+ Language.Fixpoint.Types.Sorts.setFTyCon+ Language.Fixpoint.Types.Sorts.setSort+ Language.Fixpoint.Types.Sorts.sizeBv+ Language.Fixpoint.Types.Sorts.sortAbs+ Language.Fixpoint.Types.Sorts.sortFTycon+ Language.Fixpoint.Types.Sorts.sortSubst+ Language.Fixpoint.Types.Sorts.strFTyCon+ Language.Fixpoint.Types.Sorts.strSort+ Language.Fixpoint.Types.Sorts.symbolFTycon+ Language.Fixpoint.Types.Sorts.symbolNumInfoFTyCon+ Language.Fixpoint.Types.Sorts.tceFromList+ Language.Fixpoint.Types.Sorts.tceInsert+ Language.Fixpoint.Types.Sorts.tceInsertWith+ Language.Fixpoint.Types.Sorts.tceLookup+ Language.Fixpoint.Types.Sorts.tceMap+ Language.Fixpoint.Types.Sorts.tceMember+ Language.Fixpoint.Types.Sorts.tceToList+ Language.Fixpoint.Types.Sorts.unAbs+ Language.Fixpoint.Types.Sorts.unFApp+ Language.Fixpoint.Types.Spans.atLoc+ Language.Fixpoint.Types.Spans.dummyLoc+ Language.Fixpoint.Types.Spans.dummyPos+ Language.Fixpoint.Types.Spans.dummySpan+ Language.Fixpoint.Types.Spans.locAt+ Language.Fixpoint.Types.Spans.panicSpan+ Language.Fixpoint.Types.Spans.sourcePosElts+ Language.Fixpoint.Types.Spans.srcLine+ Language.Fixpoint.Types.Spans.toSourcePos+ Language.Fixpoint.Types.Substitutions.filterSubst+ Language.Fixpoint.Types.Substitutions.isEmptySubst+ Language.Fixpoint.Types.Substitutions.mkSubst+ Language.Fixpoint.Types.Substitutions.subst1Except+ Language.Fixpoint.Types.Substitutions.substExcept+ Language.Fixpoint.Types.Substitutions.substfExcept+ Language.Fixpoint.Types.Substitutions.targetSubstSyms+ Language.Fixpoint.Types.Templates.anything+ Language.Fixpoint.Types.Templates.isAnyTemplates+ Language.Fixpoint.Types.Templates.isEmptyTemplates+ Language.Fixpoint.Types.Templates.makeTemplates+ Language.Fixpoint.Types.Templates.matchesTemplates+ Language.Fixpoint.Types.Theories.insertSymEnv+ Language.Fixpoint.Types.Theories.insertsSymEnv+ Language.Fixpoint.Types.Theories.isIntSmtSort+ Language.Fixpoint.Types.Theories.sortSmtSort+ Language.Fixpoint.Types.Theories.symEnv+ Language.Fixpoint.Types.Theories.symEnvSort+ Language.Fixpoint.Types.Theories.symEnvTheory+ Language.Fixpoint.Types.Theories.symbolAtName+ Language.Fixpoint.Types.Theories.symbolAtSmtName+ Language.Fixpoint.Types.Triggers.defaultTrigger+ Language.Fixpoint.Types.Triggers.makeTriggers+ Language.Fixpoint.Types.Triggers.noTrigger+ Language.Fixpoint.Types.Utils.kvarDomain+ Language.Fixpoint.Types.Utils.reftFreeVars+ Language.Fixpoint.Types.Utils.sortedReftConcKVars+ Language.Fixpoint.Types.Constraints.AxiomEnv{Language.Fixpoint.Types.Constraints.AEnv aenvEqs aenvExpand aenvSimpl}+ Language.Fixpoint.Types.Constraints.Equation{Language.Fixpoint.Types.Constraints.Equ eqArgs eqBody eqName eqRec eqSort}+ Language.Fixpoint.Types.Constraints.FInfo+ Language.Fixpoint.Types.Constraints.FInfoWithOpts{Language.Fixpoint.Types.Constraints.FIO fioFI fioOpts}+ Language.Fixpoint.Types.Constraints.FixSolution+ Language.Fixpoint.Types.Constraints.GFixSolution+ Language.Fixpoint.Types.Constraints.GInfo{Language.Fixpoint.Types.Constraints.FI ae asserts bindInfo bs cm dLits ddecls ebinds gLits hoInfo kuts quals ws}+ Language.Fixpoint.Types.Constraints.GWInfo{Language.Fixpoint.Types.Constraints.GWInfo gexpr ginfo gsort gsym}+ Language.Fixpoint.Types.Constraints.HOInfo{Language.Fixpoint.Types.Constraints.HOI hoBinds hoQuals}+ Language.Fixpoint.Types.Constraints.Kuts{Language.Fixpoint.Types.Constraints.KS ksVars}+ Language.Fixpoint.Types.Constraints.QualParam{Language.Fixpoint.Types.Constraints.QP qpPat qpSort qpSym}+ Language.Fixpoint.Types.Constraints.QualPattern{Language.Fixpoint.Types.Constraints.PatExact Language.Fixpoint.Types.Constraints.PatNone Language.Fixpoint.Types.Constraints.PatPrefix Language.Fixpoint.Types.Constraints.PatSuffix}+ Language.Fixpoint.Types.Constraints.Qualifier{Language.Fixpoint.Types.Constraints.Q qBody qName qParams qPos}+ Language.Fixpoint.Types.Constraints.Result{Language.Fixpoint.Types.Constraints.Result gresSolution resSolution resStatus}+ Language.Fixpoint.Types.Constraints.Rewrite{Language.Fixpoint.Types.Constraints.SMeasure smArgs smBody smDC smName}+ Language.Fixpoint.Types.Constraints.SInfo+ Language.Fixpoint.Types.Constraints.SimpC{Language.Fixpoint.Types.Constraints.SimpC _cenv _cid _cinfo _crhs _ctag cbind}+ Language.Fixpoint.Types.Constraints.Solver+ Language.Fixpoint.Types.Constraints.SubC{slhs srhs}+ Language.Fixpoint.Types.Constraints.SubcId+ Language.Fixpoint.Types.Constraints.Tag+ Language.Fixpoint.Types.Constraints.TaggedC{Language.Fixpoint.Types.Constraints.clhs Language.Fixpoint.Types.Constraints.crhs Language.Fixpoint.Types.Constraints.senv Language.Fixpoint.Types.Constraints.sid Language.Fixpoint.Types.Constraints.sinfo Language.Fixpoint.Types.Constraints.stag}+ Language.Fixpoint.Types.Constraints.WfC{Language.Fixpoint.Types.Constraints.GWfC Language.Fixpoint.Types.Constraints.WfC wenv wexpr winfo wloc wrft}+ Language.Fixpoint.Types.Environments.BindEnv+ Language.Fixpoint.Types.Environments.BindId+ Language.Fixpoint.Types.Environments.BindMap+ Language.Fixpoint.Types.Environments.EBindEnv+ Language.Fixpoint.Types.Environments.IBindEnv+ Language.Fixpoint.Types.Environments.Packs{Language.Fixpoint.Types.Environments.Packs packm}+ Language.Fixpoint.Types.Environments.SESearch{Language.Fixpoint.Types.Environments.Alts Language.Fixpoint.Types.Environments.Found}+ Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Environments.SizedEnv|{beBinds}+ Language.Fixpoint.Types.Errors.Error+ Language.Fixpoint.Types.Errors.Error1{errLoc errMsg}+ Language.Fixpoint.Types.Errors.FixResult{Language.Fixpoint.Types.Errors.Crash Language.Fixpoint.Types.Errors.Safe Language.Fixpoint.Types.Errors.Unsafe}+ Language.Fixpoint.Types.Names.LocSymbol+ Language.Fixpoint.Types.Names.LocText+ Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Names.Symbolic{Language.Fixpoint.Types.Names.symbol}+ Language.Fixpoint.Types.PrettyPrint.DocTable{Language.Fixpoint.Types.PrettyPrint.DocTable}+ Language.Fixpoint.Types.PrettyPrint.Fixpoint{Language.Fixpoint.Types.PrettyPrint.simplify Language.Fixpoint.Types.PrettyPrint.toFix}+ Language.Fixpoint.Types.PrettyPrint.PPrint{Language.Fixpoint.Types.PrettyPrint.pprintPrec Language.Fixpoint.Types.PrettyPrint.pprintTidy}+ Language.Fixpoint.Types.PrettyPrint.PTable{Language.Fixpoint.Types.PrettyPrint.ptable}+ Language.Fixpoint.Types.PrettyPrint.Tidy{Language.Fixpoint.Types.PrettyPrint.Full Language.Fixpoint.Types.PrettyPrint.Lossy}+ Language.Fixpoint.Types.Refinements.Bop{Language.Fixpoint.Types.Refinements.Div Language.Fixpoint.Types.Refinements.Minus Language.Fixpoint.Types.Refinements.Mod Language.Fixpoint.Types.Refinements.Plus Language.Fixpoint.Types.Refinements.RDiv Language.Fixpoint.Types.Refinements.RTimes Language.Fixpoint.Types.Refinements.Times}+ Language.Fixpoint.Types.Refinements.Brel{Language.Fixpoint.Types.Refinements.Eq Language.Fixpoint.Types.Refinements.Ge Language.Fixpoint.Types.Refinements.Gt Language.Fixpoint.Types.Refinements.Le Language.Fixpoint.Types.Refinements.Lt Language.Fixpoint.Types.Refinements.Ne Language.Fixpoint.Types.Refinements.Ueq Language.Fixpoint.Types.Refinements.Une}+ Language.Fixpoint.Types.Refinements.Constant{Language.Fixpoint.Types.Refinements.I Language.Fixpoint.Types.Refinements.L Language.Fixpoint.Types.Refinements.R}+ Language.Fixpoint.Types.Refinements.Expr{Language.Fixpoint.Types.Refinements.EApp Language.Fixpoint.Types.Refinements.EBin Language.Fixpoint.Types.Refinements.ECoerc Language.Fixpoint.Types.Refinements.ECon Language.Fixpoint.Types.Refinements.ECst Language.Fixpoint.Types.Refinements.EIte Language.Fixpoint.Types.Refinements.ELam Language.Fixpoint.Types.Refinements.ENeg Language.Fixpoint.Types.Refinements.ESym Language.Fixpoint.Types.Refinements.ETAbs Language.Fixpoint.Types.Refinements.ETApp Language.Fixpoint.Types.Refinements.EVar Language.Fixpoint.Types.Refinements.PAll Language.Fixpoint.Types.Refinements.PAnd Language.Fixpoint.Types.Refinements.PAtom Language.Fixpoint.Types.Refinements.PExist Language.Fixpoint.Types.Refinements.PGrad Language.Fixpoint.Types.Refinements.PIff Language.Fixpoint.Types.Refinements.PImp Language.Fixpoint.Types.Refinements.PKVar Language.Fixpoint.Types.Refinements.PNot Language.Fixpoint.Types.Refinements.POr}+ Language.Fixpoint.Types.Refinements.Expression{Language.Fixpoint.Types.Refinements.expr}+ Language.Fixpoint.Types.Refinements.Falseable|{Language.Fixpoint.Types.Refinements.isFalse}+ Language.Fixpoint.Types.Refinements.GradInfo{Language.Fixpoint.Types.Refinements.GradInfo gsrc gused}+ Language.Fixpoint.Types.Refinements.HasGradual{Language.Fixpoint.Types.Refinements.gVars Language.Fixpoint.Types.Refinements.isGradual Language.Fixpoint.Types.Refinements.ungrad}+ Language.Fixpoint.Types.Refinements.KVSub{Language.Fixpoint.Types.Refinements.KVS ksuKVar ksuSort ksuSubst ksuVV}+ Language.Fixpoint.Types.Refinements.KVar{Language.Fixpoint.Types.Refinements.KV kv}+ Language.Fixpoint.Types.Refinements.Pred+ Language.Fixpoint.Types.Refinements.Predicate{Language.Fixpoint.Types.Refinements.prop}+ Language.Fixpoint.Types.Refinements.Reft{Language.Fixpoint.Types.Refinements.Reft}+ Language.Fixpoint.Types.Refinements.Reftable{Language.Fixpoint.Types.Refinements.bot Language.Fixpoint.Types.Refinements.isTauto Language.Fixpoint.Types.Refinements.meet Language.Fixpoint.Types.Refinements.ofReft Language.Fixpoint.Types.Refinements.params Language.Fixpoint.Types.Refinements.ppTy Language.Fixpoint.Types.Refinements.toReft Language.Fixpoint.Types.Refinements.top}+ Language.Fixpoint.Types.Refinements.SortedReft{Language.Fixpoint.Types.Refinements.RR sr_reft sr_sort}+ Language.Fixpoint.Types.Refinements.Subable{Language.Fixpoint.Types.Refinements.subst Language.Fixpoint.Types.Refinements.subst1 Language.Fixpoint.Types.Refinements.substa Language.Fixpoint.Types.Refinements.substf Language.Fixpoint.Types.Refinements.syms}+ Language.Fixpoint.Types.Refinements.Subst{Language.Fixpoint.Types.Refinements.Su}+ Language.Fixpoint.Types.Refinements.SymConst{Language.Fixpoint.Types.Refinements.SL}+ Language.Fixpoint.Types.Sorts.DataCtor{Language.Fixpoint.Types.Sorts.DCtor dcFields dcName}+ Language.Fixpoint.Types.Sorts.DataDecl{Language.Fixpoint.Types.Sorts.DDecl ddCtors ddTyCon ddVars}+ Language.Fixpoint.Types.Sorts.DataField{Language.Fixpoint.Types.Sorts.DField dfName dfSort}+ Language.Fixpoint.Types.Sorts.FTycon+ Language.Fixpoint.Types.Sorts.Sort{Language.Fixpoint.Types.Sorts.FAbs Language.Fixpoint.Types.Sorts.FApp Language.Fixpoint.Types.Sorts.FFrac Language.Fixpoint.Types.Sorts.FFunc Language.Fixpoint.Types.Sorts.FInt Language.Fixpoint.Types.Sorts.FNum Language.Fixpoint.Types.Sorts.FObj Language.Fixpoint.Types.Sorts.FReal Language.Fixpoint.Types.Sorts.FTC Language.Fixpoint.Types.Sorts.FVar}+ Language.Fixpoint.Types.Sorts.Sub{Language.Fixpoint.Types.Sorts.Sub}+ Language.Fixpoint.Types.Sorts.TCArgs{Language.Fixpoint.Types.Sorts.NoArgs Language.Fixpoint.Types.Sorts.WithArgs}+ Language.Fixpoint.Types.Sorts.TCEmb+ Language.Fixpoint.Types.Spans.Loc{Language.Fixpoint.Types.Spans.srcSpan}+ Language.Fixpoint.Types.Spans.Located{Language.Fixpoint.Types.Spans.Loc loc locE val}+ Language.Fixpoint.Types.Spans.SrcSpan{Language.Fixpoint.Types.Spans.SS sp_start sp_stop}+ Language.Fixpoint.Types.Templates.HasTemplates|{Language.Fixpoint.Types.Templates.filterUnMatched}+ Language.Fixpoint.Types.Templates.Templates+ Language.Fixpoint.Types.Theories.Raw+ Language.Fixpoint.Types.Theories.Sem{Language.Fixpoint.Types.Theories.Ctor Language.Fixpoint.Types.Theories.Field Language.Fixpoint.Types.Theories.Test Language.Fixpoint.Types.Theories.Theory Language.Fixpoint.Types.Theories.Uninterp}+ Language.Fixpoint.Types.Theories.SmtSort{Language.Fixpoint.Types.Theories.SBitVec Language.Fixpoint.Types.Theories.SBool Language.Fixpoint.Types.Theories.SData Language.Fixpoint.Types.Theories.SInt Language.Fixpoint.Types.Theories.SMap Language.Fixpoint.Types.Theories.SReal Language.Fixpoint.Types.Theories.SSet Language.Fixpoint.Types.Theories.SString Language.Fixpoint.Types.Theories.SVar}+ Language.Fixpoint.Types.Theories.SymEnv{Language.Fixpoint.Types.Theories.SymEnv seAppls seData seLits seSort seTheory}+ Language.Fixpoint.Types.Theories.TheorySymbol{Language.Fixpoint.Types.Theories.Thy tsInterp tsRaw tsSort tsSym}+ Language.Fixpoint.Types.Triggers.Trigger{Language.Fixpoint.Types.Triggers.LeftHandSide Language.Fixpoint.Types.Triggers.NoTrigger}+ Language.Fixpoint.Types.Triggers.Triggered{Language.Fixpoint.Types.Triggers.TR}+ Text.Parsec.Pos.SourcePos+module dependencies: Language.Fixpoint.Misc+ 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Utils.Files Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2 unix-2.7.2.2+ unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ exports: 12c9708cdb7cc8f94e739104f060796e+ AEnv 56f9be4c978247de6a3595796fc81e03+ AxiomEnv 90ef96c47f269969affd7c3639af34f3+ Equ ed4a7ffa3a47f3da413540656735cceb+ Equation 1b8c537886bd491bbeaae4b7cdcd5c8f+ FI 3518e6a4d27cc8ba8ec50939541a64e6+ FIO ed7e8aa5b0d8c1f46398edcde27b7ca4+ FInfo b6d52641b5c0c13c0e61844e2114eb16+ FInfoWithOpts 803d2f995b056771c08edfce347cb407+ FixSolution e5dd9fe1547120a043f58991c78a60c9+ GFixSolution 9b37020b88a84332f42c4a4efcccc0c2+ GInfo 90ef96c47f269969affd7c3639af34f3+ GWInfo c5f3c7badf85f58245aa48d0eb9855f4+ GWInfo 631d20d0918c14b74d892903e40cbdc3+ GWfC bec043696f6233a82767c87474654ee6+ HOI 68f422d6ea171a28a321a9a91713893b+ HOInfo 35e5222a97ffd1e6ee6c34a5f394f10e+ KS c004163eafe9de324416d6da5e3ad659+ Kuts 72e8e948b4d2861f1e29f60f1aa59a0c+ PatExact 4997cde712f8b3b006e6d14dfc07eec6+ PatNone 25106c4b55ee4d12827f60ed4dc88939+ PatPrefix 2431df8abc1f8f326cf5585efe0fe441+ PatSuffix dbda5dcb30797388be311802bcc1eae7+ Q 60c090dd6a5dad0b1076fc1fff43539b+ QP 66146f217745c702472b8c089e647bc1+ QualParam 9aae2bcc537b45559d03a4eee2bb72e5+ QualPattern df6d07f9885eb5e5b345a33c505d8e73+ Qualifier 9aae2bcc537b45559d03a4eee2bb72e5+ Result b62c3629307de4be785c11501bbf9249+ Result 9b37020b88a84332f42c4a4efcccc0c2+ Rewrite 7df085a191521cbf745e28451770fe1d+ SInfo 90ef96c47f269969affd7c3639af34f3+ SMeasure 30aa4d5c1c10665274f0e03b73a2fa34+ SimpC b73ae7aef669d6d02d093b3ffd265abf+ SimpC 03dcffeea2a5199db7c9ff0154825bc0+ Solver 5f11195f89eea9e971cb52093960dc22+ SubC 1844afeba4cbd3ee9cea173e868f8ce9+ SubcId 311c8f398e2d0f5e23e664bacb45f905+ Tag f16c6ce3b8b49003401603dfb3b1715f+ TaggedC ec47f4df806fb3eb50e32a07ab4ee371+ WfC 1ac206eb21b0e2e607ad20985c4be7cd+ WfC ad7a627c031dc594c719d4e423bdd067+ _cenv 03dcffeea2a5199db7c9ff0154825bc0+ _cid 03dcffeea2a5199db7c9ff0154825bc0+ _cinfo 03dcffeea2a5199db7c9ff0154825bc0+ _crhs 03dcffeea2a5199db7c9ff0154825bc0+ _ctag 03dcffeea2a5199db7c9ff0154825bc0+ addIds 62d05512a99170596b84c3003b251911+ ae 90ef96c47f269969affd7c3639af34f3+ aenvEqs 90ef96c47f269969affd7c3639af34f3+ aenvExpand 90ef96c47f269969affd7c3639af34f3+ aenvSimpl 90ef96c47f269969affd7c3639af34f3+ allowHO 20bbed3ef73b2cf2a9faa3daff6a73ff+ allowHOquals 2d72f2746bc8b5decaea3d152b78ce26+ asserts 90ef96c47f269969affd7c3639af34f3+ bindInfo 90ef96c47f269969affd7c3639af34f3+ bs 90ef96c47f269969affd7c3639af34f3+ cbind 03dcffeea2a5199db7c9ff0154825bc0+ clhs 00dbb4f04b49ed91a7500360192dbe82+ cm 90ef96c47f269969affd7c3639af34f3+ convertFormat 17fb29836fb34a6bfc26bbf23b2473ba+ crhs 9701eec311803b00e8ff03aadeb150fa+ dLits 90ef96c47f269969affd7c3639af34f3+ ddecls 90ef96c47f269969affd7c3639af34f3+ ebinds 90ef96c47f269969affd7c3639af34f3+ eqArgs 1b8c537886bd491bbeaae4b7cdcd5c8f+ eqBody 1b8c537886bd491bbeaae4b7cdcd5c8f+ eqName 1b8c537886bd491bbeaae4b7cdcd5c8f+ eqRec 1b8c537886bd491bbeaae4b7cdcd5c8f+ eqSort 1b8c537886bd491bbeaae4b7cdcd5c8f+ fi 2401cbe179107126641e758f8df44fd5+ fioFI 803d2f995b056771c08edfce347cb407+ fioOpts 803d2f995b056771c08edfce347cb407+ gLits 90ef96c47f269969affd7c3639af34f3+ gexpr 631d20d0918c14b74d892903e40cbdc3+ ginfo 631d20d0918c14b74d892903e40cbdc3+ gresSolution 9b37020b88a84332f42c4a4efcccc0c2+ gsort 631d20d0918c14b74d892903e40cbdc3+ gsym 631d20d0918c14b74d892903e40cbdc3+ gwInfo cd5a5785696346008a88134a28c438d0+ hoBinds 35e5222a97ffd1e6ee6c34a5f394f10e+ hoInfo 90ef96c47f269969affd7c3639af34f3+ hoQuals 35e5222a97ffd1e6ee6c34a5f394f10e+ isGWfc 4c70cb60ff73f441d356b3d67861f82f+ isSafe ccdd8b8057f79a12e91c390f27a8ab7c+ isUnsafe ff11f843cd1e00bb3a3dac8399ffa7a0+ ksMember 202c76f7c51615b606e4a1028b152172+ ksVars 72e8e948b4d2861f1e29f60f1aa59a0c+ kuts 90ef96c47f269969affd7c3639af34f3+ mkEquation f843a9ff66a208bb19d63b610e733ce1+ mkQ efbd7d0eadf5b297611bd0cc8257edde+ mkQual 76509e579d10d7c92e5c9239d180adff+ mkSubC 0bcd3df5f343e78bbd601b9e4b14cce4+ qBody 9aae2bcc537b45559d03a4eee2bb72e5+ qName 9aae2bcc537b45559d03a4eee2bb72e5+ qParams 9aae2bcc537b45559d03a4eee2bb72e5+ qPos 9aae2bcc537b45559d03a4eee2bb72e5+ qpPat 9aae2bcc537b45559d03a4eee2bb72e5+ qpSort 9aae2bcc537b45559d03a4eee2bb72e5+ qpSym 9aae2bcc537b45559d03a4eee2bb72e5+ qualBinds dd19e45e9d3c580c4087b253575a5a4a+ qualifier 70f0d4635f8d06c05930ada227ca9157+ quals 90ef96c47f269969affd7c3639af34f3+ remakeQual 0a2689fea078c5e91430e58870107f9d+ resSolution 9b37020b88a84332f42c4a4efcccc0c2+ resStatus 9b37020b88a84332f42c4a4efcccc0c2+ safe 8708f195573f805e8e51c784cd77feb0+ saveQuery 547dfa1885614d5beeb6bfd5ba6a1b3c+ senv b5a22d3808334133ad38d92f07d130ac+ shiftVV a2bd6e47a864c35c7bece612a62b906d+ sid 81d85f14cb0bc67b2e1fd5d3402d56d8+ sinfo bd7e6fd4191464518ceaf2e5edcaef9c+ slhs 1844afeba4cbd3ee9cea173e868f8ce9+ smArgs 7df085a191521cbf745e28451770fe1d+ smBody 7df085a191521cbf745e28451770fe1d+ smDC 7df085a191521cbf745e28451770fe1d+ smName 7df085a191521cbf745e28451770fe1d+ sortVars 633dc1da46eaa5826ede6f6f659f13e1+ srhs 1844afeba4cbd3ee9cea173e868f8ce9+ stag 99b38d7c44906da122f4e3e424da4733+ strengthenBinds 7d88841d1096029087978ca79f8f8ef6+ strengthenHyp 0d5d03ecb6ae6fe41d380cdc64c926c9+ subC cec25e5a5c6c9453c38e61bb34dd080a+ subcId c5ad3aad4a42726885659f4c083c4240+ substVars 850256093ef1622ae6393d93f89f454f+ toFixpoint 45b39b5a071a079c10972832dc83941b+ toGFixSol 976000ad57b990ff51f0a4597ed94f4a+ trueQual c00d3264555ff3492a3a00cdc2648ad4+ unsafe f55e24a597d67533b5c703fddb5b7df0+ updateWfCExpr 2b19bcee88d4e71467659782fa496dd2+ wenv ad7a627c031dc594c719d4e423bdd067+ wexpr ad7a627c031dc594c719d4e423bdd067+ wfC a9cd82721163b0b120fb316155322fb0+ winfo ad7a627c031dc594c719d4e423bdd067+ wloc ad7a627c031dc594c719d4e423bdd067+ wrft ad7a627c031dc594c719d4e423bdd067+ writeFInfo ebc5583e57453ee643889abce46ece2a+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ exports: ab8867d60d15ba2af38632b8e3ed1bf3+ Alts 1a854519a0ee42c185ca7d43b027b8c1+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ BindId c1dc08df6d648ef575cab1d33fc5df7b+ BindMap 39aa3d888f00d0281a1afc8e0bc93bae+ EBindEnv e63e761a61593863b52829e68d5b13b4+ Found d56b35dc7915d24e06e9b66e2b3bf6cc+ IBindEnv b71d4c279d7a7920d70dd44bac0305aa+ Packs 39497b9f562efcd940ce3154a999d546+ Packs 745cf232b9d2982922c3e9b6e8a38fa4+ SESearch c2c5a6bbb33a41c264276436dbbb3149+ SEnv 7b76b1b3898bd64fc8c2187c261c0f80+ adjustBindEnv 03a20071911999e08cc0bbf23913313f+ beBinds 97a88bb9b7d5b682cdead95f91d87a04+ bindEnvFromList 967550b3b3f55a80adc5bd8c64cfd4dc+ bindEnvToList 4e95582ccd56c9ddcde8c24e66fac2b3+ deleteIBindEnv ac15034cf0e9635db972d74335a45cfd+ deleteSEnv c0a7306f69b5faea3051bb367933295e+ diffIBindEnv b96940094e63827617b026d5632e9b40+ differenceSEnv fd2398da30d3b61d15810eca9a419156+ elemsBindEnv 4f63350b83b69a54d1b32580a67da206+ elemsIBindEnv cff28cd92ba002848a1acbf3edb359d8+ emptyBindEnv afeb5e3d81531c7c2c84389f2d1117f9+ emptyIBindEnv 6cfa8d73992960a6ab6331f8d3b757ff+ emptySEnv 9f2c7c962f68c35c8835c06a06f1db76+ envCs e423fff58f01e321ca4ef94ca8a41936+ filterBindEnv d7f2b544457d7b6ee589986f90fe0a9b+ filterIBindEnv f7ce8cbf3008ec25398a899f51743e17+ filterSEnv c77688b7415765f02a29230109d5a8a3+ fromListIBindEnv 203f800f75e8e2acc2223edc99807147+ fromListSEnv 22654f2135f1b607f7ee82962c09eb4c+ fromMapSEnv 7591ee6663e1b36102232c1b70536dd0+ getPack 13cc822d3911b52022e30ac1b86af6cd+ insertBindEnv bc97de86c3ec6f664abb49ca068d7984+ insertSEnv 4288c53866870f2766a71eff8924b8fb+ insertsIBindEnv dca3e4d95477ee71c84a2814faf94fea+ intersectWithSEnv 543b06d5eae1c8f4b2b247b15f9a454f+ intersectionIBindEnv 825ccfa88a2d78fd8f5dd646d23e905c+ lookupBindEnv d43e50ddb41c32b57594f5f31bf34671+ lookupSEnv 94599d47b6378649795b045198f42e89+ lookupSEnvWithDistance f94357819b257ff74f5b6c3800c04b59+ makePack 4428b57c5dad27356b63b943818a6a45+ mapBindEnv 32197c169397373f8fac7df4bdb16c5f+ mapMSEnv 152e72246f3c15ad5db786e1c57bd498+ mapSEnv 019036e74bc3a0478523c0b4586cccfa+ mapSEnvWithKey 9fe2394513f94e141fc82b2b61e8110c+ mapWithKeyMBindEnv 219f508e16df9faacad8d3bc324a44d1+ memberIBindEnv 042d686ac1046dc546144657885262c4+ memberSEnv 5c6c280661ab2395f68ceac41ff286dc+ nullIBindEnv b65f48d19857641e3b855b73bcd54658+ packm 745cf232b9d2982922c3e9b6e8a38fa4+ splitByQuantifiers 47e055b3941151cd8d69091c12631895+ toListSEnv ddd97c9c472b637e00dcfff9c958a991+ unionIBindEnv d6e374c110095a69fc96506c80b54d5a+ unionSEnv 9082cf3e67e0349ea8ea2b1196c1cc9c+ unionSEnv' 7dcf4e55175a507f1619d6962d0dc662+import -/ Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+ exports: 89a9dc85e57ecc980170ae7cb32d2921+ Crash 8dce1b12135eab1786bee372065fb937+ Error f5aa082d4556718e292f7fedf0bb1503+ Error1 4fefba4afaf2c68f3e4fed4f37986b71+ FixResult c0716f0e4597e606e45487edbbbeea3f+ Safe d22144b54cf2a4f4ae6a38095fc7dbe3+ Unsafe f41fb70ee1e83c00b795f94fcef4262f+ catError bc62bc4a753e843a93270632ec78b68e+ catErrors e509094129ca18eb8591fae917cbba68+ colorResult 709f5fbb6d9dbca4f5da58f6305e5cdd+ die b694e04a36caf383107b8f2e73ae279e+ dieAt efdf927f8072d85a383b14811e0a2c02+ err eb62a315ab4ae2ad7c68e48fa9cd6513+ errFreeVarInConstraint fd723dd431d2dfa7d2865d3365de5600+ errFreeVarInQual 5de6c8f1abed03643380cdf64f754585+ errIllScopedKVar 69fffebd0a579a1302a42038efceeb1d+ errLoc 4fefba4afaf2c68f3e4fed4f37986b71+ errMsg 4fefba4afaf2c68f3e4fed4f37986b71+ errs 6db600346c5584beb1f3dd88c8a922df+ exit 60b6c402958553af7852319fbfaad91b+ panic 87059ab6cc1a67158dab0a23bc2c22e7+ resultDoc 46d95b9743a9497ff7d25fcfb5d46218+ resultExit 6f6554eb2c105c8ef9383340c6b83edc+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ exports: 45d7959603a132b65636c5a341548000+ LocSymbol e6d5fcd49dd2746d9598e2efb4f857d1+ LocText a04fe9b50ae3ea5172feb937475784e3+ Symbol 3f986d27cdf6315dd770c516fc00a643+ Symbolic 2eef5be3f02dd72d878415fe4e78ea18+ anfPrefix 979e2a188df16689d398f939d5adfb9e+ applyName 25f366ca3bca038d84f346fd1351a02a+ bitVecApplyName 0981af425f14028077325ff55671bb1f+ bitVecName 00019ed7902409f02e42ac9147024c0f+ bitVecToIntName b40951bc683f67316c7230f2f9d43b3a+ boolApplyName 8faceaad8b273b7bc6a7d8549f9f99f6+ boolConName 9c3bc87c7c3be02c654b7c6e667f970d+ boolToIntName 2f2e9300f8202a4d7e106ba0a7f7b2c3+ buildMany f14f2cccc11f92b60f7e06649edc7b82+ bvAndName f0343b8a4f8bd92677e59ed88901c889+ bvOrName efd850d2d2d132e184bb436c2e5ec069+ charConName 8fd2f192dd3a20288c13ba42ce745525+ coerceName cfa798590c79dbe5ef2b611f14e80f7f+ consName 678592453e2f2f20803bbf6dc64cbb4e+ consSym bfe4bf526ff036c2f437037daac33fcf+ divFuncName dae7813b9ecfad96423501941a112512+ dropSym eb03d15e953f7a3dd400a0856ba490ad+ dummyName c0222e65a2a2086852b2cd1d08a31a6b+ dummySymbol 511b7e2d64aed867c4c005991f9f72f8+ existSymbol a954851d44d4373674aa541c5a9cd0e5+ funConName 84b9db3261f970555e0a99bd0826a6d5+ gradIntSymbol 1aa17d1748414df608190bab8045639d+ headSym 45e33a0ea41b31cae845977e74bcff61+ intApplyName d6f8f873784b8ae7a368895412e13472+ intSymbol a4ae136aedf5d0fada743997e9c6751f+ isDummy 8f5e7a7858546dd93bba94304129d98c+ isLamArgSymbol 2c225b4ac3041fa9a0dcc3fb3d04950a+ isLitSymbol 25094086814fd8fb3cd404fe6ffd3f18+ isNonSymbol dbaee96374ae753f6f7fc1dc348e0a72+ isNontrivialVV d2f9ec82c7f48560a61c5dc5ba3c176e+ isPrefixOfSym 86ec416a6c2f0bf3bce3e459087dd2d0+ isPrim 4fab3a36c40c906c0a228dd06b3191af+ isSuffixOfSym 02e841912eb6bd5cb579130bfbbfbf30+ isTestSymbol 8c44e310df896aa9aa25d9ca880b232a+ kArgSymbol c4387b065bc6f987eaed9b7bb4595152+ lamArgSymbol 934937917f1dc2b7ff950de0d0661403+ lambdaName c8b0b013bbacac5c8fff10b620016b3e+ lengthSym b66e239fd26a4d65d3f1688063f373ec+ listConName 754b3882dbc8a426d10fc3adcefc2e31+ listLConName 59db8cee6987998bcd5f4c00a7c0be73+ litSymbol 27eaaac0b7b302e0b72df3eaa74bc9b5+ mapApplyName d86edf8197f44a14826b5c73313deef2+ mapConName d689532bc106bd19f9aeb509fed810cd+ mapToIntName 6cb7d353eed56dd8dc8d0bcb2c486a39+ mappendSym 3366fcd7388280a1a7bf6a72dd29d365+ mulFuncName 6a890e2f1ef5cfc3e80b39dbbfa3fafd+ nilName c503b9c0fc100a5b181d22f7dea58d01+ nonSymbol ee5eaa580ffa763b4b4f92cd69c0a8cc+ preludeName a9fd6ad17958834ac753dda3a6de29fb+ prims a3c286b1012134f7aeeef9339502a448+ propConName 20c4aab8e8ede255bce76e76a4cc24f1+ realApplyName 56b5ebed84338f16bf6034c05a2d2568+ realToIntName 28b7acfe1bd0e1c7d4f2540115cb58f3+ renameSymbol 5afdfb8f4019e0e926007c26dcda3ae9+ setApplyName f0e3962fc96b77b34fc62660fa09640b+ setConName 3b13e60e763424621a6d71f4ff2b3095+ setToIntName 391656d1df9e196762eedfcbb929aad8+ size32Name eb86c7a87bf6d4fe421e48a12b486920+ size64Name c319990772c58056fc8adbb99d90eef0+ strConName 9c4c6b48478291cfa01860495bbf65e3+ stripPrefix 8f72f666a976185328c7102b57f92add+ stripSuffix 905c930fc8a580b762d5c01e09f57351+ suffixSymbol 9662173a435d59332bdcbcb24c037237+ symChars c49e4d247ae1424252b6f052adf7c468+ symbol 8093c1d4f5a85b247a3a96c3fce3245c+ symbolBuilder 0bf3cfe602b4e00c658b71392faff862+ symbolSafeString 185f4c232d32438e45e949aa59791796+ symbolSafeText b9e4ff6615316241fdd787ea01365fab+ symbolString 8b7e66ffe1373b3c8eea5ece172dd4c9+ symbolText eec089aa19dd5c0554fdac0c2f873812+ symbolicString 731a0f9d06e522a1f53e54a3dcbe29b4+ tempPrefix c165fe23259b73206503dc8fdcc0487d+ tempSymbol ac0fc26b1fb0db2f55f076cb0bf5d40b+ testSymbol df4cac5e60d2d037be7846adb2b96088+ tidySymbol 13924b25c17672ff990eafc746ecd68a+ toIntName 324143c445406dc6dceb017ac99fb75a+ tupConName 2924967db93c0057b45b63dba07de5dc+ unLitSymbol b4214c4a262ed4871aa13dc9bbb092fa+ unconsSym cb283ee6c8a352cec7131c5e9fe69f91+ vv cb8457010f51db330c497f8b29772025+ vvCon 4e050294d1f45d7c7aa27a5f22279550+ vvName d000b2e40c83650b200473e2d4fbe41e+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ DocTable b770cb7429f7fb2e003768f2afd382a6+ DocTable 87350c6ae695833a148a7ef4f4cfdf9f+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ Full fb5c74374abf243f7b2556898ab6fe12+ Lossy 6d86dfaeb1eb5161103708510b42b0e6+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ PTable e8b4bbc42515b2faadf940cf2792c24b+ Tidy 222d036ecc7fd8f220064937c0399cf9+ boxDoc 5dd41b1f4e9941967d384e16c81d1900+ boxHSep 306bc3ebb052d07455cfd08ef5587a0c+ docBox 343d1d6c952d021d740f0fbe9a1d6c25+ notracepp 5a793f230115fb21796571cbf9bfbf52+ pprint 955dc9d031db587300edf6146ac33be4+ pprintKVs 07dc92ab912f4a936c42f767d930636e+ pprintPrec b295810b8feece8a8ed0eedbebc0051f+ pprintTidy bf75bee99d55ab15929b450195e64f3c+ ptable 010a61d3c3108da1c22e8c22f9cd7753+ showFix 3e850f4dba10210e482ff12d7ed17f7e+ showTable 9dc0873b2334dfc105c979af9bf9e311+ showpp a9f79fc9a75f72593341c16b4b8ac492+ simplify b57096eaf3d719a77fc26b0275953db4+ toFix 9b9c41ae3aa868a1e0f4e73cde8032e0+ traceFix eb6df3982e2235a35d278d13bd0a1ad9+ tracepp 8899c37de114d5de26a0fa6bae58ac89+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ exports: c373b88351492ec6aa75dffded20541a+ &.& 6181b4490e3595389de710d3949e91b1+ Bop 58dd7eff6040aa97f060415235c6cb01+ Brel 3130541cdaa27975ca84ce0fd238d8aa+ Constant 77cbbec08e19a1217d2b733c8f08120e+ Div 09eefb562391cab23a1f4dcb4b3afda4+ EApp 54242238b0fd99173645e603ea6a95e1+ EBin 584c6077045554d53d7c9a89592b60d3+ EBot 9879ed750ccc5a4093abcf7f02058efd+ ECoerc d62592d9495e238bd832577950db4048+ ECon 5baa7919e17f9fc7e290e6ec391edfe0+ ECst 77d8fb760e457bfd124c455ed691c864+ EDiv 4dfba844bb726e47c19d245745abcfbc+ EEq b022fbb5d44329cad435c5cf3295d97c+ EIte bcb7471d1eafba69c1a57099f120b1bb+ ELam e0029a0f9c90cfaf5ca8a8fc8de8a995+ ENeg c7c4772e5c9c737684dc4ada02f5ae77+ ERDiv 8eed0051e9a30fb6968c8e47dc884b2c+ ERTimes 670ffd98e9bd012a8e8759b7e258d83a+ ESym 1e9d62c909ab81c24aa5b70ea45dd385+ ETAbs 6c85c26f9de90ebed31639fcdf59cab4+ ETApp c6b0114335eb572da40fed762c8d9566+ ETimes adc7a4740d349bee24fe48e20309b312+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Eq 3f11ae5b47578ad5a2c554235bd0e66b+ Expr 58dd7eff6040aa97f060415235c6cb01+ Expression 3223e45a95282010f7c8c44ba75b8d79+ Ge 20def8c87168e6dfa6102e1e789292df+ GradInfo 6d557f9e89b2bd5d4d6d6bba3f5fc062+ GradInfo af986c6f2ab8500fff12f403a43796ed+ Gt efc2101db1845d999f94f634dfaf1339+ HasGradual 084d0b817b4e7c51b90fee6560e33ff3+ I 90217a394fcf0061b39dc2e3fba98b11+ KV 9862585cb8815843a934d7dad38d665a+ KVS 93a3c362a3cff61075fd60c9e14bbc15+ KVSub d1b959feb3e6e165694f06ccc1e60f00+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ L cb92c00e18083bd8988b20d1d090bc2b+ Le b76eccc268995647ce696445ad0fc538+ Lt 0dd388ae9584ef1ec44c96b5c623d39e+ Minus 753b0ebcc781b33045da2534da8dbe54+ Mod 1b418826ebbc244a0849550273fecdeb+ Ne 8de2833323f56b086978249fd6265b9b+ PAll 95061dd88b416f835271772df1b74807+ PAnd 668269c725f0f517f2cefead144acbec+ PAtom efd69e8b2834a0937ec103ca6d2f2b7d+ PExist c6ca2ca0202788949bf0d916db637f7a+ PFalse e43985c1fbf5446eb7e361fefcd63600+ PGrad 550de568c0242ed5fa6ef66e4aa1194d+ PIff 2a17d6131a34fb2676761302524edfd8+ PImp 71d909aca81df6b76b372b30b2979f8d+ PKVar 00776deded6bdc1a9b45a9cd2ff73aa5+ PNot dd52d33c67ccd94ba2b9bc2daaf6153f+ POr 8896d8a5009f7964d0fb6a9c72eaff6c+ PTop 241a73ae521c43fda6b01c9631464905+ PTrue 1c366fec6a192dc993b90d2b711bd4f4+ Plus 9f396120748621b21fd37878d2f4db4b+ Pred 551c7d373a23dab3c0a93d27c12c8930+ Predicate 93656b5647e6ad833660a9dc492a1ebf+ R 801e4115533995c5d14bb91969b23812+ RDiv c7b9a2fb71132dbc0e7e681a88ccdaeb+ RR bc18741bade52dfcbbbc2473e1b91821+ RTimes 7f574daa7c73d079e322c4abfab857af+ Reft 11628612f280bce553f9c182ec061ec6+ Reft 58dd7eff6040aa97f060415235c6cb01+ Reftable 738eabb2ee802fda7927d4314d5a74cc+ SL b7815bcf39c38f7dc8359ca076e863ec+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ Su c7f0aa4f362b23d4096b7fbf274dffd0+ Subable 60165a51c7f24051113a59802b59cd27+ Subst 58dd7eff6040aa97f060415235c6cb01+ SymConst 70bf9d44b2d107fffacade38f4990bd9+ Times 2ba8ff078e8f2a7d98c93cf423720bf2+ Ueq c1bef9e1715331b850d7aab346e55603+ Une 210ed236d1dc917037d1f78bf2a540d7+ bot fb1644ee8c39bb2f491b22eb6d8c6ced+ conjuncts 62dbde6d56cf10a600838f12dff254d8+ debruijnIndex 4349e1de3e9b5e13ba4bb83779e71fcc+ eAppC 61b63ddc8053df8bce148586f0630ece+ eApps 1307e7979a57d82780ccbddd25281f50+ eProp 23c3e591dddc150835dbbd9dca993503+ eVar 78f3007f3bb9a0c61a30d1ab8e58f084+ elit fc1447942212b145006ca1510d4d9b3d+ expr bb69a3829a24dac6732a3d85fdbf277f+ exprReft a121d7f00a157278e2955c5d4b9cc5e2+ falseReft 56dc7aa135c7f2cf2d6085fd13aa9f31+ flattenRefas b8215ffd161e9bc87acce9aab28f717b+ gVars bba4ff7e574a475f37b9cc8dd4c66872+ gsrc af986c6f2ab8500fff12f403a43796ed+ gused af986c6f2ab8500fff12f403a43796ed+ intKvar ee8cd40aa5e6fb5a8e7ce151b81141f2+ isContraPred f0a5d88aefc50349b7c441e8b3999bb7+ isFalse 014cca6607259f5046418bd4f4090a5b+ isFunctionSortedReft 15bb39791b2eaa58d6152a8a4e70c581+ isGradual 269028ff1040ff0bd61307fd28ecd9c4+ isNonTrivial 3a097c5f9ea6e7dca22bab5a2f3df362+ isSingletonExpr a1b424e07674d0e6b4b00ddc71c855b3+ isSingletonReft f351bc8bf337cec43a54858123940de8+ isTauto 2fb0b34f6b8aac8f204ebb27337a74a2+ isTautoPred b0ebfe363526526426c55e6ea6cc9f4d+ ksuKVar d1b959feb3e6e165694f06ccc1e60f00+ ksuSort d1b959feb3e6e165694f06ccc1e60f00+ ksuSubst d1b959feb3e6e165694f06ccc1e60f00+ ksuVV d1b959feb3e6e165694f06ccc1e60f00+ kv f4ebd74e51621c4f10e9fc003e3885a9+ mapPredReft 7c8604cbab97b0e7659a3d28df5714bc+ meet 695d2674950eff5d7f86f28d71fad97c+ mkEApp 12f29bdc1c6edf6c119c480e20519306+ mkProp 42f3210a692bd1be1f31940da3882f01+ notExprReft 3f119b0316b7f3c904eb453da90f80ac+ ofReft 8a2ebc3b7e11e566b72c346b10c0432e+ pAnd d997a1bd3b1f67d4020526858eca07c4+ pExist 6a564808743029b550fac42026ffd243+ pGAnd d2264c1ad6b27b2aaf45fe2de8858841+ pGAnds fc359f38c8476ec7dc202dd5a7471437+ pIte 4813b34991f64b0e5d97e49a86a08e49+ pOr 8a1e1f795b62005d448717b57d964c5f+ params 96ac4db07bad3b2a369041fe44e944b6+ ppTy 8a7045fe2d62924c4098d577aeba3312+ pprintReft 3e88a67daabcdb054a134b4aadd1cb16+ predReft ed755d08d3fab6d061823d472e8c7661+ prop fbae37b383d52b051d97ba581e7a1a52+ propReft c3a7f9b83e48c390aa1ce45d482d49ce+ reft 591c33da3565b1c9871eaa22f0250cfd+ reftBind 7d25a7e481f945537851203dd83cae77+ reftConjuncts 527dc5e5e7463d3cd54501ed54246c2b+ reftPred 9d7b055289a88730385e70810b114b97+ splitEApp 9b07f402f719e5fdde60de32b4802531+ splitPAnd b13d172acda197fed8cd69dde06e196a+ sr_reft 58dd7eff6040aa97f060415235c6cb01+ sr_sort 58dd7eff6040aa97f060415235c6cb01+ srcGradInfo 3fc582010d3949798a67a95868ec248e+ subst 8dc51beb28f3e734b2b3097edf7df9c8+ subst1 32fda17df52baa2dc57c3f6fcba8c1ae+ substa 4128f370b0314e7d7d083d0dc7d38a4c+ substf 2a7829ff8a455a2f5d2182c05514a458+ symbolReft cffad9314c4809ce0f389601bb1d2460+ syms cedb5518769db9d49f4ce507184c5e1f+ toReft 77e93efea506581a890f1bcdd406ae31+ top 70facf73b73de971e8a54292cf34792c+ trueReft b1755155d9be8c8f361db2f542991fc4+ trueSortedReft 5a60d78a8bc9c5d80e01c993695d83d5+ uexprReft 89fb7207e88fd3843265f3d20215d023+ ungrad bdb97f147725d574dedec65496049d23+ usymbolReft fe3d819aa1977786a623e0eacc4a1286+ vv_ 84a95ce75000c5743a32bad10c33f3cc+ |.| c616131631b88ca698887c566125560c+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ exports: b866d80011faf2d8f77449fdc11dc733+ DCtor 83abb43312b463b0aab541d71e991649+ DDecl fa32e5752577cfb40168e5b5c1c85117+ DField 429b10dd092babacb22326bf6fb45b30+ DataCtor 90984d28a9f3c849d44b1ec37334f5cb+ DataDecl 90984d28a9f3c849d44b1ec37334f5cb+ DataField 842b037f4a3d7555ff8e2c17ccb73443+ FAbs 8827fd69dabe452c42c2c745dfa98689+ FApp 1d71c4ce8486fd8718c15888c11af1b5+ FFrac 5a0487509a1a29dda536079b1750147a+ FFunc a2098452dd53c51f7531db6145200e8d+ FInt feec19063de9031ab717875a0a60c7b0+ FNum 5b5ac191d5fc722937c5d2a123c4a98c+ FObj 1bb5d6e74aaa46fc1c29e2a322aa25fa+ FReal 39b6469449782575f5c1edbea6d3e1cc+ FTC e5d6113e0ae80db3702c5a83dedd8a7f+ FTycon 30d6fd7d99459ff88296e3b55c87b46c+ FVar a3c34a432d4203ec59fb1483b26cb260+ NoArgs 822d95c620e0f5305a4f843984c0a39c+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ Sub f8a3d86d0ff3d3d4a29e066adcc00006+ Sub 30d6fd7d99459ff88296e3b55c87b46c+ TCArgs b6c1d568c46ea57cf9eafbf0f41c6b94+ TCEmb 30d6fd7d99459ff88296e3b55c87b46c+ WithArgs 23cfe9f2fb82af44c943ec40c1fe8d1d+ basicSorts 1b1e54e2a1502a49099ea8537be4dd56+ bitVecSort fb482949084196d18d148139ee7f05ff+ bkFFunc dd65fbe61e298d432b652ba1d8c095a0+ boolFTyCon 16fb6d8210614fc05a3dd17e4b56e7de+ boolSort 05be9e1ff80dff4f05fc2d8105076210+ charSort 6f54c9017b7440e93c35a09549fd60ca+ dcFields 90984d28a9f3c849d44b1ec37334f5cb+ dcName 90984d28a9f3c849d44b1ec37334f5cb+ ddCtors 90984d28a9f3c849d44b1ec37334f5cb+ ddTyCon 90984d28a9f3c849d44b1ec37334f5cb+ ddVars 90984d28a9f3c849d44b1ec37334f5cb+ dfName 842b037f4a3d7555ff8e2c17ccb73443+ dfSort 842b037f4a3d7555ff8e2c17ccb73443+ fApp c49e03b92bfc3b317f317f42b9427882+ fAppTC d1730a0e7e76ba505e7fb32cccadc22b+ fObj 7b7c9027c8922a15fc7940a9ec0ef6cb+ fTyconSelfSort 21d6ada3b337a5124b7098a77a4b8359+ fTyconSort 633df8b8447e1a481b51fa09ec285390+ fTyconSymbol 1a1d4e8a41d0680c0eae5cf4d96236f0+ funcSort 704a7cd5c6c59ccb248291ac38658563+ functionSort f594877f5448823b341deb917c8c3252+ intFTyCon 427efe970e81ec61d153671f94e1bbc6+ intSort ab1a8687c0d53db967e03c16ee505e9c+ isFirstOrder cfd506bfd2cff1e57e8dcb1d24cae9ab+ isListTC ef853046dc3bd19f54ff63f86048f01e+ isNumeric 185086e9ed1ab1d12d79b7e919aca7bb+ isPolyInst 676f1726c10c87f40ca1a0650d1b61c8+ isReal b482e086efc3a429928da3008e154a37+ isString 3c267f62fc9e05bc4e545153ea826927+ listFTyCon 300e5e0c35f513f011d66af81e99a681+ mapFTyCon 8ffa7b4c807aa25962bf7825c7173d7b+ mapFVar c204e11612f295b298016f3e4249de7a+ mapSort c383da3147fdba1ec21866e7d2b99fb8+ mappendFTC 2eb80517192d1035fdd148da555042ae+ mkFFunc 7fc888cdee141d3972072d0738f6e6fc+ mkPoly 0a7ab8f8c203859fcd432a2dfdd5abb2+ muSort e2cb2ad7e858df633905b445c4a9097a+ numFTyCon 0f72d23411d7c3f3edbbdcd1c330f7b0+ realFTyCon 6788f88268a6f66794a22f221cad4068+ realSort 459390a973b7f26d48daa507f727b0b4+ setFTyCon b50624ec599b3dfe50370f2d324b07f2+ setSort bd8955fcea07424549befb5ca89dd160+ sizeBv 23d61dced12a09cf4058ece06537f20a+ sortAbs c41d144241671a33236cba3988331ef8+ sortFTycon c593c45fcd6f7dd5c458c1019c6ceff2+ sortSubst b990d3b59e1236d7b5827572c5da5f3f+ strFTyCon c99941d4ded65186c0de5d73178fe143+ strSort c638fae801e8e1f254334aa30682ab3e+ symbolFTycon 93c1f3a947f85ee0557577e72fb0c2a1+ symbolNumInfoFTyCon b6634a7aa7fbcaa40d78d8348ad37962+ tceFromList c98392214ce18865fd59d5f2157eed2e+ tceInsert f938cbf2b1e169f204a826502459422b+ tceInsertWith 95ceeb66bd2f978f367568c570cadffb+ tceLookup ba24d63235282b2af5b374d3f4fff5ab+ tceMap fd9412cb209406f0bd423babdd51b745+ tceMember bdb28d8b627b92c630f35e254a2f038d+ tceToList 94dabd1e812c8f02e6ee6f26485a43a6+ unAbs ef7ce18bc22737d17abae86be1111da1+ unFApp f4945d2eb7df5bb40d6a2a87a5c0fdb7+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ exports: 9e9118ba5257e743a1e1c46db3e4cd33+ Loc 0a266231e9bb3b9aa09383fd7f3e48ff+ Loc 4962bb0bc274d9001b974c3326b63480+ Located 98c2e3118bdcfbfec2dfd5f953f55cfd+ SS afc18641865e1d45f99679b3f3b93be2+ SrcSpan 30cdf4122b891cc575df90039bdcbecb+ atLoc 1d33f99909507b18efe9f42abbbb5952+ dummyLoc 69f648f1c60987f6ccbe57104041fd71+ dummyPos cec780948f0543a3aa56a856d0978b96+ dummySpan 4c3a1f24b19908507cae45f533bfffe9+ loc 98c2e3118bdcfbfec2dfd5f953f55cfd+ locAt 1236793dd545dd57dc332f3a463d437c+ locE 98c2e3118bdcfbfec2dfd5f953f55cfd+ panicSpan d3af73fa8bf2e90a4b0e843d56f553e6+ sourcePosElts 7b9ace6ed7c9c38d2ddfa2f617e1a2d5+ sp_start 30cdf4122b891cc575df90039bdcbecb+ sp_stop 30cdf4122b891cc575df90039bdcbecb+ srcLine 47a043c390d048496b40f51356ff8384+ srcSpan 2b3eb671678320980d11df21e110f501+ toSourcePos d78052d3b064337bc822cf68e5d2fd66+ val 98c2e3118bdcfbfec2dfd5f953f55cfd+import -/ Language.Fixpoint.Types.Substitutions 68389730f57eb1bd783731c1e8e83435+ exports: 49819ba83f4a612781a90fc7826a8b86+ filterSubst a8845b356747c805d1596dd5efe45eb4+ isEmptySubst b3b6c49fe47730d145bb45f196f54731+ mkSubst fa0e5a33f52a68ffd2f44ba8a067ca8c+ subst1Except ae4e04a9fe86d9ade3f611535a7f260c+ substExcept 1abce49e4e9f05aaea7ec2f0c6647e6f+ substfExcept 016109889f0d23092e34c94006e42bbc+ targetSubstSyms f91740e29436bd17eec2f55bb31a870d+import -/ Language.Fixpoint.Types.Templates 46d5acca1a4b5a91c1a3f7aba53b295b+ exports: 3b06582f59435b3bf7b3ebed147e24cf+ Templates fb08dfdab4ffd26b5783b1ac17035eef+ anything 9aaf6a46604fa305619494f0280aa3a6+ filterUnMatched d5cc44f96d9a481af28ed402faa6468f+ isAnyTemplates 2fd54a198041f591e483db629d06c319+ isEmptyTemplates c7704877ac90a273313391b775ed39b4+ makeTemplates 39a85ec15979bb7c860b36de82cd23f4+ matchesTemplates 4e49672162582bf33808ba473a2e2947+import -/ Language.Fixpoint.Types.Theories 2d31db6b0cdc7b0f2231db238b021516+ exports: a69c86f8cdfe4a6b4b2b705830bc822b+ Ctor b4465861f103853ee835cb5461075bab+ Field 9da710c8832cd8032b2c106ebd5baea1+ Raw a1cf5f50209455d2ca3b8e19aad75c5a+ SBitVec d63a0f9670c3d95c19b30e11441244c5+ SBool 37ca432c2e28f27b6520d4e98b146010+ SData 094f9de781dcefec30fe058d8c3b3acc+ SInt 8b6736903e8f8ce746f1f78a9b4657ad+ SMap b05e689da14fea37bfdfaab6e4e78d68+ SReal d62ece88926088e2cd9356a39a55de57+ SSet 8d6c7fd730c73c1a6e21b1d575d2b405+ SString 446121c8fcca85edec43dbd3a25a0fde+ SVar 1aff186e655e8d77ca69232937c11c86+ Sem 810e2965561391114a602ece3df70281+ SmtSort 0506688674ca55c28cc4df4c4dbdb2df+ SymEnv ea08e890fc3ba213c85d90ec2c604fc6+ SymEnv 0506688674ca55c28cc4df4c4dbdb2df+ Test 84f5bf556ab4024ebf73fdfbf9623c35+ Theory c7597d4fa8fe997e8f49f0af8d93bbfc+ TheorySymbol 810e2965561391114a602ece3df70281+ Thy b12798c80fdc95179edfc0c3e40a2602+ Uninterp 87a6ab41bdb97af06459096378210809+ insertSymEnv 4e094436da1e3d3eea8a9ff801f624d5+ insertsSymEnv bfa10c0f122029fd8b483144c484096e+ isIntSmtSort 041ba075145d45bba8fd02c6ed18518a+ seAppls 0506688674ca55c28cc4df4c4dbdb2df+ seData 0506688674ca55c28cc4df4c4dbdb2df+ seLits 0506688674ca55c28cc4df4c4dbdb2df+ seSort 0506688674ca55c28cc4df4c4dbdb2df+ seTheory 0506688674ca55c28cc4df4c4dbdb2df+ sortSmtSort 4fef6a945014c08fdd9da90cda8a95e3+ symEnv 1992706f8fadb6cc07f433cceb88b481+ symEnvSort 4e4e9cdbc3a9475a23f86b15dfd87974+ symEnvTheory b4df3d48b26aea68a082338a9b46e1f3+ symbolAtName bd64b79fb7384a9bc331801c046897dc+ symbolAtSmtName 671cfc927c8973dd2b729af0d27af1b0+ tsInterp 810e2965561391114a602ece3df70281+ tsRaw 810e2965561391114a602ece3df70281+ tsSort 810e2965561391114a602ece3df70281+ tsSym 810e2965561391114a602ece3df70281+import -/ Language.Fixpoint.Types.Triggers 8abd2355db756b37b9b5fb3b0ce44e32+ exports: 2bb69e357ec17911b5073b7a3bd31064+ LeftHandSide a9ddfedfdf23106acb6d114c21896bcb+ NoTrigger 5a94771b74ef97d5c85741aafcf31fc5+ TR a3d1f7b1a17835a315118c4cf4f7907f+ Trigger d4e347d662ffae46e19beccd9e71f8e0+ Triggered d4e347d662ffae46e19beccd9e71f8e0+ defaultTrigger 4058e0f11e13b32584b6b19bdbd8c5de+ makeTriggers 2aac80cb129f655dea3c920779f3cb46+ noTrigger 3fdfd21876571394f38804c7b904aca5+import -/ Language.Fixpoint.Types.Utils c4558c8f9797d9736e70827b8d56a1d3+ exports: e9205816eb780ec89a55756a02ecd902+ kvarDomain 4dd9061c4d8b811598a3e279499607fc+ reftFreeVars 6f7479b9a5de918c0c29df54be0eb764+ sortedReftConcKVars acb146290271390388026ab060798d93+import -/ parsec-3.1.13.0:Text.Parsec.Pos 61aa6625e3bc17c83ef95500ead7d960+57f5758081913b76e5456f443d0d96d6+ $trModule :: GHC.Types.Module+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,723 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:23.613263 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config [family instance module] 8065+ interface hash: 3f7b130bf9f11e601f652cc352947f9c+ ABI hash: 134020671d47a57ffc8e89be204594cd+ export-list hash: b55741973d8e26ddd46c69a42379ac12+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 9f62fe5091d8f4dcb0d5c055dbb92a33+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Config.defConfig+ Language.Fixpoint.Types.Config.defaultMaxPartSize+ Language.Fixpoint.Types.Config.defaultMinPartSize+ Language.Fixpoint.Types.Config.getOpts+ Language.Fixpoint.Types.Config.multicore+ Language.Fixpoint.Types.Config.queryFile+ Language.Fixpoint.Types.Config.useElim+ Language.Fixpoint.Types.Config.withPragmas+ Language.Fixpoint.Types.Config.Config{Language.Fixpoint.Types.Config.Config allowHO allowHOqs autoKuts checkCstr cores defunction elimBound elimStats eliminate ginteractive gradual linear maxPartSize metadata minPartSize minimalSol minimize minimizeKs minimizeQs noIncrPle nonLinCuts noslice parts rewriteAxioms save smtTimeout solver solverStats srcFile stats stringTheory}+ Language.Fixpoint.Types.Config.Eliminate{Language.Fixpoint.Types.Config.All Language.Fixpoint.Types.Config.Existentials Language.Fixpoint.Types.Config.Horn Language.Fixpoint.Types.Config.None Language.Fixpoint.Types.Config.Some}+ Language.Fixpoint.Types.Config.SMTSolver{Language.Fixpoint.Types.Config.Cvc4 Language.Fixpoint.Types.Config.Mathsat Language.Fixpoint.Types.Config.Z3}+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Utils.Files Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 bytestring-0.10.8.2 cereal-0.5.8.0+ cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1 deepseq-1.4.4.0+ directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 pretty-1.1.3.6 process-1.6.5.0 stm-2.5.0.0+ text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2 unix-2.7.2.2+ unordered-containers-0.2.9.0+orphans: cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ colour-2.3.5:Data.Colour time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Data 2949b01dc3799f9122535900668dfcef+import -/ base-4.12.0.0:Data.Typeable.Internal e1cb15df401654131814917774d4d7ed+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.IO 898d4ddbf00eb4732e5f462760aa42ae+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.Environment c54e0d0308e729fdace6bc37aa74bb52+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ cereal-0.5.8.0:Data.Serialize 46eea0b64631e6bfa7ec81b0118ba8ea+import -/ cmdargs-0.10.20:System.Console.CmdArgs 19dedba87b47197c96828c0365e583cf+import -/ cmdargs-0.10.20:System.Console.CmdArgs.Default eed1b1f2b7d50a523b0b36063801ecd5+import -/ cmdargs-0.10.20:System.Console.CmdArgs.Explicit 41066b25ad8f781762473e92ff1a6089+import -/ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Type f1e2bc98074b9c47c11598b938942657+import -/ cmdargs-0.10.20:System.Console.CmdArgs.Implicit 62643fcb812d1a7e40f59efaa2269064+import -/ cmdargs-0.10.20:System.Console.CmdArgs.Implicit.Type 2db0ed5e3b8783d3e78207b75a0255ec+import -/ cmdargs-0.10.20:System.Console.CmdArgs.Implicit.UI cd7cc7225b3dfe7699aed78d9033cbcc+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Utils.Files b2b779ebebf03f66af4a684b17d25d25+ exports: 061e3dd63eb42c6c413f2db46ae3d0cb+ Ext 2200547bd69549ec4bc703e1fe4c80e1+ extFileName 86adcb1270446909c1fa5137dc51787e+3988ec36858b82afed711ea7ff67ff00+ $fDataConfig ::+ Data.Data.Data Language.Fixpoint.Types.Config.Config+ DFunId+be2044875a0f03107ba04bae40380905+ $fDataEliminate ::+ Data.Data.Data Language.Fixpoint.Types.Config.Eliminate+ DFunId+16932a7b6f7e2d9f5e812b1ebb37105a+ $fDataSMTSolver ::+ Data.Data.Data Language.Fixpoint.Types.Config.SMTSolver+ DFunId+3988ec36858b82afed711ea7ff67ff00+ $fDefaultConfig ::+ System.Console.CmdArgs.Default.Default+ Language.Fixpoint.Types.Config.Config+ DFunId+be2044875a0f03107ba04bae40380905+ $fDefaultEliminate ::+ System.Console.CmdArgs.Default.Default+ Language.Fixpoint.Types.Config.Eliminate+ DFunId+16932a7b6f7e2d9f5e812b1ebb37105a+ $fDefaultSMTSolver ::+ System.Console.CmdArgs.Default.Default+ Language.Fixpoint.Types.Config.SMTSolver+ DFunId+3988ec36858b82afed711ea7ff67ff00+ $fEqConfig :: GHC.Classes.Eq Language.Fixpoint.Types.Config.Config+ DFunId+be2044875a0f03107ba04bae40380905+ $fEqEliminate ::+ GHC.Classes.Eq Language.Fixpoint.Types.Config.Eliminate+ DFunId+16932a7b6f7e2d9f5e812b1ebb37105a+ $fEqSMTSolver ::+ GHC.Classes.Eq Language.Fixpoint.Types.Config.SMTSolver+ DFunId+3988ec36858b82afed711ea7ff67ff00+ $fGenericConfig ::+ GHC.Generics.Generic Language.Fixpoint.Types.Config.Config+ DFunId+be2044875a0f03107ba04bae40380905+ $fGenericEliminate ::+ GHC.Generics.Generic Language.Fixpoint.Types.Config.Eliminate+ DFunId+16932a7b6f7e2d9f5e812b1ebb37105a+ $fGenericSMTSolver ::+ GHC.Generics.Generic Language.Fixpoint.Types.Config.SMTSolver+ DFunId+be2044875a0f03107ba04bae40380905+ $fSerializeEliminate ::+ Data.Serialize.Serialize Language.Fixpoint.Types.Config.Eliminate+ DFunId+3988ec36858b82afed711ea7ff67ff00+ $fShowConfig :: GHC.Show.Show Language.Fixpoint.Types.Config.Config+ DFunId+be2044875a0f03107ba04bae40380905+ $fShowEliminate ::+ GHC.Show.Show Language.Fixpoint.Types.Config.Eliminate+ DFunId+16932a7b6f7e2d9f5e812b1ebb37105a+ $fShowSMTSolver ::+ GHC.Show.Show Language.Fixpoint.Types.Config.SMTSolver+ DFunId+6564350236912fef31117f604a84551b+ $tc'All :: GHC.Types.TyCon+0be746583368261002a426bbf5b1b93d+ $tc'Config :: GHC.Types.TyCon+b608f6c466072ed9cd5331299d19c098+ $tc'Cvc4 :: GHC.Types.TyCon+bfec31a08055b97e2db80a042aecb180+ $tc'Existentials :: GHC.Types.TyCon+8f9fd1a27bfe80440405331c045482d0+ $tc'Horn :: GHC.Types.TyCon+28801bf6ffc8a2b77abdf1032f15aa89+ $tc'Mathsat :: GHC.Types.TyCon+14735bbfbcac4271865c504f40a61f96+ $tc'None :: GHC.Types.TyCon+360a76844214d6dbdb4a5745f57f2833+ $tc'Some :: GHC.Types.TyCon+8ddba8acc5c0ac4986fe8919c0aa2b69+ $tc'Z3 :: GHC.Types.TyCon+f85bde642bf72d9388a136d1ceb167b4+ $tcConfig :: GHC.Types.TyCon+5744fba42b8a83fa3bfa0d4bf72a5615+ $tcEliminate :: GHC.Types.TyCon+6184315ea7a85919b77ad98ea091baba+ $tcSMTSolver :: GHC.Types.TyCon+7c88ec511deabffc846f197e4c684ac8+ $trModule :: GHC.Types.Module+3988ec36858b82afed711ea7ff67ff00+ data Config+ = Config {srcFile :: GHC.IO.FilePath,+ cores :: GHC.Maybe.Maybe GHC.Types.Int,+ minPartSize :: GHC.Types.Int,+ maxPartSize :: GHC.Types.Int,+ solver :: Language.Fixpoint.Types.Config.SMTSolver,+ linear :: GHC.Types.Bool,+ stringTheory :: GHC.Types.Bool,+ defunction :: GHC.Types.Bool,+ allowHO :: GHC.Types.Bool,+ allowHOqs :: GHC.Types.Bool,+ eliminate :: Language.Fixpoint.Types.Config.Eliminate,+ elimBound :: GHC.Maybe.Maybe GHC.Types.Int,+ smtTimeout :: GHC.Maybe.Maybe GHC.Types.Int,+ elimStats :: GHC.Types.Bool,+ solverStats :: GHC.Types.Bool,+ metadata :: GHC.Types.Bool,+ stats :: GHC.Types.Bool,+ parts :: GHC.Types.Bool,+ save :: GHC.Types.Bool,+ minimize :: GHC.Types.Bool,+ minimizeQs :: GHC.Types.Bool,+ minimizeKs :: GHC.Types.Bool,+ minimalSol :: GHC.Types.Bool,+ gradual :: GHC.Types.Bool,+ ginteractive :: GHC.Types.Bool,+ autoKuts :: GHC.Types.Bool,+ nonLinCuts :: GHC.Types.Bool,+ noslice :: GHC.Types.Bool,+ rewriteAxioms :: GHC.Types.Bool,+ noIncrPle :: GHC.Types.Bool,+ checkCstr :: [GHC.Integer.Type.Integer]}+be2044875a0f03107ba04bae40380905+ data Eliminate = None | Some | All | Horn | Existentials+3988ec36858b82afed711ea7ff67ff00+ axiom Language.Fixpoint.Types.Config.Rep_Config::+ GHC.Generics.Rep Language.Fixpoint.Types.Config.Config+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Config"+ "Language.Fixpoint.Types.Config"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Config" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "srcFile")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.IO.FilePath)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "cores")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 (GHC.Maybe.Maybe GHC.Types.Int))+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "minPartSize")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Int)))+ GHC.Generics.:*: ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "maxPartSize")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Int)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "solver")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Config.SMTSolver))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "linear")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "stringTheory")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ GHC.Types.Bool))))+ GHC.Generics.:*: (((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "defunction")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "allowHO")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "allowHOqs")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "eliminate")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Config.Eliminate)))+ GHC.Generics.:*: ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "elimBound")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (GHC.Maybe.Maybe GHC.Types.Int))+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "smtTimeout")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (GHC.Maybe.Maybe+ GHC.Types.Int)))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "elimStats")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "solverStats")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ GHC.Types.Bool)))))+ GHC.Generics.:*: ((((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "metadata")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "stats")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "parts")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "save")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ GHC.Types.Bool)))+ GHC.Generics.:*: ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "minimize")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "minimizeQs")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ GHC.Types.Bool))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "minimizeKs")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "minimalSol")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ GHC.Types.Bool))))+ GHC.Generics.:*: (((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "gradual")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "ginteractive")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ GHC.Types.Bool))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "autoKuts")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "nonLinCuts")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ GHC.Types.Bool)))+ GHC.Generics.:*: ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "noslice")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "rewriteAxioms")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ GHC.Types.Bool))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "noIncrPle")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "checkCstr")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ [GHC.Integer.Type.Integer])))))))+be2044875a0f03107ba04bae40380905+ axiom Language.Fixpoint.Types.Config.Rep_Eliminate::+ GHC.Generics.Rep Language.Fixpoint.Types.Config.Eliminate+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Eliminate"+ "Language.Fixpoint.Types.Config"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "None" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Some" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1)+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "All" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Horn" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Existentials"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ GHC.Generics.U1)))+16932a7b6f7e2d9f5e812b1ebb37105a+ axiom Language.Fixpoint.Types.Config.Rep_SMTSolver::+ GHC.Generics.Rep Language.Fixpoint.Types.Config.SMTSolver+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "SMTSolver"+ "Language.Fixpoint.Types.Config"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Z3" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Cvc4" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Mathsat"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ GHC.Generics.U1))+16932a7b6f7e2d9f5e812b1ebb37105a+ data SMTSolver = Z3 | Cvc4 | Mathsat+3988ec36858b82afed711ea7ff67ff00+ allowHO :: Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ allowHOqs ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ autoKuts :: Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ checkCstr ::+ Language.Fixpoint.Types.Config.Config -> [GHC.Integer.Type.Integer]+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ cores ::+ Language.Fixpoint.Types.Config.Config+ -> GHC.Maybe.Maybe GHC.Types.Int+ RecSel Left Language.Fixpoint.Types.Config.Config+81379fbee92553e9b51bd9070c7d0a5d+ defConfig :: Language.Fixpoint.Types.Config.Config+1ffe5deb3b331cfb40df44f0fdaf6568+ defaultMaxPartSize :: GHC.Types.Int+8a2cdbd7b5392e1b55e79386d8acc5c5+ defaultMinPartSize :: GHC.Types.Int+3988ec36858b82afed711ea7ff67ff00+ defunction ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ elimBound ::+ Language.Fixpoint.Types.Config.Config+ -> GHC.Maybe.Maybe GHC.Types.Int+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ elimStats ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ eliminate ::+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Config.Eliminate+ RecSel Left Language.Fixpoint.Types.Config.Config+762b865df917635133cfe2a2dc7a2118+ getOpts :: GHC.Types.IO Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ ginteractive ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ gradual :: Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ linear :: Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ maxPartSize ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ metadata :: Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ minPartSize ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ minimalSol ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ minimize :: Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ minimizeKs ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ minimizeQs ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+69a77c1f2a1de6dfbff97d6e4292a39a+ multicore ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+3988ec36858b82afed711ea7ff67ff00+ noIncrPle ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ nonLinCuts ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ noslice :: Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ parts :: Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+24dfc95af04dba576b5be5b6594619e1+ queryFile ::+ Language.Fixpoint.Utils.Files.Ext+ -> Language.Fixpoint.Types.Config.Config -> GHC.IO.FilePath+3988ec36858b82afed711ea7ff67ff00+ rewriteAxioms ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ save :: Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ smtTimeout ::+ Language.Fixpoint.Types.Config.Config+ -> GHC.Maybe.Maybe GHC.Types.Int+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ solver ::+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Config.SMTSolver+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ solverStats ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ srcFile :: Language.Fixpoint.Types.Config.Config -> GHC.IO.FilePath+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ stats :: Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+3988ec36858b82afed711ea7ff67ff00+ stringTheory ::+ Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Config.Config+eeb6968cb668f2bbdfd4cb15a73d4e11+ useElim :: Language.Fixpoint.Types.Config.Config -> GHC.Types.Bool+7a2d56db26a96b6ec8ae137971b30663+ withPragmas ::+ Language.Fixpoint.Types.Config.Config+ -> [GHC.Base.String]+ -> GHC.Types.IO Language.Fixpoint.Types.Config.Config+instance Data.Data.Data [Language.Fixpoint.Types.Config.Config]+ = Language.Fixpoint.Types.Config.$fDataConfig+instance Data.Data.Data [Language.Fixpoint.Types.Config.Eliminate]+ = Language.Fixpoint.Types.Config.$fDataEliminate+instance Data.Data.Data [Language.Fixpoint.Types.Config.SMTSolver]+ = Language.Fixpoint.Types.Config.$fDataSMTSolver+instance System.Console.CmdArgs.Default.Default [Language.Fixpoint.Types.Config.Config]+ = Language.Fixpoint.Types.Config.$fDefaultConfig+instance System.Console.CmdArgs.Default.Default [Language.Fixpoint.Types.Config.Eliminate]+ = Language.Fixpoint.Types.Config.$fDefaultEliminate+instance System.Console.CmdArgs.Default.Default [Language.Fixpoint.Types.Config.SMTSolver]+ = Language.Fixpoint.Types.Config.$fDefaultSMTSolver+instance GHC.Classes.Eq [Language.Fixpoint.Types.Config.Config]+ = Language.Fixpoint.Types.Config.$fEqConfig+instance GHC.Classes.Eq [Language.Fixpoint.Types.Config.Eliminate]+ = Language.Fixpoint.Types.Config.$fEqEliminate+instance GHC.Classes.Eq [Language.Fixpoint.Types.Config.SMTSolver]+ = Language.Fixpoint.Types.Config.$fEqSMTSolver+instance GHC.Generics.Generic [Language.Fixpoint.Types.Config.Config]+ = Language.Fixpoint.Types.Config.$fGenericConfig+instance GHC.Generics.Generic [Language.Fixpoint.Types.Config.Eliminate]+ = Language.Fixpoint.Types.Config.$fGenericEliminate+instance GHC.Generics.Generic [Language.Fixpoint.Types.Config.SMTSolver]+ = Language.Fixpoint.Types.Config.$fGenericSMTSolver+instance Data.Serialize.Serialize [Language.Fixpoint.Types.Config.Eliminate]+ = Language.Fixpoint.Types.Config.$fSerializeEliminate+instance GHC.Show.Show [Language.Fixpoint.Types.Config.Config]+ = Language.Fixpoint.Types.Config.$fShowConfig+instance GHC.Show.Show [Language.Fixpoint.Types.Config.Eliminate]+ = Language.Fixpoint.Types.Config.$fShowEliminate+instance GHC.Show.Show [Language.Fixpoint.Types.Config.SMTSolver]+ = Language.Fixpoint.Types.Config.$fShowSMTSolver+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Config.Config]+ = Language.Fixpoint.Types.Config.Rep_Config+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Config.Eliminate]+ = Language.Fixpoint.Types.Config.Rep_Eliminate+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Config.SMTSolver]+ = Language.Fixpoint.Types.Config.Rep_SMTSolver+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,2621 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:36.440294 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints [orphan module] [family instance module] 8065+ interface hash: 914c1357dc15b95acbb9ed679bb40a90+ ABI hash: 5290ca1fe775ef899496b3cb4cf11436+ export-list hash: 12c9708cdb7cc8f94e739104f060796e+ orphan hash: 06599f48edcce2af285cb6737f790708+ flag hash: d94283aca06b9355db6dda64e0ccabbd+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Constraints.addIds+ Language.Fixpoint.Types.Constraints.allowHO+ Language.Fixpoint.Types.Constraints.allowHOquals+ Language.Fixpoint.Types.Constraints.convertFormat+ Language.Fixpoint.Types.Constraints.fi+ Language.Fixpoint.Types.Constraints.gwInfo+ Language.Fixpoint.Types.Constraints.isGWfc+ Language.Fixpoint.Types.Constraints.isSafe+ Language.Fixpoint.Types.Constraints.isUnsafe+ Language.Fixpoint.Types.Constraints.ksMember+ Language.Fixpoint.Types.Constraints.mkEquation+ Language.Fixpoint.Types.Constraints.mkQ+ Language.Fixpoint.Types.Constraints.mkQual+ Language.Fixpoint.Types.Constraints.mkSubC+ Language.Fixpoint.Types.Constraints.qualBinds+ Language.Fixpoint.Types.Constraints.qualifier+ Language.Fixpoint.Types.Constraints.remakeQual+ Language.Fixpoint.Types.Constraints.safe+ Language.Fixpoint.Types.Constraints.saveQuery+ Language.Fixpoint.Types.Constraints.shiftVV+ Language.Fixpoint.Types.Constraints.sortVars+ Language.Fixpoint.Types.Constraints.strengthenBinds+ Language.Fixpoint.Types.Constraints.strengthenHyp+ Language.Fixpoint.Types.Constraints.subC+ Language.Fixpoint.Types.Constraints.subcId+ Language.Fixpoint.Types.Constraints.substVars+ Language.Fixpoint.Types.Constraints.toFixpoint+ Language.Fixpoint.Types.Constraints.toGFixSol+ Language.Fixpoint.Types.Constraints.trueQual+ Language.Fixpoint.Types.Constraints.unsafe+ Language.Fixpoint.Types.Constraints.updateWfCExpr+ Language.Fixpoint.Types.Constraints.wfC+ Language.Fixpoint.Types.Constraints.writeFInfo+ Language.Fixpoint.Types.Constraints.AxiomEnv{Language.Fixpoint.Types.Constraints.AEnv aenvEqs aenvExpand aenvSimpl}+ Language.Fixpoint.Types.Constraints.Equation{Language.Fixpoint.Types.Constraints.Equ eqArgs eqBody eqName eqRec eqSort}+ Language.Fixpoint.Types.Constraints.FInfo+ Language.Fixpoint.Types.Constraints.FInfoWithOpts{Language.Fixpoint.Types.Constraints.FIO fioFI fioOpts}+ Language.Fixpoint.Types.Constraints.FixSolution+ Language.Fixpoint.Types.Constraints.GFixSolution+ Language.Fixpoint.Types.Constraints.GInfo{Language.Fixpoint.Types.Constraints.FI ae asserts bindInfo bs cm dLits ddecls ebinds gLits hoInfo kuts quals ws}+ Language.Fixpoint.Types.Constraints.GWInfo{Language.Fixpoint.Types.Constraints.GWInfo gexpr ginfo gsort gsym}+ Language.Fixpoint.Types.Constraints.HOInfo{Language.Fixpoint.Types.Constraints.HOI hoBinds hoQuals}+ Language.Fixpoint.Types.Constraints.Kuts{Language.Fixpoint.Types.Constraints.KS ksVars}+ Language.Fixpoint.Types.Constraints.QualParam{Language.Fixpoint.Types.Constraints.QP qpPat qpSort qpSym}+ Language.Fixpoint.Types.Constraints.QualPattern{Language.Fixpoint.Types.Constraints.PatExact Language.Fixpoint.Types.Constraints.PatNone Language.Fixpoint.Types.Constraints.PatPrefix Language.Fixpoint.Types.Constraints.PatSuffix}+ Language.Fixpoint.Types.Constraints.Qualifier{Language.Fixpoint.Types.Constraints.Q qBody qName qParams qPos}+ Language.Fixpoint.Types.Constraints.Result{Language.Fixpoint.Types.Constraints.Result gresSolution resSolution resStatus}+ Language.Fixpoint.Types.Constraints.Rewrite{Language.Fixpoint.Types.Constraints.SMeasure smArgs smBody smDC smName}+ Language.Fixpoint.Types.Constraints.SInfo+ Language.Fixpoint.Types.Constraints.SimpC{Language.Fixpoint.Types.Constraints.SimpC _cenv _cid _cinfo _crhs _ctag cbind}+ Language.Fixpoint.Types.Constraints.Solver+ Language.Fixpoint.Types.Constraints.SubC{slhs srhs}+ Language.Fixpoint.Types.Constraints.SubcId+ Language.Fixpoint.Types.Constraints.Tag+ Language.Fixpoint.Types.Constraints.TaggedC{Language.Fixpoint.Types.Constraints.clhs Language.Fixpoint.Types.Constraints.crhs Language.Fixpoint.Types.Constraints.senv Language.Fixpoint.Types.Constraints.sid Language.Fixpoint.Types.Constraints.sinfo Language.Fixpoint.Types.Constraints.stag}+ Language.Fixpoint.Types.Constraints.WfC{Language.Fixpoint.Types.Constraints.GWfC Language.Fixpoint.Types.Constraints.WfC wenv wexpr winfo wloc wrft}+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Types.Config 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.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2 unix-2.7.2.2+ unordered-containers-0.2.9.0+orphans: cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Data 2949b01dc3799f9122535900668dfcef+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Typeable 1095be85dd9009a6503a3981a259490e+import -/ base-4.12.0.0:Data.Typeable.Internal e1cb15df401654131814917774d4d7ed+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.IO 898d4ddbf00eb4732e5f462760aa42ae+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Real af2b985dd29515c375fb78b2c9298d42+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ binary-0.8.6.0:Data.Binary 47a89cefaa44e49e7fd21d133fce6a7e+import -/ binary-0.8.6.0:Data.Binary.Class 4a00b809573ad7c27e489f5b66886719+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ ensurePath b92908154869eb5d0777411abad08aef+ errorstar e47c2d482124b43e020a405f809adcff+ intersperse 3560fd9d33e532745e7669346fe553d7+ mfromJust 9c8b28fdf1584226a8ed2f48418902d1+ safeFromList ffb512f65f2eeddc9493ad364e135e8d+ safeLookup de93685c8ce33b5619842061a589410f+ sortNub 7d73d874da71f31bd97dc544f8572fc4+ tshow 044dfce5ef708f72e5ca59e37dc09756+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+ Eliminate be2044875a0f03107ba04bae40380905+ SMTSolver 16932a7b6f7e2d9f5e812b1ebb37105a+ metadata 3988ec36858b82afed711ea7ff67ff00+ queryFile 24dfc95af04dba576b5be5b6594619e1+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ exports: ab8867d60d15ba2af38632b8e3ed1bf3+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ BindId c1dc08df6d648ef575cab1d33fc5df7b+ IBindEnv b71d4c279d7a7920d70dd44bac0305aa+ SEnv 7b76b1b3898bd64fc8c2187c261c0f80+ adjustBindEnv 03a20071911999e08cc0bbf23913313f+ envCs e423fff58f01e321ca4ef94ca8a41936+ insertBindEnv bc97de86c3ec6f664abb49ca068d7984+ insertsIBindEnv dca3e4d95477ee71c84a2814faf94fea+ lookupSEnv 94599d47b6378649795b045198f42e89+ mapBindEnv 32197c169397373f8fac7df4bdb16c5f+ splitByQuantifiers 47e055b3941151cd8d69091c12631895+ toListSEnv ddd97c9c472b637e00dcfff9c958a991+import -/ Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+ exports: 89a9dc85e57ecc980170ae7cb32d2921+ Crash 8dce1b12135eab1786bee372065fb937+ FixResult c0716f0e4597e606e45487edbbbeea3f+ Safe d22144b54cf2a4f4ae6a38095fc7dbe3+ Unsafe f41fb70ee1e83c00b795f94fcef4262f+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ exports: 45d7959603a132b65636c5a341548000+ Symbol 3f986d27cdf6315dd770c516fc00a643+ intSymbol a4ae136aedf5d0fada743997e9c6751f+ isPrim 4fab3a36c40c906c0a228dd06b3191af+ symbol 8093c1d4f5a85b247a3a96c3fce3245c+ symbolString 8b7e66ffe1373b3c8eea5ece172dd4c9+ tempSymbol ac0fc26b1fb0db2f55f076cb0bf5d40b+ vv cb8457010f51db330c497f8b29772025+ vvCon 4e050294d1f45d7c7aa27a5f22279550+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ DocTable b770cb7429f7fb2e003768f2afd382a6+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ PTable e8b4bbc42515b2faadf940cf2792c24b+ Tidy 222d036ecc7fd8f220064937c0399cf9+ pprint 955dc9d031db587300edf6146ac33be4+ pprintTidy bf75bee99d55ab15929b450195e64f3c+ showFix 3e850f4dba10210e482ff12d7ed17f7e+ showpp a9f79fc9a75f72593341c16b4b8ac492+ toFix 9b9c41ae3aa868a1e0f4e73cde8032e0+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ exports: c373b88351492ec6aa75dffded20541a+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Expr 58dd7eff6040aa97f060415235c6cb01+ GradInfo af986c6f2ab8500fff12f403a43796ed+ HasGradual 084d0b817b4e7c51b90fee6560e33ff3+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ PAnd 668269c725f0f517f2cefead144acbec+ PGrad 550de568c0242ed5fa6ef66e4aa1194d+ PKVar 00776deded6bdc1a9b45a9cd2ff73aa5+ RR bc18741bade52dfcbbbc2473e1b91821+ Reft 11628612f280bce553f9c182ec061ec6+ Reft 58dd7eff6040aa97f060415235c6cb01+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ Subable 60165a51c7f24051113a59802b59cd27+ isGradual 269028ff1040ff0bd61307fd28ecd9c4+ isTautoPred b0ebfe363526526426c55e6ea6cc9f4d+ kv f4ebd74e51621c4f10e9fc003e3885a9+ pAnd d997a1bd3b1f67d4020526858eca07c4+ reftBind 7d25a7e481f945537851203dd83cae77+ reftConjuncts 527dc5e5e7463d3cd54501ed54246c2b+ reftPred 9d7b055289a88730385e70810b114b97+ sr_reft 58dd7eff6040aa97f060415235c6cb01+ sr_sort 58dd7eff6040aa97f060415235c6cb01+ subst 8dc51beb28f3e734b2b3097edf7df9c8+ subst1 32fda17df52baa2dc57c3f6fcba8c1ae+ substa 4128f370b0314e7d7d083d0dc7d38a4c+ substf 2a7829ff8a455a2f5d2182c05514a458+ syms cedb5518769db9d49f4ce507184c5e1f+ trueReft b1755155d9be8c8f361db2f542991fc4+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ exports: b866d80011faf2d8f77449fdc11dc733+ DataDecl 90984d28a9f3c849d44b1ec37334f5cb+ FAbs 8827fd69dabe452c42c2c745dfa98689+ FApp 1d71c4ce8486fd8718c15888c11af1b5+ FFunc a2098452dd53c51f7531db6145200e8d+ FObj 1bb5d6e74aaa46fc1c29e2a322aa25fa+ FVar a3c34a432d4203ec59fb1483b26cb260+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ fObj 7b7c9027c8922a15fc7940a9ec0ef6cb+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ exports: 9e9118ba5257e743a1e1c46db3e4cd33+ Loc 0a266231e9bb3b9aa09383fd7f3e48ff+ Loc 4962bb0bc274d9001b974c3326b63480+ SS afc18641865e1d45f99679b3f3b93be2+ dummyPos cec780948f0543a3aa56a856d0978b96+ srcSpan 2b3eb671678320980d11df21e110f501+import -/ Language.Fixpoint.Types.Substitutions 68389730f57eb1bd783731c1e8e83435+ exports: 49819ba83f4a612781a90fc7826a8b86+ isEmptySubst b3b6c49fe47730d145bb45f196f54731+import -/ Language.Fixpoint.Types.Triggers 8abd2355db756b37b9b5fb3b0ce44e32+ exports: 2bb69e357ec17911b5073b7a3bd31064+ Triggered d4e347d662ffae46e19beccd9e71f8e0+import -/ Language.Fixpoint.Utils.Files b2b779ebebf03f66af4a684b17d25d25+ exports: 061e3dd63eb42c6c413f2db46ae3d0cb+ BinFq a3c45c1a772e358bc5d2bbc7e425af6e+ Fq 547b6c5b658fb44117c7a08cfaa442bb+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+ <-> a6bccb4500bca89f567c047995747774+import -/ parsec-3.1.13.0:Text.Parsec.Pos 61aa6625e3bc17c83ef95500ead7d960+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ syb-0.7:Data.Generics f4bddd07fe7227d2509acad55f9ff82d+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+90ef96c47f269969affd7c3639af34f3+ $fBinaryAxiomEnv ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Constraints.AxiomEnv+ DFunId+01a52ef00a1e1aebadec63adbe24a9bf+ $fBinaryEliminate ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Config.Eliminate+ DFunId+1b8c537886bd491bbeaae4b7cdcd5c8f+ $fBinaryEquation ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Constraints.Equation+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fBinaryGFixSol ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Constraints.GFixSolution+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fBinaryGInfo ::+ (Data.Binary.Class.Binary (c a), Data.Binary.Class.Binary a) =>+ Data.Binary.Class.Binary+ (Language.Fixpoint.Types.Constraints.GInfo c a)+ DFunId+631d20d0918c14b74d892903e40cbdc3+ $fBinaryGWInfo ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Constraints.GWInfo+ DFunId+35e5222a97ffd1e6ee6c34a5f394f10e+ $fBinaryHOInfo ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Constraints.HOInfo+ DFunId+72e8e948b4d2861f1e29f60f1aa59a0c+ $fBinaryKuts ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Constraints.Kuts+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fBinaryQualParam ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Constraints.QualParam+ DFunId+df6d07f9885eb5e5b345a33c505d8e73+ $fBinaryQualPattern ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Constraints.QualPattern+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fBinaryQualifier ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Constraints.Qualifier+ DFunId+7df085a191521cbf745e28451770fe1d+ $fBinaryRewrite ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Constraints.Rewrite+ DFunId+95788bd54707afb27a03321d3bbd928f+ $fBinarySMTSolver ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Config.SMTSolver+ DFunId+03dcffeea2a5199db7c9ff0154825bc0+ $fBinarySimpC ::+ Data.Binary.Class.Binary a =>+ Data.Binary.Class.Binary+ (Language.Fixpoint.Types.Constraints.SimpC a)+ DFunId+1844afeba4cbd3ee9cea173e868f8ce9+ $fBinarySubC ::+ Data.Binary.Class.Binary a =>+ Data.Binary.Class.Binary+ (Language.Fixpoint.Types.Constraints.SubC a)+ DFunId+ad7a627c031dc594c719d4e423bdd067+ $fBinaryWfC ::+ Data.Binary.Class.Binary a =>+ Data.Binary.Class.Binary+ (Language.Fixpoint.Types.Constraints.WfC a)+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fDataQualParam ::+ Data.Data.Data Language.Fixpoint.Types.Constraints.QualParam+ DFunId+df6d07f9885eb5e5b345a33c505d8e73+ $fDataQualPattern ::+ Data.Data.Data Language.Fixpoint.Types.Constraints.QualPattern+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fDataQualifier ::+ Data.Data.Data Language.Fixpoint.Types.Constraints.Qualifier+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fEqAxiomEnv ::+ GHC.Classes.Eq Language.Fixpoint.Types.Constraints.AxiomEnv+ DFunId+1b8c537886bd491bbeaae4b7cdcd5c8f+ $fEqEquation ::+ GHC.Classes.Eq Language.Fixpoint.Types.Constraints.Equation+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fEqGInfo ::+ (GHC.Classes.Eq a, GHC.Classes.Eq (c a)) =>+ GHC.Classes.Eq (Language.Fixpoint.Types.Constraints.GInfo c a)+ DFunId+631d20d0918c14b74d892903e40cbdc3+ $fEqGWInfo ::+ GHC.Classes.Eq Language.Fixpoint.Types.Constraints.GWInfo+ DFunId+35e5222a97ffd1e6ee6c34a5f394f10e+ $fEqHOInfo ::+ GHC.Classes.Eq Language.Fixpoint.Types.Constraints.HOInfo+ DFunId+72e8e948b4d2861f1e29f60f1aa59a0c+ $fEqKuts :: GHC.Classes.Eq Language.Fixpoint.Types.Constraints.Kuts+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fEqQualParam ::+ GHC.Classes.Eq Language.Fixpoint.Types.Constraints.QualParam+ DFunId+df6d07f9885eb5e5b345a33c505d8e73+ $fEqQualPattern ::+ GHC.Classes.Eq Language.Fixpoint.Types.Constraints.QualPattern+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fEqQualifier ::+ GHC.Classes.Eq Language.Fixpoint.Types.Constraints.Qualifier+ DFunId+7df085a191521cbf745e28451770fe1d+ $fEqRewrite ::+ GHC.Classes.Eq Language.Fixpoint.Types.Constraints.Rewrite+ DFunId+1844afeba4cbd3ee9cea173e868f8ce9+ $fEqSubC ::+ GHC.Classes.Eq a =>+ GHC.Classes.Eq (Language.Fixpoint.Types.Constraints.SubC a)+ DFunId+ad7a627c031dc594c719d4e423bdd067+ $fEqWfC ::+ GHC.Classes.Eq a =>+ GHC.Classes.Eq (Language.Fixpoint.Types.Constraints.WfC a)+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fFixpointAxiomEnv ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Constraints.AxiomEnv+ DFunId+61b0b7ff8257b1fbada5dab7fad2bc8b+ $fFixpointDoc ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Text.PrettyPrint.HughesPJ.Doc+ DFunId+1b8c537886bd491bbeaae4b7cdcd5c8f+ $fFixpointEquation ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Constraints.Equation+ DFunId+1844afeba4cbd3ee9cea173e868f8ce9+ $fFixpointFixResult ::+ (GHC.Classes.Ord a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a) =>+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ (Language.Fixpoint.Types.Errors.FixResult+ (Language.Fixpoint.Types.Constraints.SubC a))+ DFunId+72e8e948b4d2861f1e29f60f1aa59a0c+ $fFixpointKuts ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Constraints.Kuts+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fFixpointQualParam ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Constraints.QualParam+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fFixpointQualifier ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Constraints.Qualifier+ DFunId+7df085a191521cbf745e28451770fe1d+ $fFixpointRewrite ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Constraints.Rewrite+ DFunId+03dcffeea2a5199db7c9ff0154825bc0+ $fFixpointSimpC ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ (Language.Fixpoint.Types.Constraints.SimpC a)+ DFunId+1844afeba4cbd3ee9cea173e868f8ce9+ $fFixpointSubC ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ (Language.Fixpoint.Types.Constraints.SubC a)+ DFunId+ad7a627c031dc594c719d4e423bdd067+ $fFixpointWfC ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ (Language.Fixpoint.Types.Constraints.WfC a)+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fFunctorGFixSol ::+ GHC.Base.Functor Language.Fixpoint.Types.Constraints.GFixSol+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fFunctorGInfo ::+ GHC.Base.Functor c =>+ GHC.Base.Functor (Language.Fixpoint.Types.Constraints.GInfo c)+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fFunctorResult ::+ GHC.Base.Functor Language.Fixpoint.Types.Constraints.Result+ DFunId+03dcffeea2a5199db7c9ff0154825bc0+ $fFunctorSimpC ::+ GHC.Base.Functor Language.Fixpoint.Types.Constraints.SimpC+ DFunId+1844afeba4cbd3ee9cea173e868f8ce9+ $fFunctorSubC ::+ GHC.Base.Functor Language.Fixpoint.Types.Constraints.SubC+ DFunId+ad7a627c031dc594c719d4e423bdd067+ $fFunctorWfC ::+ GHC.Base.Functor Language.Fixpoint.Types.Constraints.WfC+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fGenericAxiomEnv ::+ GHC.Generics.Generic Language.Fixpoint.Types.Constraints.AxiomEnv+ DFunId+1b8c537886bd491bbeaae4b7cdcd5c8f+ $fGenericEquation ::+ GHC.Generics.Generic Language.Fixpoint.Types.Constraints.Equation+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fGenericGFixSol ::+ GHC.Generics.Generic+ (Language.Fixpoint.Types.Constraints.GFixSol e)+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fGenericGInfo ::+ GHC.Generics.Generic+ (Language.Fixpoint.Types.Constraints.GInfo c a)+ DFunId+631d20d0918c14b74d892903e40cbdc3+ $fGenericGWInfo ::+ GHC.Generics.Generic Language.Fixpoint.Types.Constraints.GWInfo+ DFunId+35e5222a97ffd1e6ee6c34a5f394f10e+ $fGenericHOInfo ::+ GHC.Generics.Generic Language.Fixpoint.Types.Constraints.HOInfo+ DFunId+72e8e948b4d2861f1e29f60f1aa59a0c+ $fGenericKuts ::+ GHC.Generics.Generic Language.Fixpoint.Types.Constraints.Kuts+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fGenericQualParam ::+ GHC.Generics.Generic Language.Fixpoint.Types.Constraints.QualParam+ DFunId+df6d07f9885eb5e5b345a33c505d8e73+ $fGenericQualPattern ::+ GHC.Generics.Generic+ Language.Fixpoint.Types.Constraints.QualPattern+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fGenericQualifier ::+ GHC.Generics.Generic Language.Fixpoint.Types.Constraints.Qualifier+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fGenericResult ::+ GHC.Generics.Generic (Language.Fixpoint.Types.Constraints.Result a)+ DFunId+7df085a191521cbf745e28451770fe1d+ $fGenericRewrite ::+ GHC.Generics.Generic Language.Fixpoint.Types.Constraints.Rewrite+ DFunId+03dcffeea2a5199db7c9ff0154825bc0+ $fGenericSimpC ::+ GHC.Generics.Generic (Language.Fixpoint.Types.Constraints.SimpC a)+ DFunId+1844afeba4cbd3ee9cea173e868f8ce9+ $fGenericSubC ::+ GHC.Generics.Generic (Language.Fixpoint.Types.Constraints.SubC a)+ DFunId+ad7a627c031dc594c719d4e423bdd067+ $fGenericWfC ::+ GHC.Generics.Generic (Language.Fixpoint.Types.Constraints.WfC a)+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fHasGradualGInfo ::+ Language.Fixpoint.Types.Refinements.HasGradual+ (Language.Fixpoint.Types.Constraints.GInfo c a)+ DFunId+ad7a627c031dc594c719d4e423bdd067+ $fHasGradualWfC ::+ Language.Fixpoint.Types.Refinements.HasGradual+ (Language.Fixpoint.Types.Constraints.WfC a)+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fLocQualifier ::+ Language.Fixpoint.Types.Spans.Loc+ Language.Fixpoint.Types.Constraints.Qualifier+ DFunId+03dcffeea2a5199db7c9ff0154825bc0+ $fLocSimpC ::+ Language.Fixpoint.Types.Spans.Loc a =>+ Language.Fixpoint.Types.Spans.Loc+ (Language.Fixpoint.Types.Constraints.SimpC a)+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fMonoidAxiomEnv ::+ GHC.Base.Monoid Language.Fixpoint.Types.Constraints.AxiomEnv+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fMonoidGFixSol ::+ GHC.Base.Monoid (Language.Fixpoint.Types.Constraints.GFixSol e)+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fMonoidGInfo ::+ GHC.Base.Monoid (Language.Fixpoint.Types.Constraints.GInfo c a)+ DFunId+35e5222a97ffd1e6ee6c34a5f394f10e+ $fMonoidHOInfo ::+ GHC.Base.Monoid Language.Fixpoint.Types.Constraints.HOInfo+ DFunId+72e8e948b4d2861f1e29f60f1aa59a0c+ $fMonoidKuts ::+ GHC.Base.Monoid Language.Fixpoint.Types.Constraints.Kuts+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fMonoidResult ::+ GHC.Base.Monoid (Language.Fixpoint.Types.Constraints.Result a)+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fNFDataAxiomEnv ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Constraints.AxiomEnv+ DFunId+e1572a270c50e4e65d93b73d5f7ca224+ $fNFDataEliminate ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Config.Eliminate+ DFunId+1b8c537886bd491bbeaae4b7cdcd5c8f+ $fNFDataEquation ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Constraints.Equation+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fNFDataGFixSol ::+ Control.DeepSeq.NFData+ Language.Fixpoint.Types.Constraints.GFixSolution+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fNFDataGInfo ::+ (Control.DeepSeq.NFData (c a), Control.DeepSeq.NFData a) =>+ Control.DeepSeq.NFData+ (Language.Fixpoint.Types.Constraints.GInfo c a)+ DFunId+631d20d0918c14b74d892903e40cbdc3+ $fNFDataGWInfo ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Constraints.GWInfo+ DFunId+35e5222a97ffd1e6ee6c34a5f394f10e+ $fNFDataHOInfo ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Constraints.HOInfo+ DFunId+72e8e948b4d2861f1e29f60f1aa59a0c+ $fNFDataKuts ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Constraints.Kuts+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fNFDataQualParam ::+ Control.DeepSeq.NFData+ Language.Fixpoint.Types.Constraints.QualParam+ DFunId+df6d07f9885eb5e5b345a33c505d8e73+ $fNFDataQualPattern ::+ Control.DeepSeq.NFData+ Language.Fixpoint.Types.Constraints.QualPattern+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fNFDataQualifier ::+ Control.DeepSeq.NFData+ Language.Fixpoint.Types.Constraints.Qualifier+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fNFDataResult ::+ Control.DeepSeq.NFData a =>+ Control.DeepSeq.NFData+ (Language.Fixpoint.Types.Constraints.Result a)+ DFunId+7df085a191521cbf745e28451770fe1d+ $fNFDataRewrite ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Constraints.Rewrite+ DFunId+f9cc44a480623cf7ac4bdaa33d158b0b+ $fNFDataSMTSolver ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Config.SMTSolver+ DFunId+03dcffeea2a5199db7c9ff0154825bc0+ $fNFDataSimpC ::+ Control.DeepSeq.NFData a =>+ Control.DeepSeq.NFData+ (Language.Fixpoint.Types.Constraints.SimpC a)+ DFunId+1844afeba4cbd3ee9cea173e868f8ce9+ $fNFDataSubC ::+ Control.DeepSeq.NFData a =>+ Control.DeepSeq.NFData (Language.Fixpoint.Types.Constraints.SubC a)+ DFunId+ad7a627c031dc594c719d4e423bdd067+ $fNFDataWfC ::+ Control.DeepSeq.NFData a =>+ Control.DeepSeq.NFData (Language.Fixpoint.Types.Constraints.WfC a)+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fPPrintAxiomEnv ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Constraints.AxiomEnv+ DFunId+1b8c537886bd491bbeaae4b7cdcd5c8f+ $fPPrintEquation ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Constraints.Equation+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fPPrintGFixSol ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Constraints.GFixSolution+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fPPrintQualParam ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Constraints.QualParam+ DFunId+df6d07f9885eb5e5b345a33c505d8e73+ $fPPrintQualPattern ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Constraints.QualPattern+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fPPrintQualifier ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Constraints.Qualifier+ DFunId+7df085a191521cbf745e28451770fe1d+ $fPPrintRewrite ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Constraints.Rewrite+ DFunId+03dcffeea2a5199db7c9ff0154825bc0+ $fPPrintSimpC ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Language.Fixpoint.Types.Constraints.SimpC a)+ DFunId+1844afeba4cbd3ee9cea173e868f8ce9+ $fPPrintSubC ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Language.Fixpoint.Types.Constraints.SubC a)+ DFunId+ad7a627c031dc594c719d4e423bdd067+ $fPPrintWfC ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Language.Fixpoint.Types.Constraints.WfC a)+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fPTableGInfo ::+ Language.Fixpoint.Types.PrettyPrint.PTable+ (Language.Fixpoint.Types.Constraints.SInfo a)+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fSemigroupAxiomEnv ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Constraints.AxiomEnv+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fSemigroupGFixSol ::+ GHC.Base.Semigroup (Language.Fixpoint.Types.Constraints.GFixSol e)+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fSemigroupGInfo ::+ GHC.Base.Semigroup (Language.Fixpoint.Types.Constraints.GInfo c a)+ DFunId+35e5222a97ffd1e6ee6c34a5f394f10e+ $fSemigroupHOInfo ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Constraints.HOInfo+ DFunId+72e8e948b4d2861f1e29f60f1aa59a0c+ $fSemigroupKuts ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Constraints.Kuts+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fSemigroupResult ::+ GHC.Base.Semigroup (Language.Fixpoint.Types.Constraints.Result a)+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fShowAxiomEnv ::+ GHC.Show.Show Language.Fixpoint.Types.Constraints.AxiomEnv+ DFunId+1b8c537886bd491bbeaae4b7cdcd5c8f+ $fShowEquation ::+ GHC.Show.Show Language.Fixpoint.Types.Constraints.Equation+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fShowGFixSol ::+ GHC.Show.Show Language.Fixpoint.Types.Constraints.GFixSolution+ DFunId+90ef96c47f269969affd7c3639af34f3+ $fShowGInfo ::+ (Language.Fixpoint.Types.PrettyPrint.Fixpoint a, GHC.Show.Show a,+ GHC.Show.Show (c a)) =>+ GHC.Show.Show (Language.Fixpoint.Types.Constraints.GInfo c a)+ DFunId+35e5222a97ffd1e6ee6c34a5f394f10e+ $fShowHOInfo ::+ GHC.Show.Show Language.Fixpoint.Types.Constraints.HOInfo+ DFunId+72e8e948b4d2861f1e29f60f1aa59a0c+ $fShowKuts ::+ GHC.Show.Show Language.Fixpoint.Types.Constraints.Kuts+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fShowQualParam ::+ GHC.Show.Show Language.Fixpoint.Types.Constraints.QualParam+ DFunId+df6d07f9885eb5e5b345a33c505d8e73+ $fShowQualPattern ::+ GHC.Show.Show Language.Fixpoint.Types.Constraints.QualPattern+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fShowQualifier ::+ GHC.Show.Show Language.Fixpoint.Types.Constraints.Qualifier+ DFunId+9b37020b88a84332f42c4a4efcccc0c2+ $fShowResult ::+ GHC.Show.Show a =>+ GHC.Show.Show (Language.Fixpoint.Types.Constraints.Result a)+ DFunId+7df085a191521cbf745e28451770fe1d+ $fShowRewrite ::+ GHC.Show.Show Language.Fixpoint.Types.Constraints.Rewrite+ DFunId+03dcffeea2a5199db7c9ff0154825bc0+ $fShowSimpC ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ GHC.Show.Show (Language.Fixpoint.Types.Constraints.SimpC a)+ DFunId+1844afeba4cbd3ee9cea173e868f8ce9+ $fShowSubC ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ GHC.Show.Show (Language.Fixpoint.Types.Constraints.SubC a)+ DFunId+ad7a627c031dc594c719d4e423bdd067+ $fShowWfC ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ GHC.Show.Show (Language.Fixpoint.Types.Constraints.WfC a)+ DFunId+1b8c537886bd491bbeaae4b7cdcd5c8f+ $fSubableEquation ::+ Language.Fixpoint.Types.Refinements.Subable+ Language.Fixpoint.Types.Constraints.Equation+ DFunId+9aae2bcc537b45559d03a4eee2bb72e5+ $fSubableQualifier ::+ Language.Fixpoint.Types.Refinements.Subable+ Language.Fixpoint.Types.Constraints.Qualifier+ DFunId+ec47f4df806fb3eb50e32a07ab4ee371+ $fTaggedCSimpCa ::+ Language.Fixpoint.Types.Constraints.TaggedC+ Language.Fixpoint.Types.Constraints.SimpC a+ DFunId+ec47f4df806fb3eb50e32a07ab4ee371+ $fTaggedCSubCa ::+ Language.Fixpoint.Types.Constraints.TaggedC+ Language.Fixpoint.Types.Constraints.SubC a+ DFunId+3565b95400f00c3ff6ad555ca3c54d48+ $tc'AEnv :: GHC.Types.TyCon+135e13e690e7b98d837cc37bc7168905+ $tc'C:TaggedC :: GHC.Types.TyCon+379da89668513a99f1d8e7f2ba32d0b4+ $tc'Equ :: GHC.Types.TyCon+cc741582f2e99eaaa1cf1d5493e8238b+ $tc'FI :: GHC.Types.TyCon+f600810e1bbfa0c5da81f6245ef13b34+ $tc'FIO :: GHC.Types.TyCon+04a2deaa8a52eb8ee2ebbb11f6e999ea+ $tc'GSol :: GHC.Types.TyCon+eec30ea9e4492be3c0c7f23b490f325d+ $tc'GWInfo :: GHC.Types.TyCon+884e7e3aa9d379428aed671670c24282+ $tc'GWfC :: GHC.Types.TyCon+b61dcd12a6172d89e5329d6926b13e31+ $tc'HOI :: GHC.Types.TyCon+81af19df64fd1109ca15c0c862712272+ $tc'KS :: GHC.Types.TyCon+70a2c3eb655976214863d791d52687e8+ $tc'PatExact :: GHC.Types.TyCon+905dc4edc68c6d241337f256fcb48256+ $tc'PatNone :: GHC.Types.TyCon+c3a19c5316fd24f589f5a3f2880a2653+ $tc'PatPrefix :: GHC.Types.TyCon+a4fcefcef00b4c2f827bcbc8172afa4d+ $tc'PatSuffix :: GHC.Types.TyCon+6eb2f42b750537fcac392d0b13b51d4a+ $tc'Q :: GHC.Types.TyCon+b1a7dc296b96d9caf564784304bec522+ $tc'QP :: GHC.Types.TyCon+16a613ab8ba889194b2c66df177b94bd+ $tc'Result :: GHC.Types.TyCon+3186623b123681ed29216f677577d3da+ $tc'SMeasure :: GHC.Types.TyCon+c5972669c9102bc548c4a5e7f68e1025+ $tc'SimpC :: GHC.Types.TyCon+33923082bd78a741c71f7a6ba0e93a8d+ $tc'SubC :: GHC.Types.TyCon+14bc7c37413dc30eeb0b642e636d986d+ $tc'WfC :: GHC.Types.TyCon+84708b0d31bed5c130dfe2078ec6eb80+ $tcAxiomEnv :: GHC.Types.TyCon+57d2adda34cdf1392e9637f4a6bc83b2+ $tcEquation :: GHC.Types.TyCon+dbf60614dcf195d13fa2de01020b0613+ $tcFInfoWithOpts :: GHC.Types.TyCon+256b1868806f073cf90963bc3e92b378+ $tcGFixSol :: GHC.Types.TyCon+478e41b3df1f3e85e32292cb86b93e19+ $tcGInfo :: GHC.Types.TyCon+ef5b9c20b3120d7cfcca93a76b1ddfb9+ $tcGWInfo :: GHC.Types.TyCon+314807b7b63940cb2ee3a553356a9df2+ $tcHOInfo :: GHC.Types.TyCon+5c63b77657b0d43f98cf3a9cf60b5142+ $tcKuts :: GHC.Types.TyCon+972f090fde0dbc7b638eed5fa9903ec2+ $tcQualParam :: GHC.Types.TyCon+1b330157a3b9e52d74f1ff05f3ded5a0+ $tcQualPattern :: GHC.Types.TyCon+b2471035cd873e55e921b6ca4c5dd788+ $tcQualifier :: GHC.Types.TyCon+566f8f40f463f11d386472241c27908a+ $tcResult :: GHC.Types.TyCon+d6f47eca876b1ea50966a78a5aa6915e+ $tcRewrite :: GHC.Types.TyCon+e442562f99b14834bceb5df84c08baae+ $tcSimpC :: GHC.Types.TyCon+fa38d931f4d790fefa387f80a0977d39+ $tcSubC :: GHC.Types.TyCon+a3d917692ee4884fe049665875bd73b4+ $tcTaggedC :: GHC.Types.TyCon+2f9d61a466012cb6f22b7cf202cc70c0+ $tcWfC :: GHC.Types.TyCon+954e522ae068ffeb7cfd1f1f68f177a8+ $trModule :: GHC.Types.Module+90ef96c47f269969affd7c3639af34f3+ data AxiomEnv+ = AEnv {aenvEqs :: ![Language.Fixpoint.Types.Constraints.Equation],+ aenvSimpl :: ![Language.Fixpoint.Types.Constraints.Rewrite],+ aenvExpand :: Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Constraints.SubcId GHC.Types.Bool}+9a94738766e4f3045d4af6eaf0d2fc6b+ type BindM =+ Data.HashMap.Base.HashMap+ GHC.Integer.Type.Integer+ Language.Fixpoint.Types.Environments.BindId+1b8c537886bd491bbeaae4b7cdcd5c8f+ data Equation+ = Equ {eqName :: !Language.Fixpoint.Types.Names.Symbol,+ eqArgs :: [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)],+ eqBody :: !Language.Fixpoint.Types.Refinements.Expr,+ eqSort :: !Language.Fixpoint.Types.Sorts.Sort,+ eqRec :: !GHC.Types.Bool}+b6d52641b5c0c13c0e61844e2114eb16+ type FInfo a =+ Language.Fixpoint.Types.Constraints.GInfo+ Language.Fixpoint.Types.Constraints.SubC a+803d2f995b056771c08edfce347cb407+ type role FInfoWithOpts nominal+ data FInfoWithOpts a+ = FIO {fioFI :: Language.Fixpoint.Types.Constraints.FInfo a,+ fioOpts :: [GHC.Base.String]}+e5dd9fe1547120a043f58991c78a60c9+ type FixSolution =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ Language.Fixpoint.Types.Refinements.Expr+9b37020b88a84332f42c4a4efcccc0c2+ newtype GFixSol e+ = GSol (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar (e, [e]))+9b37020b88a84332f42c4a4efcccc0c2+ type GFixSolution =+ Language.Fixpoint.Types.Constraints.GFixSol+ Language.Fixpoint.Types.Refinements.Expr+90ef96c47f269969affd7c3639af34f3+ type role GInfo representational nominal+ data GInfo (c :: * -> *) a+ = FI {cm :: !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Constraints.SubcId (c a)),+ ws :: !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ (Language.Fixpoint.Types.Constraints.WfC a)),+ bs :: !Language.Fixpoint.Types.Environments.BindEnv,+ ebinds :: ![Language.Fixpoint.Types.Environments.BindId],+ gLits :: !(Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort),+ dLits :: !(Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort),+ kuts :: !Language.Fixpoint.Types.Constraints.Kuts,+ quals :: ![Language.Fixpoint.Types.Constraints.Qualifier],+ bindInfo :: !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Environments.BindId a),+ ddecls :: ![Language.Fixpoint.Types.Sorts.DataDecl],+ hoInfo :: !Language.Fixpoint.Types.Constraints.HOInfo,+ asserts :: ![Language.Fixpoint.Types.Triggers.Triggered+ Language.Fixpoint.Types.Refinements.Expr],+ ae :: Language.Fixpoint.Types.Constraints.AxiomEnv}+631d20d0918c14b74d892903e40cbdc3+ data GWInfo+ = GWInfo {gsym :: Language.Fixpoint.Types.Names.Symbol,+ gsort :: Language.Fixpoint.Types.Sorts.Sort,+ gexpr :: Language.Fixpoint.Types.Refinements.Expr,+ ginfo :: Language.Fixpoint.Types.Refinements.GradInfo}+35e5222a97ffd1e6ee6c34a5f394f10e+ data HOInfo+ = HOI {hoBinds :: GHC.Types.Bool, hoQuals :: GHC.Types.Bool}+72e8e948b4d2861f1e29f60f1aa59a0c+ newtype Kuts+ = KS {ksVars :: Data.HashSet.HashSet+ Language.Fixpoint.Types.Refinements.KVar}+9aae2bcc537b45559d03a4eee2bb72e5+ data QualParam+ = QP {qpSym :: !Language.Fixpoint.Types.Names.Symbol,+ qpPat :: !Language.Fixpoint.Types.Constraints.QualPattern,+ qpSort :: !Language.Fixpoint.Types.Sorts.Sort}+df6d07f9885eb5e5b345a33c505d8e73+ data QualPattern+ = PatNone+ | PatPrefix !Language.Fixpoint.Types.Names.Symbol !GHC.Types.Int+ | PatSuffix !GHC.Types.Int !Language.Fixpoint.Types.Names.Symbol+ | PatExact !Language.Fixpoint.Types.Names.Symbol+9aae2bcc537b45559d03a4eee2bb72e5+ data Qualifier+ = Q {qName :: !Language.Fixpoint.Types.Names.Symbol,+ qParams :: [Language.Fixpoint.Types.Constraints.QualParam],+ qBody :: !Language.Fixpoint.Types.Refinements.Expr,+ qPos :: !Text.Parsec.Pos.SourcePos}+90ef96c47f269969affd7c3639af34f3+ axiom Language.Fixpoint.Types.Constraints.Rep_AxiomEnv::+ GHC.Generics.Rep Language.Fixpoint.Types.Constraints.AxiomEnv+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "AxiomEnv"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "AEnv" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "aenvEqs")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 [Language.Fixpoint.Types.Constraints.Equation])+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "aenvSimpl")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [Language.Fixpoint.Types.Constraints.Rewrite])+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "aenvExpand")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Constraints.SubcId+ GHC.Types.Bool)))))+1b8c537886bd491bbeaae4b7cdcd5c8f+ axiom Language.Fixpoint.Types.Constraints.Rep_Equation::+ GHC.Generics.Rep Language.Fixpoint.Types.Constraints.Equation+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Equation"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Equ" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "eqName")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "eqArgs")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "eqBody")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "eqSort")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "eqRec")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ GHC.Types.Bool)))))+9b37020b88a84332f42c4a4efcccc0c2+ axiom Language.Fixpoint.Types.Constraints.Rep_GFixSol::+ GHC.Generics.Rep (Language.Fixpoint.Types.Constraints.GFixSol e)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "GFixSol"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.True)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "GSol" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar (e, [e])))))+90ef96c47f269969affd7c3639af34f3+ axiom Language.Fixpoint.Types.Constraints.Rep_GInfo::+ GHC.Generics.Rep (Language.Fixpoint.Types.Constraints.GInfo c a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "GInfo"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons "FI" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "cm")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Constraints.SubcId (c a)))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "ws")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ (Language.Fixpoint.Types.Constraints.WfC a)))+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "bs")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Environments.BindEnv)))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "ebinds")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [Language.Fixpoint.Types.Environments.BindId])+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "gLits")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort))+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "dLits")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort)))))+ GHC.Generics.:*: ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "kuts")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Constraints.Kuts)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "quals")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [Language.Fixpoint.Types.Constraints.Qualifier])+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "bindInfo")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Environments.BindId+ a))))+ GHC.Generics.:*: ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "ddecls")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [Language.Fixpoint.Types.Sorts.DataDecl])+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "hoInfo")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Constraints.HOInfo))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "asserts")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [Language.Fixpoint.Types.Triggers.Triggered+ Language.Fixpoint.Types.Refinements.Expr])+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "ae")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Constraints.AxiomEnv))))))+631d20d0918c14b74d892903e40cbdc3+ axiom Language.Fixpoint.Types.Constraints.Rep_GWInfo::+ GHC.Generics.Rep Language.Fixpoint.Types.Constraints.GWInfo+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "GWInfo"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "GWInfo" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "gsym")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "gsort")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Sorts.Sort))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "gexpr")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "ginfo")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.GradInfo))))+35e5222a97ffd1e6ee6c34a5f394f10e+ axiom Language.Fixpoint.Types.Constraints.Rep_HOInfo::+ GHC.Generics.Rep Language.Fixpoint.Types.Constraints.HOInfo+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "HOInfo"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "HOI" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "hoBinds")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "hoQuals")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool)))+72e8e948b4d2861f1e29f60f1aa59a0c+ axiom Language.Fixpoint.Types.Constraints.Rep_Kuts::+ GHC.Generics.Rep Language.Fixpoint.Types.Constraints.Kuts+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Kuts"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.True)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons "KS" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "ksVars")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (Data.HashSet.HashSet Language.Fixpoint.Types.Refinements.KVar))))+9aae2bcc537b45559d03a4eee2bb72e5+ axiom Language.Fixpoint.Types.Constraints.Rep_QualParam::+ GHC.Generics.Rep Language.Fixpoint.Types.Constraints.QualParam+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "QualParam"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons "QP" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "qpSym")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "qpPat")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Constraints.QualPattern)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "qpSort")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort))))+df6d07f9885eb5e5b345a33c505d8e73+ axiom Language.Fixpoint.Types.Constraints.Rep_QualPattern::+ GHC.Generics.Rep Language.Fixpoint.Types.Constraints.QualPattern+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "QualPattern"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PatNone" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PatPrefix" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int)))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PatSuffix" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Names.Symbol))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PatExact"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Names.Symbol))))+9aae2bcc537b45559d03a4eee2bb72e5+ axiom Language.Fixpoint.Types.Constraints.Rep_Qualifier::+ GHC.Generics.Rep Language.Fixpoint.Types.Constraints.Qualifier+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Qualifier"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons "Q" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "qName")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "qParams")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ [Language.Fixpoint.Types.Constraints.QualParam]))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "qBody")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "qPos")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Text.Parsec.Pos.SourcePos))))+9b37020b88a84332f42c4a4efcccc0c2+ axiom Language.Fixpoint.Types.Constraints.Rep_Result::+ GHC.Generics.Rep (Language.Fixpoint.Types.Constraints.Result a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Result"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Result" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "resStatus")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 (Language.Fixpoint.Types.Errors.FixResult a))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "resSolution")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Constraints.FixSolution)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "gresSolution")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Constraints.GFixSolution))))+7df085a191521cbf745e28451770fe1d+ axiom Language.Fixpoint.Types.Constraints.Rep_Rewrite::+ GHC.Generics.Rep Language.Fixpoint.Types.Constraints.Rewrite+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Rewrite"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SMeasure" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "smName")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "smDC")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "smArgs")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 [Language.Fixpoint.Types.Names.Symbol])+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "smBody")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr))))+03dcffeea2a5199db7c9ff0154825bc0+ axiom Language.Fixpoint.Types.Constraints.Rep_SimpC::+ GHC.Generics.Rep (Language.Fixpoint.Types.Constraints.SimpC a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "SimpC"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SimpC" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "_cenv")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Environments.IBindEnv)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "_crhs")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "_cid")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (GHC.Maybe.Maybe+ GHC.Integer.Type.Integer))))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "cbind")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Environments.BindId)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "_ctag")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Constraints.Tag)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "_cinfo")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 a)))))+1844afeba4cbd3ee9cea173e868f8ce9+ axiom Language.Fixpoint.Types.Constraints.Rep_SubC::+ GHC.Generics.Rep (Language.Fixpoint.Types.Constraints.SubC a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "SubC"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SubC" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "_senv")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Environments.IBindEnv)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "slhs")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.SortedReft)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "srhs")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.SortedReft)))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "_sid")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (GHC.Maybe.Maybe Language.Fixpoint.Types.Constraints.SubcId))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "_stag")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Constraints.Tag)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "_sinfo")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 a)))))+ad7a627c031dc594c719d4e423bdd067+ axiom Language.Fixpoint.Types.Constraints.Rep_WfC::+ GHC.Generics.Rep (Language.Fixpoint.Types.Constraints.WfC a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "WfC"+ "Language.Fixpoint.Types.Constraints"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "WfC" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "wenv")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Environments.IBindEnv)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "wrft")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort,+ Language.Fixpoint.Types.Refinements.KVar))+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "winfo")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 a)))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "GWfC" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "wenv")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Environments.IBindEnv)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "wrft")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort,+ Language.Fixpoint.Types.Refinements.KVar)))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "winfo")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 a)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "wexpr")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "wloc")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.GradInfo)))))+9b37020b88a84332f42c4a4efcccc0c2+ data Result a+ = Result {resStatus :: !(Language.Fixpoint.Types.Errors.FixResult+ a),+ resSolution :: !Language.Fixpoint.Types.Constraints.FixSolution,+ gresSolution :: !Language.Fixpoint.Types.Constraints.GFixSolution}+7df085a191521cbf745e28451770fe1d+ data Rewrite+ = SMeasure {smName :: Language.Fixpoint.Types.Names.Symbol,+ smDC :: Language.Fixpoint.Types.Names.Symbol,+ smArgs :: [Language.Fixpoint.Types.Names.Symbol],+ smBody :: Language.Fixpoint.Types.Refinements.Expr}+90ef96c47f269969affd7c3639af34f3+ type SInfo a =+ Language.Fixpoint.Types.Constraints.GInfo+ Language.Fixpoint.Types.Constraints.SimpC a+03dcffeea2a5199db7c9ff0154825bc0+ data SimpC a+ = SimpC {_cenv :: !Language.Fixpoint.Types.Environments.IBindEnv,+ _crhs :: !Language.Fixpoint.Types.Refinements.Expr,+ _cid :: !(GHC.Maybe.Maybe GHC.Integer.Type.Integer),+ cbind :: !Language.Fixpoint.Types.Environments.BindId,+ _ctag :: !Language.Fixpoint.Types.Constraints.Tag,+ _cinfo :: !a}+5f11195f89eea9e971cb52093960dc22+ type Solver a =+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.FInfo a+ -> GHC.Types.IO+ (Language.Fixpoint.Types.Constraints.Result+ (GHC.Integer.Type.Integer, a))+1844afeba4cbd3ee9cea173e868f8ce9+ data SubC a+ = SubC {_senv :: !Language.Fixpoint.Types.Environments.IBindEnv,+ slhs :: !Language.Fixpoint.Types.Refinements.SortedReft,+ srhs :: !Language.Fixpoint.Types.Refinements.SortedReft,+ _sid :: !(GHC.Maybe.Maybe+ Language.Fixpoint.Types.Constraints.SubcId),+ _stag :: !Language.Fixpoint.Types.Constraints.Tag,+ _sinfo :: !a}+311c8f398e2d0f5e23e664bacb45f905+ type SubcId = GHC.Integer.Type.Integer+f16c6ce3b8b49003401603dfb3b1715f+ type Tag = [GHC.Types.Int]+ec47f4df806fb3eb50e32a07ab4ee371+ class TaggedC (c :: * -> *) a where+ senv :: c a -> Language.Fixpoint.Types.Environments.IBindEnv+ sid :: c a -> GHC.Maybe.Maybe GHC.Integer.Type.Integer+ stag :: c a -> Language.Fixpoint.Types.Constraints.Tag+ sinfo :: c a -> a+ clhs :: Language.Fixpoint.Types.Environments.BindEnv+ -> c a+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft)]+ crhs :: c a -> Language.Fixpoint.Types.Refinements.Expr+ {-# MINIMAL senv, sid, stag, sinfo, clhs, crhs #-}+ad7a627c031dc594c719d4e423bdd067+ data WfC a+ = WfC {wenv :: !Language.Fixpoint.Types.Environments.IBindEnv,+ wrft :: (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort,+ Language.Fixpoint.Types.Refinements.KVar),+ winfo :: !a}+ | GWfC {wenv :: !Language.Fixpoint.Types.Environments.IBindEnv,+ wrft :: !(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort,+ Language.Fixpoint.Types.Refinements.KVar),+ winfo :: !a,+ wexpr :: !Language.Fixpoint.Types.Refinements.Expr,+ wloc :: !Language.Fixpoint.Types.Refinements.GradInfo}+03dcffeea2a5199db7c9ff0154825bc0+ _cenv ::+ Language.Fixpoint.Types.Constraints.SimpC a+ -> Language.Fixpoint.Types.Environments.IBindEnv+ RecSel Left Language.Fixpoint.Types.Constraints.SimpC+03dcffeea2a5199db7c9ff0154825bc0+ _cid ::+ Language.Fixpoint.Types.Constraints.SimpC a+ -> GHC.Maybe.Maybe GHC.Integer.Type.Integer+ RecSel Left Language.Fixpoint.Types.Constraints.SimpC+03dcffeea2a5199db7c9ff0154825bc0+ _cinfo :: Language.Fixpoint.Types.Constraints.SimpC a -> a+ RecSel Left Language.Fixpoint.Types.Constraints.SimpC+03dcffeea2a5199db7c9ff0154825bc0+ _crhs ::+ Language.Fixpoint.Types.Constraints.SimpC a+ -> Language.Fixpoint.Types.Refinements.Expr+ RecSel Left Language.Fixpoint.Types.Constraints.SimpC+03dcffeea2a5199db7c9ff0154825bc0+ _ctag ::+ Language.Fixpoint.Types.Constraints.SimpC a+ -> Language.Fixpoint.Types.Constraints.Tag+ RecSel Left Language.Fixpoint.Types.Constraints.SimpC+1844afeba4cbd3ee9cea173e868f8ce9+ _senv ::+ Language.Fixpoint.Types.Constraints.SubC a+ -> Language.Fixpoint.Types.Environments.IBindEnv+ RecSel Left Language.Fixpoint.Types.Constraints.SubC+1844afeba4cbd3ee9cea173e868f8ce9+ _sid ::+ Language.Fixpoint.Types.Constraints.SubC a+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Constraints.SubcId+ RecSel Left Language.Fixpoint.Types.Constraints.SubC+1844afeba4cbd3ee9cea173e868f8ce9+ _sinfo :: Language.Fixpoint.Types.Constraints.SubC a -> a+ RecSel Left Language.Fixpoint.Types.Constraints.SubC+1844afeba4cbd3ee9cea173e868f8ce9+ _stag ::+ Language.Fixpoint.Types.Constraints.SubC a+ -> Language.Fixpoint.Types.Constraints.Tag+ RecSel Left Language.Fixpoint.Types.Constraints.SubC+62d05512a99170596b84c3003b251911+ addIds ::+ [Language.Fixpoint.Types.Constraints.SubC a]+ -> [(GHC.Integer.Type.Integer,+ Language.Fixpoint.Types.Constraints.SubC a)]+90ef96c47f269969affd7c3639af34f3+ ae ::+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> Language.Fixpoint.Types.Constraints.AxiomEnv+ RecSel Left Language.Fixpoint.Types.Constraints.GInfo+90ef96c47f269969affd7c3639af34f3+ aenvEqs ::+ Language.Fixpoint.Types.Constraints.AxiomEnv+ -> [Language.Fixpoint.Types.Constraints.Equation]+ RecSel Left Language.Fixpoint.Types.Constraints.AxiomEnv+90ef96c47f269969affd7c3639af34f3+ aenvExpand ::+ Language.Fixpoint.Types.Constraints.AxiomEnv+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Constraints.SubcId GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Constraints.AxiomEnv+90ef96c47f269969affd7c3639af34f3+ aenvSimpl ::+ Language.Fixpoint.Types.Constraints.AxiomEnv+ -> [Language.Fixpoint.Types.Constraints.Rewrite]+ RecSel Left Language.Fixpoint.Types.Constraints.AxiomEnv+20bbed3ef73b2cf2a9faa3daff6a73ff+ allowHO ::+ Language.Fixpoint.Types.Constraints.GInfo c a -> GHC.Types.Bool+2d72f2746bc8b5decaea3d152b78ce26+ allowHOquals ::+ Language.Fixpoint.Types.Constraints.GInfo c a -> GHC.Types.Bool+90ef96c47f269969affd7c3639af34f3+ asserts ::+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> [Language.Fixpoint.Types.Triggers.Triggered+ Language.Fixpoint.Types.Refinements.Expr]+ RecSel Left Language.Fixpoint.Types.Constraints.GInfo+90ef96c47f269969affd7c3639af34f3+ bindInfo ::+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Environments.BindId a+ RecSel Left Language.Fixpoint.Types.Constraints.GInfo+90ef96c47f269969affd7c3639af34f3+ bs ::+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> Language.Fixpoint.Types.Environments.BindEnv+ RecSel Left Language.Fixpoint.Types.Constraints.GInfo+03dcffeea2a5199db7c9ff0154825bc0+ cbind ::+ Language.Fixpoint.Types.Constraints.SimpC a+ -> Language.Fixpoint.Types.Environments.BindId+ RecSel Left Language.Fixpoint.Types.Constraints.SimpC+90ef96c47f269969affd7c3639af34f3+ cm ::+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Constraints.SubcId (c a)+ RecSel Left Language.Fixpoint.Types.Constraints.GInfo+17fb29836fb34a6bfc26bbf23b2473ba+ convertFormat ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.Constraints.FInfo a+ -> Language.Fixpoint.Types.Constraints.SInfo a+90ef96c47f269969affd7c3639af34f3+ dLits ::+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Types.Constraints.GInfo+90ef96c47f269969affd7c3639af34f3+ ddecls ::+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> [Language.Fixpoint.Types.Sorts.DataDecl]+ RecSel Left Language.Fixpoint.Types.Constraints.GInfo+90ef96c47f269969affd7c3639af34f3+ ebinds ::+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> [Language.Fixpoint.Types.Environments.BindId]+ RecSel Left Language.Fixpoint.Types.Constraints.GInfo+1b8c537886bd491bbeaae4b7cdcd5c8f+ eqArgs ::+ Language.Fixpoint.Types.Constraints.Equation+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ RecSel Left Language.Fixpoint.Types.Constraints.Equation+1b8c537886bd491bbeaae4b7cdcd5c8f+ eqBody ::+ Language.Fixpoint.Types.Constraints.Equation+ -> Language.Fixpoint.Types.Refinements.Expr+ RecSel Left Language.Fixpoint.Types.Constraints.Equation+1b8c537886bd491bbeaae4b7cdcd5c8f+ eqName ::+ Language.Fixpoint.Types.Constraints.Equation+ -> Language.Fixpoint.Types.Names.Symbol+ RecSel Left Language.Fixpoint.Types.Constraints.Equation+1b8c537886bd491bbeaae4b7cdcd5c8f+ eqRec ::+ Language.Fixpoint.Types.Constraints.Equation -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Constraints.Equation+1b8c537886bd491bbeaae4b7cdcd5c8f+ eqSort ::+ Language.Fixpoint.Types.Constraints.Equation+ -> Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Types.Constraints.Equation+2401cbe179107126641e758f8df44fd5+ fi ::+ [Language.Fixpoint.Types.Constraints.SubC a]+ -> [Language.Fixpoint.Types.Constraints.WfC a]+ -> Language.Fixpoint.Types.Environments.BindEnv+ -> 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+ -> GHC.Types.Bool+ -> GHC.Types.Bool+ -> [Language.Fixpoint.Types.Triggers.Triggered+ Language.Fixpoint.Types.Refinements.Expr]+ -> Language.Fixpoint.Types.Constraints.AxiomEnv+ -> [Language.Fixpoint.Types.Sorts.DataDecl]+ -> [Language.Fixpoint.Types.Environments.BindId]+ -> Language.Fixpoint.Types.Constraints.GInfo+ Language.Fixpoint.Types.Constraints.SubC a+803d2f995b056771c08edfce347cb407+ fioFI ::+ Language.Fixpoint.Types.Constraints.FInfoWithOpts a+ -> Language.Fixpoint.Types.Constraints.FInfo a+ RecSel Left Language.Fixpoint.Types.Constraints.FInfoWithOpts+803d2f995b056771c08edfce347cb407+ fioOpts ::+ Language.Fixpoint.Types.Constraints.FInfoWithOpts a+ -> [GHC.Base.String]+ RecSel Left Language.Fixpoint.Types.Constraints.FInfoWithOpts+90ef96c47f269969affd7c3639af34f3+ gLits ::+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Types.Constraints.GInfo+631d20d0918c14b74d892903e40cbdc3+ gexpr ::+ Language.Fixpoint.Types.Constraints.GWInfo+ -> Language.Fixpoint.Types.Refinements.Expr+ RecSel Left Language.Fixpoint.Types.Constraints.GWInfo+631d20d0918c14b74d892903e40cbdc3+ ginfo ::+ Language.Fixpoint.Types.Constraints.GWInfo+ -> Language.Fixpoint.Types.Refinements.GradInfo+ RecSel Left Language.Fixpoint.Types.Constraints.GWInfo+9b37020b88a84332f42c4a4efcccc0c2+ gresSolution ::+ Language.Fixpoint.Types.Constraints.Result a+ -> Language.Fixpoint.Types.Constraints.GFixSolution+ RecSel Left Language.Fixpoint.Types.Constraints.Result+631d20d0918c14b74d892903e40cbdc3+ gsort ::+ Language.Fixpoint.Types.Constraints.GWInfo+ -> Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Types.Constraints.GWInfo+631d20d0918c14b74d892903e40cbdc3+ gsym ::+ Language.Fixpoint.Types.Constraints.GWInfo+ -> Language.Fixpoint.Types.Names.Symbol+ RecSel Left Language.Fixpoint.Types.Constraints.GWInfo+cd5a5785696346008a88134a28c438d0+ gwInfo ::+ Language.Fixpoint.Types.Constraints.WfC a+ -> Language.Fixpoint.Types.Constraints.GWInfo+35e5222a97ffd1e6ee6c34a5f394f10e+ hoBinds ::+ Language.Fixpoint.Types.Constraints.HOInfo -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Constraints.HOInfo+90ef96c47f269969affd7c3639af34f3+ hoInfo ::+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> Language.Fixpoint.Types.Constraints.HOInfo+ RecSel Left Language.Fixpoint.Types.Constraints.GInfo+35e5222a97ffd1e6ee6c34a5f394f10e+ hoQuals ::+ Language.Fixpoint.Types.Constraints.HOInfo -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Constraints.HOInfo+4c70cb60ff73f441d356b3d67861f82f+ isGWfc ::+ Language.Fixpoint.Types.Constraints.WfC a -> GHC.Types.Bool+ccdd8b8057f79a12e91c390f27a8ab7c+ isSafe ::+ Language.Fixpoint.Types.Constraints.Result a -> GHC.Types.Bool+ff11f843cd1e00bb3a3dac8399ffa7a0+ isUnsafe ::+ Language.Fixpoint.Types.Constraints.Result a -> GHC.Types.Bool+202c76f7c51615b606e4a1028b152172+ ksMember ::+ Language.Fixpoint.Types.Refinements.KVar+ -> Language.Fixpoint.Types.Constraints.Kuts -> GHC.Types.Bool+72e8e948b4d2861f1e29f60f1aa59a0c+ ksVars ::+ Language.Fixpoint.Types.Constraints.Kuts+ -> Data.HashSet.HashSet Language.Fixpoint.Types.Refinements.KVar+ RecSel Left Language.Fixpoint.Types.Constraints.Kuts+90ef96c47f269969affd7c3639af34f3+ kuts ::+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> Language.Fixpoint.Types.Constraints.Kuts+ RecSel Left Language.Fixpoint.Types.Constraints.GInfo+f843a9ff66a208bb19d63b610e733ce1+ mkEquation ::+ Language.Fixpoint.Types.Names.Symbol+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Constraints.Equation+efbd7d0eadf5b297611bd0cc8257edde+ mkQ ::+ Language.Fixpoint.Types.Names.Symbol+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Text.Parsec.Pos.SourcePos+ -> Language.Fixpoint.Types.Constraints.Qualifier+76509e579d10d7c92e5c9239d180adff+ mkQual ::+ Language.Fixpoint.Types.Names.Symbol+ -> [Language.Fixpoint.Types.Constraints.QualParam]+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Text.Parsec.Pos.SourcePos+ -> Language.Fixpoint.Types.Constraints.Qualifier+0bcd3df5f343e78bbd601b9e4b14cce4+ mkSubC ::+ Language.Fixpoint.Types.Environments.IBindEnv+ -> Language.Fixpoint.Types.Refinements.SortedReft+ -> Language.Fixpoint.Types.Refinements.SortedReft+ -> GHC.Maybe.Maybe GHC.Integer.Type.Integer+ -> Language.Fixpoint.Types.Constraints.Tag+ -> a+ -> Language.Fixpoint.Types.Constraints.SubC a+9aae2bcc537b45559d03a4eee2bb72e5+ qBody ::+ Language.Fixpoint.Types.Constraints.Qualifier+ -> Language.Fixpoint.Types.Refinements.Expr+ RecSel Left Language.Fixpoint.Types.Constraints.Qualifier+9aae2bcc537b45559d03a4eee2bb72e5+ qName ::+ Language.Fixpoint.Types.Constraints.Qualifier+ -> Language.Fixpoint.Types.Names.Symbol+ RecSel Left Language.Fixpoint.Types.Constraints.Qualifier+9aae2bcc537b45559d03a4eee2bb72e5+ qParams ::+ Language.Fixpoint.Types.Constraints.Qualifier+ -> [Language.Fixpoint.Types.Constraints.QualParam]+ RecSel Left Language.Fixpoint.Types.Constraints.Qualifier+9aae2bcc537b45559d03a4eee2bb72e5+ qPos ::+ Language.Fixpoint.Types.Constraints.Qualifier+ -> Text.Parsec.Pos.SourcePos+ RecSel Left Language.Fixpoint.Types.Constraints.Qualifier+9aae2bcc537b45559d03a4eee2bb72e5+ qpPat ::+ Language.Fixpoint.Types.Constraints.QualParam+ -> Language.Fixpoint.Types.Constraints.QualPattern+ RecSel Left Language.Fixpoint.Types.Constraints.QualParam+9aae2bcc537b45559d03a4eee2bb72e5+ qpSort ::+ Language.Fixpoint.Types.Constraints.QualParam+ -> Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Types.Constraints.QualParam+9aae2bcc537b45559d03a4eee2bb72e5+ qpSym ::+ Language.Fixpoint.Types.Constraints.QualParam+ -> Language.Fixpoint.Types.Names.Symbol+ RecSel Left Language.Fixpoint.Types.Constraints.QualParam+dd19e45e9d3c580c4087b253575a5a4a+ qualBinds ::+ Language.Fixpoint.Types.Constraints.Qualifier+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+70f0d4635f8d06c05930ada227ca9157+ qualifier ::+ Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort+ -> Text.Parsec.Pos.SourcePos+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Constraints.Qualifier+90ef96c47f269969affd7c3639af34f3+ quals ::+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> [Language.Fixpoint.Types.Constraints.Qualifier]+ RecSel Left Language.Fixpoint.Types.Constraints.GInfo+0a2689fea078c5e91430e58870107f9d+ remakeQual ::+ Language.Fixpoint.Types.Constraints.Qualifier+ -> Language.Fixpoint.Types.Constraints.Qualifier+9b37020b88a84332f42c4a4efcccc0c2+ resSolution ::+ Language.Fixpoint.Types.Constraints.Result a+ -> Language.Fixpoint.Types.Constraints.FixSolution+ RecSel Left Language.Fixpoint.Types.Constraints.Result+9b37020b88a84332f42c4a4efcccc0c2+ resStatus ::+ Language.Fixpoint.Types.Constraints.Result a+ -> Language.Fixpoint.Types.Errors.FixResult a+ RecSel Left Language.Fixpoint.Types.Constraints.Result+8708f195573f805e8e51c784cd77feb0+ safe :: Language.Fixpoint.Types.Constraints.Result a+547dfa1885614d5beeb6bfd5ba6a1b3c+ saveQuery ::+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.FInfo a -> GHC.Types.IO ()+a2bd6e47a864c35c7bece612a62b906d+ shiftVV ::+ Language.Fixpoint.Types.Refinements.Reft+ -> Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Refinements.Reft+1844afeba4cbd3ee9cea173e868f8ce9+ slhs ::+ Language.Fixpoint.Types.Constraints.SubC a+ -> Language.Fixpoint.Types.Refinements.SortedReft+ RecSel Left Language.Fixpoint.Types.Constraints.SubC+7df085a191521cbf745e28451770fe1d+ smArgs ::+ Language.Fixpoint.Types.Constraints.Rewrite+ -> [Language.Fixpoint.Types.Names.Symbol]+ RecSel Left Language.Fixpoint.Types.Constraints.Rewrite+7df085a191521cbf745e28451770fe1d+ smBody ::+ Language.Fixpoint.Types.Constraints.Rewrite+ -> Language.Fixpoint.Types.Refinements.Expr+ RecSel Left Language.Fixpoint.Types.Constraints.Rewrite+7df085a191521cbf745e28451770fe1d+ smDC ::+ Language.Fixpoint.Types.Constraints.Rewrite+ -> Language.Fixpoint.Types.Names.Symbol+ RecSel Left Language.Fixpoint.Types.Constraints.Rewrite+7df085a191521cbf745e28451770fe1d+ smName ::+ Language.Fixpoint.Types.Constraints.Rewrite+ -> Language.Fixpoint.Types.Names.Symbol+ RecSel Left Language.Fixpoint.Types.Constraints.Rewrite+633dc1da46eaa5826ede6f6f659f13e1+ sortVars ::+ Language.Fixpoint.Types.Sorts.Sort+ -> [Language.Fixpoint.Types.Names.Symbol]+1844afeba4cbd3ee9cea173e868f8ce9+ srhs ::+ Language.Fixpoint.Types.Constraints.SubC a+ -> Language.Fixpoint.Types.Refinements.SortedReft+ RecSel Left Language.Fixpoint.Types.Constraints.SubC+7d88841d1096029087978ca79f8f8ef6+ strengthenBinds ::+ Language.Fixpoint.Types.Constraints.SInfo a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Environments.BindId+ Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Constraints.SInfo a+0d5d03ecb6ae6fe41d380cdc64c926c9+ strengthenHyp ::+ Language.Fixpoint.Types.Constraints.SInfo a+ -> [(GHC.Integer.Type.Integer,+ Language.Fixpoint.Types.Refinements.Expr)]+ -> Language.Fixpoint.Types.Constraints.SInfo a+cec25e5a5c6c9453c38e61bb34dd080a+ subC ::+ Language.Fixpoint.Types.Environments.IBindEnv+ -> Language.Fixpoint.Types.Refinements.SortedReft+ -> Language.Fixpoint.Types.Refinements.SortedReft+ -> GHC.Maybe.Maybe GHC.Integer.Type.Integer+ -> Language.Fixpoint.Types.Constraints.Tag+ -> a+ -> [Language.Fixpoint.Types.Constraints.SubC a]+c5ad3aad4a42726885659f4c083c4240+ subcId ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ c a -> Language.Fixpoint.Types.Constraints.SubcId+850256093ef1622ae6393d93f89f454f+ substVars ::+ [(Language.Fixpoint.Types.Names.Symbol, GHC.Types.Int)]+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+45b39b5a071a079c10972832dc83941b+ toFixpoint ::+ (Language.Fixpoint.Types.PrettyPrint.Fixpoint a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint (c a)) =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.GInfo c a+ -> Text.PrettyPrint.HughesPJ.Doc+976000ad57b990ff51f0a4597ed94f4a+ toGFixSol ::+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar (e, [e])+ -> Language.Fixpoint.Types.Constraints.GFixSol e+c00d3264555ff3492a3a00cdc2648ad4+ trueQual :: Language.Fixpoint.Types.Constraints.Qualifier+f55e24a597d67533b5c703fddb5b7df0+ unsafe :: Language.Fixpoint.Types.Constraints.Result a+2b19bcee88d4e71467659782fa496dd2+ updateWfCExpr ::+ (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr)+ -> Language.Fixpoint.Types.Constraints.WfC a+ -> Language.Fixpoint.Types.Constraints.WfC a+ad7a627c031dc594c719d4e423bdd067+ wenv ::+ Language.Fixpoint.Types.Constraints.WfC a+ -> Language.Fixpoint.Types.Environments.IBindEnv+ RecSel Left Language.Fixpoint.Types.Constraints.WfC+ad7a627c031dc594c719d4e423bdd067+ wexpr ::+ Language.Fixpoint.Types.Constraints.WfC a+ -> Language.Fixpoint.Types.Refinements.Expr+ RecSel Left Language.Fixpoint.Types.Constraints.WfC+a9cd82721163b0b120fb316155322fb0+ wfC ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.Environments.IBindEnv+ -> Language.Fixpoint.Types.Refinements.SortedReft+ -> a+ -> [Language.Fixpoint.Types.Constraints.WfC a]+ad7a627c031dc594c719d4e423bdd067+ winfo :: Language.Fixpoint.Types.Constraints.WfC a -> a+ RecSel Left Language.Fixpoint.Types.Constraints.WfC+ad7a627c031dc594c719d4e423bdd067+ wloc ::+ Language.Fixpoint.Types.Constraints.WfC a+ -> Language.Fixpoint.Types.Refinements.GradInfo+ RecSel Left Language.Fixpoint.Types.Constraints.WfC+ad7a627c031dc594c719d4e423bdd067+ wrft ::+ Language.Fixpoint.Types.Constraints.WfC a+ -> (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort,+ Language.Fixpoint.Types.Refinements.KVar)+ RecSel Left Language.Fixpoint.Types.Constraints.WfC+ebc5583e57453ee643889abce46ece2a+ writeFInfo ::+ (Language.Fixpoint.Types.PrettyPrint.Fixpoint a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint (c a)) =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.GInfo c a+ -> GHC.IO.FilePath+ -> GHC.Types.IO ()+90ef96c47f269969affd7c3639af34f3+ ws ::+ Language.Fixpoint.Types.Constraints.GInfo c a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ (Language.Fixpoint.Types.Constraints.WfC a)+ RecSel Left Language.Fixpoint.Types.Constraints.GInfo+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.AxiomEnv]+ = Language.Fixpoint.Types.Constraints.$fBinaryAxiomEnv+instance [orphan] Data.Binary.Class.Binary [Language.Fixpoint.Types.Config.Eliminate]+ = Language.Fixpoint.Types.Constraints.$fBinaryEliminate+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.Equation]+ = Language.Fixpoint.Types.Constraints.$fBinaryEquation+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.GFixSol]+ = Language.Fixpoint.Types.Constraints.$fBinaryGFixSol+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Constraints.$fBinaryGInfo+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.GWInfo]+ = Language.Fixpoint.Types.Constraints.$fBinaryGWInfo+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.HOInfo]+ = Language.Fixpoint.Types.Constraints.$fBinaryHOInfo+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.Kuts]+ = Language.Fixpoint.Types.Constraints.$fBinaryKuts+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.QualParam]+ = Language.Fixpoint.Types.Constraints.$fBinaryQualParam+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.QualPattern]+ = Language.Fixpoint.Types.Constraints.$fBinaryQualPattern+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.Qualifier]+ = Language.Fixpoint.Types.Constraints.$fBinaryQualifier+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.Rewrite]+ = Language.Fixpoint.Types.Constraints.$fBinaryRewrite+instance [orphan] Data.Binary.Class.Binary [Language.Fixpoint.Types.Config.SMTSolver]+ = Language.Fixpoint.Types.Constraints.$fBinarySMTSolver+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Types.Constraints.$fBinarySimpC+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.SubC]+ = Language.Fixpoint.Types.Constraints.$fBinarySubC+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Constraints.WfC]+ = Language.Fixpoint.Types.Constraints.$fBinaryWfC+instance Data.Data.Data [Language.Fixpoint.Types.Constraints.QualParam]+ = Language.Fixpoint.Types.Constraints.$fDataQualParam+instance Data.Data.Data [Language.Fixpoint.Types.Constraints.QualPattern]+ = Language.Fixpoint.Types.Constraints.$fDataQualPattern+instance Data.Data.Data [Language.Fixpoint.Types.Constraints.Qualifier]+ = Language.Fixpoint.Types.Constraints.$fDataQualifier+instance GHC.Classes.Eq [Language.Fixpoint.Types.Constraints.AxiomEnv]+ = Language.Fixpoint.Types.Constraints.$fEqAxiomEnv+instance GHC.Classes.Eq [Language.Fixpoint.Types.Constraints.Equation]+ = Language.Fixpoint.Types.Constraints.$fEqEquation+instance GHC.Classes.Eq [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Constraints.$fEqGInfo+instance GHC.Classes.Eq [Language.Fixpoint.Types.Constraints.GWInfo]+ = Language.Fixpoint.Types.Constraints.$fEqGWInfo+instance GHC.Classes.Eq [Language.Fixpoint.Types.Constraints.HOInfo]+ = Language.Fixpoint.Types.Constraints.$fEqHOInfo+instance GHC.Classes.Eq [Language.Fixpoint.Types.Constraints.Kuts]+ = Language.Fixpoint.Types.Constraints.$fEqKuts+instance GHC.Classes.Eq [Language.Fixpoint.Types.Constraints.QualParam]+ = Language.Fixpoint.Types.Constraints.$fEqQualParam+instance GHC.Classes.Eq [Language.Fixpoint.Types.Constraints.QualPattern]+ = Language.Fixpoint.Types.Constraints.$fEqQualPattern+instance GHC.Classes.Eq [Language.Fixpoint.Types.Constraints.Qualifier]+ = Language.Fixpoint.Types.Constraints.$fEqQualifier+instance GHC.Classes.Eq [Language.Fixpoint.Types.Constraints.Rewrite]+ = Language.Fixpoint.Types.Constraints.$fEqRewrite+instance GHC.Classes.Eq [Language.Fixpoint.Types.Constraints.SubC]+ = Language.Fixpoint.Types.Constraints.$fEqSubC+instance GHC.Classes.Eq [Language.Fixpoint.Types.Constraints.WfC]+ = Language.Fixpoint.Types.Constraints.$fEqWfC+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Constraints.AxiomEnv]+ = Language.Fixpoint.Types.Constraints.$fFixpointAxiomEnv+instance [orphan] Language.Fixpoint.Types.PrettyPrint.Fixpoint [Text.PrettyPrint.HughesPJ.Doc]+ = Language.Fixpoint.Types.Constraints.$fFixpointDoc+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Constraints.Equation]+ = Language.Fixpoint.Types.Constraints.$fFixpointEquation+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Constraints.$fFixpointFixResult+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Constraints.Kuts]+ = Language.Fixpoint.Types.Constraints.$fFixpointKuts+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Constraints.QualParam]+ = Language.Fixpoint.Types.Constraints.$fFixpointQualParam+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Constraints.Qualifier]+ = Language.Fixpoint.Types.Constraints.$fFixpointQualifier+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Constraints.Rewrite]+ = Language.Fixpoint.Types.Constraints.$fFixpointRewrite+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Types.Constraints.$fFixpointSimpC+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Constraints.SubC]+ = Language.Fixpoint.Types.Constraints.$fFixpointSubC+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Constraints.WfC]+ = Language.Fixpoint.Types.Constraints.$fFixpointWfC+instance GHC.Base.Functor [Language.Fixpoint.Types.Constraints.GFixSol]+ = Language.Fixpoint.Types.Constraints.$fFunctorGFixSol+instance GHC.Base.Functor [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Constraints.$fFunctorGInfo+instance GHC.Base.Functor [Language.Fixpoint.Types.Constraints.Result]+ = Language.Fixpoint.Types.Constraints.$fFunctorResult+instance GHC.Base.Functor [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Types.Constraints.$fFunctorSimpC+instance GHC.Base.Functor [Language.Fixpoint.Types.Constraints.SubC]+ = Language.Fixpoint.Types.Constraints.$fFunctorSubC+instance GHC.Base.Functor [Language.Fixpoint.Types.Constraints.WfC]+ = Language.Fixpoint.Types.Constraints.$fFunctorWfC+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.AxiomEnv]+ = Language.Fixpoint.Types.Constraints.$fGenericAxiomEnv+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.Equation]+ = Language.Fixpoint.Types.Constraints.$fGenericEquation+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.GFixSol]+ = Language.Fixpoint.Types.Constraints.$fGenericGFixSol+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Constraints.$fGenericGInfo+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.GWInfo]+ = Language.Fixpoint.Types.Constraints.$fGenericGWInfo+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.HOInfo]+ = Language.Fixpoint.Types.Constraints.$fGenericHOInfo+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.Kuts]+ = Language.Fixpoint.Types.Constraints.$fGenericKuts+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.QualParam]+ = Language.Fixpoint.Types.Constraints.$fGenericQualParam+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.QualPattern]+ = Language.Fixpoint.Types.Constraints.$fGenericQualPattern+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.Qualifier]+ = Language.Fixpoint.Types.Constraints.$fGenericQualifier+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.Result]+ = Language.Fixpoint.Types.Constraints.$fGenericResult+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.Rewrite]+ = Language.Fixpoint.Types.Constraints.$fGenericRewrite+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Types.Constraints.$fGenericSimpC+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.SubC]+ = Language.Fixpoint.Types.Constraints.$fGenericSubC+instance GHC.Generics.Generic [Language.Fixpoint.Types.Constraints.WfC]+ = Language.Fixpoint.Types.Constraints.$fGenericWfC+instance Language.Fixpoint.Types.Refinements.HasGradual [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Constraints.$fHasGradualGInfo+instance Language.Fixpoint.Types.Refinements.HasGradual [Language.Fixpoint.Types.Constraints.WfC]+ = Language.Fixpoint.Types.Constraints.$fHasGradualWfC+instance Language.Fixpoint.Types.Spans.Loc [Language.Fixpoint.Types.Constraints.Qualifier]+ = Language.Fixpoint.Types.Constraints.$fLocQualifier+instance Language.Fixpoint.Types.Spans.Loc [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Types.Constraints.$fLocSimpC+instance GHC.Base.Monoid [Language.Fixpoint.Types.Constraints.AxiomEnv]+ = Language.Fixpoint.Types.Constraints.$fMonoidAxiomEnv+instance GHC.Base.Monoid [Language.Fixpoint.Types.Constraints.GFixSol]+ = Language.Fixpoint.Types.Constraints.$fMonoidGFixSol+instance GHC.Base.Monoid [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Constraints.$fMonoidGInfo+instance GHC.Base.Monoid [Language.Fixpoint.Types.Constraints.HOInfo]+ = Language.Fixpoint.Types.Constraints.$fMonoidHOInfo+instance GHC.Base.Monoid [Language.Fixpoint.Types.Constraints.Kuts]+ = Language.Fixpoint.Types.Constraints.$fMonoidKuts+instance GHC.Base.Monoid [Language.Fixpoint.Types.Constraints.Result]+ = Language.Fixpoint.Types.Constraints.$fMonoidResult+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.AxiomEnv]+ = Language.Fixpoint.Types.Constraints.$fNFDataAxiomEnv+instance [orphan] Control.DeepSeq.NFData [Language.Fixpoint.Types.Config.Eliminate]+ = Language.Fixpoint.Types.Constraints.$fNFDataEliminate+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.Equation]+ = Language.Fixpoint.Types.Constraints.$fNFDataEquation+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.GFixSol]+ = Language.Fixpoint.Types.Constraints.$fNFDataGFixSol+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Constraints.$fNFDataGInfo+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.GWInfo]+ = Language.Fixpoint.Types.Constraints.$fNFDataGWInfo+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.HOInfo]+ = Language.Fixpoint.Types.Constraints.$fNFDataHOInfo+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.Kuts]+ = Language.Fixpoint.Types.Constraints.$fNFDataKuts+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.QualParam]+ = Language.Fixpoint.Types.Constraints.$fNFDataQualParam+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.QualPattern]+ = Language.Fixpoint.Types.Constraints.$fNFDataQualPattern+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.Qualifier]+ = Language.Fixpoint.Types.Constraints.$fNFDataQualifier+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.Result]+ = Language.Fixpoint.Types.Constraints.$fNFDataResult+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.Rewrite]+ = Language.Fixpoint.Types.Constraints.$fNFDataRewrite+instance [orphan] Control.DeepSeq.NFData [Language.Fixpoint.Types.Config.SMTSolver]+ = Language.Fixpoint.Types.Constraints.$fNFDataSMTSolver+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Types.Constraints.$fNFDataSimpC+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.SubC]+ = Language.Fixpoint.Types.Constraints.$fNFDataSubC+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Constraints.WfC]+ = Language.Fixpoint.Types.Constraints.$fNFDataWfC+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Constraints.AxiomEnv]+ = Language.Fixpoint.Types.Constraints.$fPPrintAxiomEnv+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Constraints.Equation]+ = Language.Fixpoint.Types.Constraints.$fPPrintEquation+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Constraints.GFixSol]+ = Language.Fixpoint.Types.Constraints.$fPPrintGFixSol+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Constraints.QualParam]+ = Language.Fixpoint.Types.Constraints.$fPPrintQualParam+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Constraints.QualPattern]+ = Language.Fixpoint.Types.Constraints.$fPPrintQualPattern+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Constraints.Qualifier]+ = Language.Fixpoint.Types.Constraints.$fPPrintQualifier+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Constraints.Rewrite]+ = Language.Fixpoint.Types.Constraints.$fPPrintRewrite+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Types.Constraints.$fPPrintSimpC+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Constraints.SubC]+ = Language.Fixpoint.Types.Constraints.$fPPrintSubC+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Constraints.WfC]+ = Language.Fixpoint.Types.Constraints.$fPPrintWfC+instance Language.Fixpoint.Types.PrettyPrint.PTable [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Constraints.$fPTableGInfo+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Constraints.AxiomEnv]+ = Language.Fixpoint.Types.Constraints.$fSemigroupAxiomEnv+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Constraints.GFixSol]+ = Language.Fixpoint.Types.Constraints.$fSemigroupGFixSol+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Constraints.$fSemigroupGInfo+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Constraints.HOInfo]+ = Language.Fixpoint.Types.Constraints.$fSemigroupHOInfo+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Constraints.Kuts]+ = Language.Fixpoint.Types.Constraints.$fSemigroupKuts+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Constraints.Result]+ = Language.Fixpoint.Types.Constraints.$fSemigroupResult+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.AxiomEnv]+ = Language.Fixpoint.Types.Constraints.$fShowAxiomEnv+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.Equation]+ = Language.Fixpoint.Types.Constraints.$fShowEquation+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.GFixSol]+ = Language.Fixpoint.Types.Constraints.$fShowGFixSol+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Constraints.$fShowGInfo+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.HOInfo]+ = Language.Fixpoint.Types.Constraints.$fShowHOInfo+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.Kuts]+ = Language.Fixpoint.Types.Constraints.$fShowKuts+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.QualParam]+ = Language.Fixpoint.Types.Constraints.$fShowQualParam+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.QualPattern]+ = Language.Fixpoint.Types.Constraints.$fShowQualPattern+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.Qualifier]+ = Language.Fixpoint.Types.Constraints.$fShowQualifier+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.Result]+ = Language.Fixpoint.Types.Constraints.$fShowResult+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.Rewrite]+ = Language.Fixpoint.Types.Constraints.$fShowRewrite+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Types.Constraints.$fShowSimpC+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.SubC]+ = Language.Fixpoint.Types.Constraints.$fShowSubC+instance GHC.Show.Show [Language.Fixpoint.Types.Constraints.WfC]+ = Language.Fixpoint.Types.Constraints.$fShowWfC+instance Language.Fixpoint.Types.Refinements.Subable [Language.Fixpoint.Types.Constraints.Equation]+ = Language.Fixpoint.Types.Constraints.$fSubableEquation+instance Language.Fixpoint.Types.Refinements.Subable [Language.Fixpoint.Types.Constraints.Qualifier]+ = Language.Fixpoint.Types.Constraints.$fSubableQualifier+instance Language.Fixpoint.Types.Constraints.TaggedC [Language.Fixpoint.Types.Constraints.SimpC,+ .]+ = Language.Fixpoint.Types.Constraints.$fTaggedCSimpCa+instance Language.Fixpoint.Types.Constraints.TaggedC [Language.Fixpoint.Types.Constraints.SubC,+ .]+ = Language.Fixpoint.Types.Constraints.$fTaggedCSubCa+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Constraints.Rep_GInfo+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.AxiomEnv]+ = Language.Fixpoint.Types.Constraints.Rep_AxiomEnv+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.Rewrite]+ = Language.Fixpoint.Types.Constraints.Rep_Rewrite+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.Equation]+ = Language.Fixpoint.Types.Constraints.Rep_Equation+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.HOInfo]+ = Language.Fixpoint.Types.Constraints.Rep_HOInfo+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.Kuts]+ = Language.Fixpoint.Types.Constraints.Rep_Kuts+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.Qualifier]+ = Language.Fixpoint.Types.Constraints.Rep_Qualifier+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.QualParam]+ = Language.Fixpoint.Types.Constraints.Rep_QualParam+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.QualPattern]+ = Language.Fixpoint.Types.Constraints.Rep_QualPattern+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.Result]+ = Language.Fixpoint.Types.Constraints.Rep_Result+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.GFixSol]+ = Language.Fixpoint.Types.Constraints.Rep_GFixSol+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Types.Constraints.Rep_SimpC+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.SubC]+ = Language.Fixpoint.Types.Constraints.Rep_SubC+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.GWInfo]+ = Language.Fixpoint.Types.Constraints.Rep_GWInfo+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Constraints.WfC]+ = Language.Fixpoint.Types.Constraints.Rep_WfC+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,880 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:33.811173 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments [orphan module] [family instance module] 8065+ interface hash: 2c4d86016b0af5b7aafc96c53eb2d59b+ ABI hash: 5f649aef2fe87979164c56acf3750e20+ export-list hash: ab8867d60d15ba2af38632b8e3ed1bf3+ orphan hash: 50d58a3af32f6bc908a93a6b8eda40e4+ flag hash: e805cb430417e644d2169be4fdaa1477+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Environments.adjustBindEnv+ Language.Fixpoint.Types.Environments.bindEnvFromList+ Language.Fixpoint.Types.Environments.bindEnvToList+ Language.Fixpoint.Types.Environments.deleteIBindEnv+ Language.Fixpoint.Types.Environments.deleteSEnv+ Language.Fixpoint.Types.Environments.diffIBindEnv+ Language.Fixpoint.Types.Environments.differenceSEnv+ Language.Fixpoint.Types.Environments.elemsBindEnv+ Language.Fixpoint.Types.Environments.elemsIBindEnv+ Language.Fixpoint.Types.Environments.emptyBindEnv+ Language.Fixpoint.Types.Environments.emptyIBindEnv+ Language.Fixpoint.Types.Environments.emptySEnv+ Language.Fixpoint.Types.Environments.envCs+ Language.Fixpoint.Types.Environments.filterBindEnv+ Language.Fixpoint.Types.Environments.filterIBindEnv+ Language.Fixpoint.Types.Environments.filterSEnv+ Language.Fixpoint.Types.Environments.fromListIBindEnv+ Language.Fixpoint.Types.Environments.fromListSEnv+ Language.Fixpoint.Types.Environments.fromMapSEnv+ Language.Fixpoint.Types.Environments.getPack+ Language.Fixpoint.Types.Environments.insertBindEnv+ Language.Fixpoint.Types.Environments.insertSEnv+ Language.Fixpoint.Types.Environments.insertsIBindEnv+ Language.Fixpoint.Types.Environments.intersectWithSEnv+ Language.Fixpoint.Types.Environments.intersectionIBindEnv+ Language.Fixpoint.Types.Environments.lookupBindEnv+ Language.Fixpoint.Types.Environments.lookupSEnv+ Language.Fixpoint.Types.Environments.lookupSEnvWithDistance+ Language.Fixpoint.Types.Environments.makePack+ Language.Fixpoint.Types.Environments.mapBindEnv+ Language.Fixpoint.Types.Environments.mapMSEnv+ Language.Fixpoint.Types.Environments.mapSEnv+ Language.Fixpoint.Types.Environments.mapSEnvWithKey+ Language.Fixpoint.Types.Environments.mapWithKeyMBindEnv+ Language.Fixpoint.Types.Environments.memberIBindEnv+ Language.Fixpoint.Types.Environments.memberSEnv+ Language.Fixpoint.Types.Environments.nullIBindEnv+ Language.Fixpoint.Types.Environments.splitByQuantifiers+ Language.Fixpoint.Types.Environments.toListSEnv+ Language.Fixpoint.Types.Environments.unionIBindEnv+ Language.Fixpoint.Types.Environments.unionSEnv+ Language.Fixpoint.Types.Environments.unionSEnv'+ Language.Fixpoint.Types.Environments.BindEnv+ Language.Fixpoint.Types.Environments.BindId+ Language.Fixpoint.Types.Environments.BindMap+ Language.Fixpoint.Types.Environments.EBindEnv+ Language.Fixpoint.Types.Environments.IBindEnv+ Language.Fixpoint.Types.Environments.Packs{Language.Fixpoint.Types.Environments.Packs packm}+ Language.Fixpoint.Types.Environments.SESearch{Language.Fixpoint.Types.Environments.Alts Language.Fixpoint.Types.Environments.Found}+ Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Environments.SizedEnv|{beBinds}+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Types.Names Language.Fixpoint.Types.PrettyPrint+ Language.Fixpoint.Types.Refinements Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Data 2949b01dc3799f9122535900668dfcef+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Function 739684530bf19978a9a47e63c494ac7b+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:Data.Typeable 1095be85dd9009a6503a3981a259490e+import -/ base-4.12.0.0:Data.Typeable.Internal e1cb15df401654131814917774d4d7ed+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ binary-0.8.6.0:Data.Binary 47a89cefaa44e49e7fd21d133fce6a7e+import -/ binary-0.8.6.0:Data.Binary.Class 4a00b809573ad7c27e489f5b66886719+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ coalesce ab3a1791c20bfa18062187434ad6d461+ editDistance 587ac5fa396a6a444285dff1b86b6779+ errorstar e47c2d482124b43e020a405f809adcff+ fst3 f5278b30747d6e9b343f3260d38ec0b3+ hashMapToAscList 9dc450088704c65ccbcd800833302942+ secondM 769157a40c452ca0ad3ada0e937271df+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ exports: 45d7959603a132b65636c5a341548000+ Symbol 3f986d27cdf6315dd770c516fc00a643+ symbol 8093c1d4f5a85b247a3a96c3fce3245c+ symbolString 8b7e66ffe1373b3c8eea5ece172dd4c9+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ pprint 955dc9d031db587300edf6146ac33be4+ pprintKVs 07dc92ab912f4a936c42f767d930636e+ pprintTidy bf75bee99d55ab15929b450195e64f3c+ toFix 9b9c41ae3aa868a1e0f4e73cde8032e0+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ exports: c373b88351492ec6aa75dffded20541a+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ sr_sort 58dd7eff6040aa97f060415235c6cb01+import -/ Language.Fixpoint.Types.Substitutions 68389730f57eb1bd783731c1e8e83435+ exports: 49819ba83f4a612781a90fc7826a8b86+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ syb-0.7:Data.Generics f4bddd07fe7227d2509acad55f9ff82d+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+42b1e92f261e4010956d610dca179d9b+ $fBinaryHashSet ::+ (Data.Hashable.Class.Hashable a, GHC.Classes.Eq a,+ Data.Binary.Class.Binary a) =>+ Data.Binary.Class.Binary (Data.HashSet.HashSet a)+ DFunId+b71d4c279d7a7920d70dd44bac0305aa+ $fBinaryIBindEnv ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Environments.IBindEnv+ DFunId+745cf232b9d2982922c3e9b6e8a38fa4+ $fBinaryPacks ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Environments.Packs+ DFunId+7b76b1b3898bd64fc8c2187c261c0f80+ $fBinarySEnv ::+ Data.Binary.Class.Binary a =>+ Data.Binary.Class.Binary+ (Language.Fixpoint.Types.Environments.SEnv a)+ DFunId+97a88bb9b7d5b682cdead95f91d87a04+ $fBinarySizedEnv ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Environments.BindEnv+ DFunId+b71d4c279d7a7920d70dd44bac0305aa+ $fDataIBindEnv ::+ Data.Data.Data Language.Fixpoint.Types.Environments.IBindEnv+ DFunId+7b76b1b3898bd64fc8c2187c261c0f80+ $fDataSEnv ::+ Data.Data.Data a =>+ Data.Data.Data (Language.Fixpoint.Types.Environments.SEnv a)+ DFunId+b71d4c279d7a7920d70dd44bac0305aa+ $fEqIBindEnv ::+ GHC.Classes.Eq Language.Fixpoint.Types.Environments.IBindEnv+ DFunId+745cf232b9d2982922c3e9b6e8a38fa4+ $fEqPacks ::+ GHC.Classes.Eq Language.Fixpoint.Types.Environments.Packs+ DFunId+7b76b1b3898bd64fc8c2187c261c0f80+ $fEqSEnv ::+ GHC.Classes.Eq a =>+ GHC.Classes.Eq (Language.Fixpoint.Types.Environments.SEnv a)+ DFunId+97a88bb9b7d5b682cdead95f91d87a04+ $fEqSizedEnv ::+ GHC.Classes.Eq a =>+ GHC.Classes.Eq (Language.Fixpoint.Types.Environments.SizedEnv a)+ DFunId+e63e761a61593863b52829e68d5b13b4+ $fFixpointEBindEnv ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Environments.EBindEnv+ DFunId+b71d4c279d7a7920d70dd44bac0305aa+ $fFixpointIBindEnv ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Environments.IBindEnv+ DFunId+745cf232b9d2982922c3e9b6e8a38fa4+ $fFixpointPacks ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Environments.Packs+ DFunId+7b76b1b3898bd64fc8c2187c261c0f80+ $fFixpointSEnv ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ (Language.Fixpoint.Types.Environments.SEnv a)+ DFunId+97a88bb9b7d5b682cdead95f91d87a04+ $fFixpointSizedEnv ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Environments.BindEnv+ DFunId+7b76b1b3898bd64fc8c2187c261c0f80+ $fFoldableSEnv ::+ Data.Foldable.Foldable Language.Fixpoint.Types.Environments.SEnv+ DFunId+97a88bb9b7d5b682cdead95f91d87a04+ $fFoldableSizedEnv ::+ Data.Foldable.Foldable+ Language.Fixpoint.Types.Environments.SizedEnv+ DFunId+7b76b1b3898bd64fc8c2187c261c0f80+ $fFunctorSEnv ::+ GHC.Base.Functor Language.Fixpoint.Types.Environments.SEnv+ DFunId+97a88bb9b7d5b682cdead95f91d87a04+ $fFunctorSizedEnv ::+ GHC.Base.Functor Language.Fixpoint.Types.Environments.SizedEnv+ DFunId+b71d4c279d7a7920d70dd44bac0305aa+ $fGenericIBindEnv ::+ GHC.Generics.Generic Language.Fixpoint.Types.Environments.IBindEnv+ DFunId+745cf232b9d2982922c3e9b6e8a38fa4+ $fGenericPacks ::+ GHC.Generics.Generic Language.Fixpoint.Types.Environments.Packs+ DFunId+7b76b1b3898bd64fc8c2187c261c0f80+ $fGenericSEnv ::+ GHC.Generics.Generic (Language.Fixpoint.Types.Environments.SEnv a)+ DFunId+97a88bb9b7d5b682cdead95f91d87a04+ $fGenericSizedEnv ::+ GHC.Generics.Generic+ (Language.Fixpoint.Types.Environments.SizedEnv a)+ DFunId+b71d4c279d7a7920d70dd44bac0305aa+ $fMonoidIBindEnv ::+ GHC.Base.Monoid Language.Fixpoint.Types.Environments.IBindEnv+ DFunId+745cf232b9d2982922c3e9b6e8a38fa4+ $fMonoidPacks ::+ GHC.Base.Monoid Language.Fixpoint.Types.Environments.Packs+ DFunId+7b76b1b3898bd64fc8c2187c261c0f80+ $fMonoidSEnv ::+ GHC.Base.Monoid (Language.Fixpoint.Types.Environments.SEnv a)+ DFunId+97a88bb9b7d5b682cdead95f91d87a04+ $fMonoidSizedEnv ::+ GHC.Base.Monoid Language.Fixpoint.Types.Environments.BindEnv+ DFunId+b71d4c279d7a7920d70dd44bac0305aa+ $fNFDataIBindEnv ::+ Control.DeepSeq.NFData+ Language.Fixpoint.Types.Environments.IBindEnv+ DFunId+745cf232b9d2982922c3e9b6e8a38fa4+ $fNFDataPacks ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Environments.Packs+ DFunId+7b76b1b3898bd64fc8c2187c261c0f80+ $fNFDataSEnv ::+ Control.DeepSeq.NFData a =>+ Control.DeepSeq.NFData+ (Language.Fixpoint.Types.Environments.SEnv a)+ DFunId+97a88bb9b7d5b682cdead95f91d87a04+ $fNFDataSizedEnv ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Environments.BindEnv+ DFunId+b71d4c279d7a7920d70dd44bac0305aa+ $fPPrintIBindEnv ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Environments.IBindEnv+ DFunId+745cf232b9d2982922c3e9b6e8a38fa4+ $fPPrintPacks ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Environments.Packs+ DFunId+7b76b1b3898bd64fc8c2187c261c0f80+ $fPPrintSEnv ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Language.Fixpoint.Types.Environments.SEnv a)+ DFunId+97a88bb9b7d5b682cdead95f91d87a04+ $fPPrintSizedEnv ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Language.Fixpoint.Types.Environments.SizedEnv a)+ DFunId+b71d4c279d7a7920d70dd44bac0305aa+ $fSemigroupIBindEnv ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Environments.IBindEnv+ DFunId+745cf232b9d2982922c3e9b6e8a38fa4+ $fSemigroupPacks ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Environments.Packs+ DFunId+7b76b1b3898bd64fc8c2187c261c0f80+ $fSemigroupSEnv ::+ GHC.Base.Semigroup (Language.Fixpoint.Types.Environments.SEnv a)+ DFunId+97a88bb9b7d5b682cdead95f91d87a04+ $fSemigroupSizedEnv ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Environments.BindEnv+ DFunId+745cf232b9d2982922c3e9b6e8a38fa4+ $fShowPacks ::+ GHC.Show.Show Language.Fixpoint.Types.Environments.Packs+ DFunId+7b76b1b3898bd64fc8c2187c261c0f80+ $fShowSEnv ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ (Language.Fixpoint.Types.Environments.SEnv a) =>+ GHC.Show.Show (Language.Fixpoint.Types.Environments.SEnv a)+ DFunId+97a88bb9b7d5b682cdead95f91d87a04+ $fShowSizedEnv ::+ GHC.Show.Show a =>+ GHC.Show.Show (Language.Fixpoint.Types.Environments.SizedEnv a)+ DFunId+7b76b1b3898bd64fc8c2187c261c0f80+ $fTraversableSEnv ::+ Data.Traversable.Traversable+ Language.Fixpoint.Types.Environments.SEnv+ DFunId+97a88bb9b7d5b682cdead95f91d87a04+ $fTraversableSizedEnv ::+ Data.Traversable.Traversable+ Language.Fixpoint.Types.Environments.SizedEnv+ DFunId+bca6f1180b06f0f4f52063b06a0915e8+ $tc'Alts :: GHC.Types.TyCon+d3c79c6e4bcfa2733160f5642b92667f+ $tc'BE :: GHC.Types.TyCon+68a228e17953a63d171655ae93fdee29+ $tc'EB :: GHC.Types.TyCon+854a83583606586ba9959d19139e6f5c+ $tc'FB :: GHC.Types.TyCon+759b3e33c229b56ea243aff2d6f8c8ec+ $tc'Found :: GHC.Types.TyCon+0f62cbeeeb84a3b7670e64c5f8b9dc66+ $tc'Packs :: GHC.Types.TyCon+b7a6711cf5b5857d70f92fde95ac12c1+ $tc'SE :: GHC.Types.TyCon+f513e624e0baf0e355c58bd06b9bc8c4+ $tcEBindEnv :: GHC.Types.TyCon+ccee3fe5379920b6da41f570dc3573e7+ $tcIBindEnv :: GHC.Types.TyCon+c11bec3e4b6a1f285a25a23d82c33a7a+ $tcPacks :: GHC.Types.TyCon+e332ce971a001371a59763521d859e00+ $tcSESearch :: GHC.Types.TyCon+303cd367074428d445fb2444b1dccc1f+ $tcSEnv :: GHC.Types.TyCon+aae3b7b5dce77694759fca4ce038c020+ $tcSizedEnv :: GHC.Types.TyCon+d157a4cd54b4a61a9cc50dde352cf771+ $trModule :: GHC.Types.Module+97a88bb9b7d5b682cdead95f91d87a04+ type BindEnv =+ Language.Fixpoint.Types.Environments.SizedEnv+ (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft)+c1dc08df6d648ef575cab1d33fc5df7b+ type BindId = GHC.Types.Int+39aa3d888f00d0281a1afc8e0bc93bae+ type BindMap a =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Environments.BindId a+e63e761a61593863b52829e68d5b13b4+ newtype EBindEnv = EB Language.Fixpoint.Types.Environments.BindEnv+b71d4c279d7a7920d70dd44bac0305aa+ newtype IBindEnv+ = FB (Data.HashSet.HashSet+ Language.Fixpoint.Types.Environments.BindId)+745cf232b9d2982922c3e9b6e8a38fa4+ newtype Packs+ = Packs {packm :: Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar GHC.Types.Int}+b71d4c279d7a7920d70dd44bac0305aa+ axiom Language.Fixpoint.Types.Environments.Rep_IBindEnv::+ GHC.Generics.Rep Language.Fixpoint.Types.Environments.IBindEnv+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "IBindEnv"+ "Language.Fixpoint.Types.Environments"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.True)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "FB" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (Data.HashSet.HashSet+ Language.Fixpoint.Types.Environments.BindId))))+745cf232b9d2982922c3e9b6e8a38fa4+ axiom Language.Fixpoint.Types.Environments.Rep_Packs::+ GHC.Generics.Rep Language.Fixpoint.Types.Environments.Packs+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Packs"+ "Language.Fixpoint.Types.Environments"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.True)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Packs" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "packm")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar GHC.Types.Int))))+7b76b1b3898bd64fc8c2187c261c0f80+ axiom Language.Fixpoint.Types.Environments.Rep_SEnv::+ GHC.Generics.Rep (Language.Fixpoint.Types.Environments.SEnv a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "SEnv"+ "Language.Fixpoint.Types.Environments"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.True)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons "SE" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "seBinds")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol a))))+97a88bb9b7d5b682cdead95f91d87a04+ axiom Language.Fixpoint.Types.Environments.Rep_SizedEnv::+ GHC.Generics.Rep (Language.Fixpoint.Types.Environments.SizedEnv a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "SizedEnv"+ "Language.Fixpoint.Types.Environments"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons "BE" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "_beSize")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "beBinds")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Environments.BindMap a))))+c2c5a6bbb33a41c264276436dbbb3149+ data SESearch a+ = Found a | Alts [Language.Fixpoint.Types.Names.Symbol]+7b76b1b3898bd64fc8c2187c261c0f80+ newtype SEnv a+ = SE {seBinds :: Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol a}+97a88bb9b7d5b682cdead95f91d87a04+ data SizedEnv a+ = BE {_beSize :: !GHC.Types.Int,+ beBinds :: !(Language.Fixpoint.Types.Environments.BindMap a)}+97a88bb9b7d5b682cdead95f91d87a04+ _beSize ::+ Language.Fixpoint.Types.Environments.SizedEnv a -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Types.Environments.SizedEnv+03a20071911999e08cc0bbf23913313f+ adjustBindEnv ::+ ((Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft)+ -> (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft))+ -> Language.Fixpoint.Types.Environments.BindId+ -> Language.Fixpoint.Types.Environments.BindEnv+ -> Language.Fixpoint.Types.Environments.BindEnv+97a88bb9b7d5b682cdead95f91d87a04+ beBinds ::+ Language.Fixpoint.Types.Environments.SizedEnv a+ -> Language.Fixpoint.Types.Environments.BindMap a+ RecSel Left Language.Fixpoint.Types.Environments.SizedEnv+967550b3b3f55a80adc5bd8c64cfd4dc+ bindEnvFromList ::+ [(Language.Fixpoint.Types.Environments.BindId,+ Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft)]+ -> Language.Fixpoint.Types.Environments.BindEnv+4e95582ccd56c9ddcde8c24e66fac2b3+ bindEnvToList ::+ Language.Fixpoint.Types.Environments.BindEnv+ -> [(Language.Fixpoint.Types.Environments.BindId,+ Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft)]+ac15034cf0e9635db972d74335a45cfd+ deleteIBindEnv ::+ Language.Fixpoint.Types.Environments.BindId+ -> Language.Fixpoint.Types.Environments.IBindEnv+ -> Language.Fixpoint.Types.Environments.IBindEnv+c0a7306f69b5faea3051bb367933295e+ deleteSEnv ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Environments.SEnv a+ -> Language.Fixpoint.Types.Environments.SEnv a+b96940094e63827617b026d5632e9b40+ diffIBindEnv ::+ Language.Fixpoint.Types.Environments.IBindEnv+ -> Language.Fixpoint.Types.Environments.IBindEnv+ -> Language.Fixpoint.Types.Environments.IBindEnv+fd2398da30d3b61d15810eca9a419156+ differenceSEnv ::+ Language.Fixpoint.Types.Environments.SEnv a+ -> Language.Fixpoint.Types.Environments.SEnv w+ -> Language.Fixpoint.Types.Environments.SEnv a+4f63350b83b69a54d1b32580a67da206+ elemsBindEnv ::+ Language.Fixpoint.Types.Environments.BindEnv+ -> [Language.Fixpoint.Types.Environments.BindId]+cff28cd92ba002848a1acbf3edb359d8+ elemsIBindEnv ::+ Language.Fixpoint.Types.Environments.IBindEnv+ -> [Language.Fixpoint.Types.Environments.BindId]+afeb5e3d81531c7c2c84389f2d1117f9+ emptyBindEnv :: Language.Fixpoint.Types.Environments.BindEnv+6cfa8d73992960a6ab6331f8d3b757ff+ emptyIBindEnv :: Language.Fixpoint.Types.Environments.IBindEnv+9f2c7c962f68c35c8835c06a06f1db76+ emptySEnv :: Language.Fixpoint.Types.Environments.SEnv a+e423fff58f01e321ca4ef94ca8a41936+ envCs ::+ Language.Fixpoint.Types.Environments.BindEnv+ -> Language.Fixpoint.Types.Environments.IBindEnv+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft)]+d7f2b544457d7b6ee589986f90fe0a9b+ filterBindEnv ::+ (Language.Fixpoint.Types.Environments.BindId+ -> Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Refinements.SortedReft+ -> GHC.Types.Bool)+ -> Language.Fixpoint.Types.Environments.BindEnv+ -> Language.Fixpoint.Types.Environments.BindEnv+f7ce8cbf3008ec25398a899f51743e17+ filterIBindEnv ::+ (Language.Fixpoint.Types.Environments.BindId -> GHC.Types.Bool)+ -> Language.Fixpoint.Types.Environments.IBindEnv+ -> Language.Fixpoint.Types.Environments.IBindEnv+c77688b7415765f02a29230109d5a8a3+ filterSEnv ::+ (a -> GHC.Types.Bool)+ -> Language.Fixpoint.Types.Environments.SEnv a+ -> Language.Fixpoint.Types.Environments.SEnv a+203f800f75e8e2acc2223edc99807147+ fromListIBindEnv ::+ [Language.Fixpoint.Types.Environments.BindId]+ -> Language.Fixpoint.Types.Environments.IBindEnv+22654f2135f1b607f7ee82962c09eb4c+ fromListSEnv ::+ [(Language.Fixpoint.Types.Names.Symbol, a)]+ -> Language.Fixpoint.Types.Environments.SEnv a+7591ee6663e1b36102232c1b70536dd0+ fromMapSEnv ::+ Data.HashMap.Base.HashMap Language.Fixpoint.Types.Names.Symbol a+ -> Language.Fixpoint.Types.Environments.SEnv a+13cc822d3911b52022e30ac1b86af6cd+ getPack ::+ Language.Fixpoint.Types.Refinements.KVar+ -> Language.Fixpoint.Types.Environments.Packs+ -> GHC.Maybe.Maybe GHC.Types.Int+bc97de86c3ec6f664abb49ca068d7984+ insertBindEnv ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Refinements.SortedReft+ -> Language.Fixpoint.Types.Environments.BindEnv+ -> (Language.Fixpoint.Types.Environments.BindId,+ Language.Fixpoint.Types.Environments.BindEnv)+4288c53866870f2766a71eff8924b8fb+ insertSEnv ::+ Language.Fixpoint.Types.Names.Symbol+ -> a+ -> Language.Fixpoint.Types.Environments.SEnv a+ -> Language.Fixpoint.Types.Environments.SEnv a+dca3e4d95477ee71c84a2814faf94fea+ insertsIBindEnv ::+ [Language.Fixpoint.Types.Environments.BindId]+ -> Language.Fixpoint.Types.Environments.IBindEnv+ -> Language.Fixpoint.Types.Environments.IBindEnv+543b06d5eae1c8f4b2b247b15f9a454f+ intersectWithSEnv ::+ (v1 -> v2 -> a)+ -> Language.Fixpoint.Types.Environments.SEnv v1+ -> Language.Fixpoint.Types.Environments.SEnv v2+ -> Language.Fixpoint.Types.Environments.SEnv a+825ccfa88a2d78fd8f5dd646d23e905c+ intersectionIBindEnv ::+ Language.Fixpoint.Types.Environments.IBindEnv+ -> Language.Fixpoint.Types.Environments.IBindEnv+ -> Language.Fixpoint.Types.Environments.IBindEnv+d43e50ddb41c32b57594f5f31bf34671+ lookupBindEnv ::+ Language.Fixpoint.Types.Environments.BindId+ -> Language.Fixpoint.Types.Environments.BindEnv+ -> (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft)+94599d47b6378649795b045198f42e89+ lookupSEnv ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Environments.SEnv a -> GHC.Maybe.Maybe a+f94357819b257ff74f5b6c3800c04b59+ lookupSEnvWithDistance ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Environments.SEnv a+ -> Language.Fixpoint.Types.Environments.SESearch a+4428b57c5dad27356b63b943818a6a45+ makePack ::+ [Data.HashSet.HashSet Language.Fixpoint.Types.Refinements.KVar]+ -> Language.Fixpoint.Types.Environments.Packs+32197c169397373f8fac7df4bdb16c5f+ mapBindEnv ::+ (Language.Fixpoint.Types.Environments.BindId+ -> (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft)+ -> (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft))+ -> Language.Fixpoint.Types.Environments.BindEnv+ -> Language.Fixpoint.Types.Environments.BindEnv+152e72246f3c15ad5db786e1c57bd498+ mapMSEnv ::+ GHC.Base.Monad m =>+ (a -> m b)+ -> Language.Fixpoint.Types.Environments.SEnv a+ -> m (Language.Fixpoint.Types.Environments.SEnv b)+019036e74bc3a0478523c0b4586cccfa+ mapSEnv ::+ (a -> b)+ -> Language.Fixpoint.Types.Environments.SEnv a+ -> Language.Fixpoint.Types.Environments.SEnv b+9fe2394513f94e141fc82b2b61e8110c+ mapSEnvWithKey ::+ ((Language.Fixpoint.Types.Names.Symbol, a)+ -> (Language.Fixpoint.Types.Names.Symbol, b))+ -> Language.Fixpoint.Types.Environments.SEnv a+ -> Language.Fixpoint.Types.Environments.SEnv b+219f508e16df9faacad8d3bc324a44d1+ mapWithKeyMBindEnv ::+ GHC.Base.Monad m =>+ ((Language.Fixpoint.Types.Environments.BindId,+ (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft))+ -> m (Language.Fixpoint.Types.Environments.BindId,+ (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft)))+ -> Language.Fixpoint.Types.Environments.BindEnv+ -> m Language.Fixpoint.Types.Environments.BindEnv+042d686ac1046dc546144657885262c4+ memberIBindEnv ::+ Language.Fixpoint.Types.Environments.BindId+ -> Language.Fixpoint.Types.Environments.IBindEnv -> GHC.Types.Bool+5c6c280661ab2395f68ceac41ff286dc+ memberSEnv ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Environments.SEnv a -> GHC.Types.Bool+b65f48d19857641e3b855b73bcd54658+ nullIBindEnv ::+ Language.Fixpoint.Types.Environments.IBindEnv -> GHC.Types.Bool+745cf232b9d2982922c3e9b6e8a38fa4+ packm ::+ Language.Fixpoint.Types.Environments.Packs+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar GHC.Types.Int+ RecSel Left Language.Fixpoint.Types.Environments.Packs+7b76b1b3898bd64fc8c2187c261c0f80+ seBinds ::+ Language.Fixpoint.Types.Environments.SEnv a+ -> Data.HashMap.Base.HashMap Language.Fixpoint.Types.Names.Symbol a+ RecSel Left Language.Fixpoint.Types.Environments.SEnv+47e055b3941151cd8d69091c12631895+ splitByQuantifiers ::+ Language.Fixpoint.Types.Environments.BindEnv+ -> [Language.Fixpoint.Types.Environments.BindId]+ -> (Language.Fixpoint.Types.Environments.BindEnv,+ Language.Fixpoint.Types.Environments.EBindEnv)+ddd97c9c472b637e00dcfff9c958a991+ toListSEnv ::+ Language.Fixpoint.Types.Environments.SEnv a+ -> [(Language.Fixpoint.Types.Names.Symbol, a)]+d6e374c110095a69fc96506c80b54d5a+ unionIBindEnv ::+ Language.Fixpoint.Types.Environments.IBindEnv+ -> Language.Fixpoint.Types.Environments.IBindEnv+ -> Language.Fixpoint.Types.Environments.IBindEnv+9082cf3e67e0349ea8ea2b1196c1cc9c+ unionSEnv ::+ Language.Fixpoint.Types.Environments.SEnv a+ -> Data.HashMap.Base.HashMap Language.Fixpoint.Types.Names.Symbol a+ -> Language.Fixpoint.Types.Environments.SEnv a+7dcf4e55175a507f1619d6962d0dc662+ unionSEnv' ::+ Language.Fixpoint.Types.Environments.SEnv a+ -> Language.Fixpoint.Types.Environments.SEnv a+ -> Language.Fixpoint.Types.Environments.SEnv a+instance [orphan] Data.Binary.Class.Binary [Data.HashSet.HashSet]+ = Language.Fixpoint.Types.Environments.$fBinaryHashSet+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Environments.IBindEnv]+ = Language.Fixpoint.Types.Environments.$fBinaryIBindEnv+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Environments.Packs]+ = Language.Fixpoint.Types.Environments.$fBinaryPacks+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.$fBinarySEnv+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Environments.$fBinarySizedEnv+instance Data.Data.Data [Language.Fixpoint.Types.Environments.IBindEnv]+ = Language.Fixpoint.Types.Environments.$fDataIBindEnv+instance Data.Data.Data [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.$fDataSEnv+instance GHC.Classes.Eq [Language.Fixpoint.Types.Environments.IBindEnv]+ = Language.Fixpoint.Types.Environments.$fEqIBindEnv+instance GHC.Classes.Eq [Language.Fixpoint.Types.Environments.Packs]+ = Language.Fixpoint.Types.Environments.$fEqPacks+instance GHC.Classes.Eq [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.$fEqSEnv+instance GHC.Classes.Eq [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Environments.$fEqSizedEnv+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Environments.EBindEnv]+ = Language.Fixpoint.Types.Environments.$fFixpointEBindEnv+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Environments.IBindEnv]+ = Language.Fixpoint.Types.Environments.$fFixpointIBindEnv+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Environments.Packs]+ = Language.Fixpoint.Types.Environments.$fFixpointPacks+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.$fFixpointSEnv+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Environments.$fFixpointSizedEnv+instance Data.Foldable.Foldable [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.$fFoldableSEnv+instance Data.Foldable.Foldable [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Environments.$fFoldableSizedEnv+instance GHC.Base.Functor [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.$fFunctorSEnv+instance GHC.Base.Functor [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Environments.$fFunctorSizedEnv+instance GHC.Generics.Generic [Language.Fixpoint.Types.Environments.IBindEnv]+ = Language.Fixpoint.Types.Environments.$fGenericIBindEnv+instance GHC.Generics.Generic [Language.Fixpoint.Types.Environments.Packs]+ = Language.Fixpoint.Types.Environments.$fGenericPacks+instance GHC.Generics.Generic [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.$fGenericSEnv+instance GHC.Generics.Generic [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Environments.$fGenericSizedEnv+instance GHC.Base.Monoid [Language.Fixpoint.Types.Environments.IBindEnv]+ = Language.Fixpoint.Types.Environments.$fMonoidIBindEnv+instance GHC.Base.Monoid [Language.Fixpoint.Types.Environments.Packs]+ = Language.Fixpoint.Types.Environments.$fMonoidPacks+instance GHC.Base.Monoid [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.$fMonoidSEnv+instance GHC.Base.Monoid [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Environments.$fMonoidSizedEnv+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Environments.IBindEnv]+ = Language.Fixpoint.Types.Environments.$fNFDataIBindEnv+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Environments.Packs]+ = Language.Fixpoint.Types.Environments.$fNFDataPacks+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.$fNFDataSEnv+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Environments.$fNFDataSizedEnv+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Environments.IBindEnv]+ = Language.Fixpoint.Types.Environments.$fPPrintIBindEnv+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Environments.Packs]+ = Language.Fixpoint.Types.Environments.$fPPrintPacks+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.$fPPrintSEnv+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Environments.$fPPrintSizedEnv+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Environments.IBindEnv]+ = Language.Fixpoint.Types.Environments.$fSemigroupIBindEnv+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Environments.Packs]+ = Language.Fixpoint.Types.Environments.$fSemigroupPacks+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.$fSemigroupSEnv+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Environments.$fSemigroupSizedEnv+instance GHC.Show.Show [Language.Fixpoint.Types.Environments.Packs]+ = Language.Fixpoint.Types.Environments.$fShowPacks+instance GHC.Show.Show [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.$fShowSEnv+instance GHC.Show.Show [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Environments.$fShowSizedEnv+instance Data.Traversable.Traversable [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.$fTraversableSEnv+instance Data.Traversable.Traversable [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Environments.$fTraversableSizedEnv+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Environments.Packs]+ = Language.Fixpoint.Types.Environments.Rep_Packs+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Environments.Rep_SizedEnv+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Environments.SEnv]+ = Language.Fixpoint.Types.Environments.Rep_SEnv+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Environments.IBindEnv]+ = Language.Fixpoint.Types.Environments.Rep_IBindEnv+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,585 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:33.045968 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors [orphan module] [family instance module] 8065+ interface hash: 16b93538c23f8a489bc8cae133255d84+ ABI hash: 31e8527559b26e3ce8fcf2acaba869c3+ export-list hash: 89a9dc85e57ecc980170ae7cb32d2921+ orphan hash: 8b4182f10e0ccea2b4c37955fde60174+ flag hash: 8366537924ba6c96a6b61c1eecf1a52a+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Errors.catError+ Language.Fixpoint.Types.Errors.catErrors+ Language.Fixpoint.Types.Errors.colorResult+ Language.Fixpoint.Types.Errors.die+ Language.Fixpoint.Types.Errors.dieAt+ Language.Fixpoint.Types.Errors.err+ Language.Fixpoint.Types.Errors.errFreeVarInConstraint+ Language.Fixpoint.Types.Errors.errFreeVarInQual+ Language.Fixpoint.Types.Errors.errIllScopedKVar+ Language.Fixpoint.Types.Errors.errs+ Language.Fixpoint.Types.Errors.exit+ Language.Fixpoint.Types.Errors.panic+ Language.Fixpoint.Types.Errors.resultDoc+ Language.Fixpoint.Types.Errors.resultExit+ Language.Fixpoint.Types.Spans.dummySpan+ Language.Fixpoint.Types.Spans.sourcePosElts+ Language.Fixpoint.Types.Errors.Error+ Language.Fixpoint.Types.Errors.Error1{errLoc errMsg}+ Language.Fixpoint.Types.Errors.FixResult{Language.Fixpoint.Types.Errors.Crash Language.Fixpoint.Types.Errors.Safe Language.Fixpoint.Types.Errors.Unsafe}+ Language.Fixpoint.Types.Spans.SrcSpan{Language.Fixpoint.Types.Spans.SS sp_start sp_stop}+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Types.PrettyPrint Language.Fixpoint.Types.Spans+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 parsec-3.1.13.0 pretty-1.1.3.6+ process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7 text-1.2.3.1+ time-1.8.0.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Exception 041da5b6267cf6b639ff5716d5b299a9+import -/ base-4.12.0.0:Data.Data 2949b01dc3799f9122535900668dfcef+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Function 739684530bf19978a9a47e63c494ac7b+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Typeable 1095be85dd9009a6503a3981a259490e+import -/ base-4.12.0.0:Data.Typeable.Internal e1cb15df401654131814917774d4d7ed+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Exception 241d5c93d2929e130965d588cd89f59e+import -/ base-4.12.0.0:GHC.Exception.Type 98b0fca1a406b013cbf2a34ff23be207+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.IO 898d4ddbf00eb4732e5f462760aa42ae+import -/ base-4.12.0.0:GHC.IO.Exception 77722984940ee6ccf9e2f7dab10b83a4+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.Exit 3c945ec7c596067c067092c41083c3d0+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ binary-0.8.6.0:Data.Binary 47a89cefaa44e49e7fd21d133fce6a7e+import -/ binary-0.8.6.0:Data.Binary.Class 4a00b809573ad7c27e489f5b66886719+import -/ cereal-0.5.8.0:Data.Serialize 46eea0b64631e6bfa7ec81b0118ba8ea+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ Angry 90c0d767f82e118dc4644613e332abc8+ Happy 3e83bd74ce32639c013d32b4d3eb44f1+ ListNE 34c095e41b29e7147eb4001d73367295+ Moods b7dbbbd191c6a2df3bc3a2a7ba79f5da+ Sad de7a88dfe931f084d1f390f39b9b9f41+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ pprint 955dc9d031db587300edf6146ac33be4+ pprintTidy bf75bee99d55ab15929b450195e64f3c+ toFix 9b9c41ae3aa868a1e0f4e73cde8032e0+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ exports: 9e9118ba5257e743a1e1c46db3e4cd33+ Loc 4962bb0bc274d9001b974c3326b63480+ SS afc18641865e1d45f99679b3f3b93be2+ SrcSpan 30cdf4122b891cc575df90039bdcbecb+ dummySpan 4c3a1f24b19908507cae45f533bfffe9+ sourcePosElts 7b9ace6ed7c9c38d2ddfa2f617e1a2d5+ sp_start 30cdf4122b891cc575df90039bdcbecb+ sp_stop 30cdf4122b891cc575df90039bdcbecb+ srcSpan 2b3eb671678320980d11df21e110f501+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+ <-> a6bccb4500bca89f567c047995747774+import -/ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ a5dcede52bdfbaf5c69d5887e8fe449a+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ syb-0.7:Data.Generics f4bddd07fe7227d2509acad55f9ff82d+addDependentFile "/Users/niki/.stack/programs/x86_64-osx/ghc-8.6.5/lib/ghc-8.6.5/include/ghcversion.h" 43db44f9bb88490c2fa995e5f5ec33f2+addDependentFile ".stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/autogen/cabal_macros.h" 5d4a89af56b14b9a96821af0abd9deca+c0716f0e4597e606e45487edbbbeea3f+ $fBinaryFixResult ::+ Data.Binary.Class.Binary a =>+ Data.Binary.Class.Binary+ (Language.Fixpoint.Types.Errors.FixResult a)+ DFunId+c0716f0e4597e606e45487edbbbeea3f+ $fDataFixResult ::+ Data.Data.Data a =>+ Data.Data.Data (Language.Fixpoint.Types.Errors.FixResult a)+ DFunId+f5aa082d4556718e292f7fedf0bb1503+ $fEqError :: GHC.Classes.Eq Language.Fixpoint.Types.Errors.Error+ DFunId+4fefba4afaf2c68f3e4fed4f37986b71+ $fEqError1 :: GHC.Classes.Eq Language.Fixpoint.Types.Errors.Error1+ DFunId+c0716f0e4597e606e45487edbbbeea3f+ $fEqFixResult ::+ GHC.Classes.Eq a =>+ GHC.Classes.Eq (Language.Fixpoint.Types.Errors.FixResult a)+ DFunId+f5aa082d4556718e292f7fedf0bb1503+ $fExceptionError ::+ GHC.Exception.Type.Exception Language.Fixpoint.Types.Errors.Error+ DFunId+f5aa082d4556718e292f7fedf0bb1503+ $fExceptionFixResult ::+ GHC.Exception.Type.Exception+ (Language.Fixpoint.Types.Errors.FixResult+ Language.Fixpoint.Types.Errors.Error)+ DFunId+4fefba4afaf2c68f3e4fed4f37986b71+ $fFixpointError1 ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Errors.Error1+ DFunId+c0716f0e4597e606e45487edbbbeea3f+ $fFoldableFixResult ::+ Data.Foldable.Foldable Language.Fixpoint.Types.Errors.FixResult+ DFunId+c0716f0e4597e606e45487edbbbeea3f+ $fFunctorFixResult ::+ GHC.Base.Functor Language.Fixpoint.Types.Errors.FixResult+ DFunId+6ece9901f438fe402470ee136d8192e1+ $fGenericAnnotDetails ::+ GHC.Generics.Generic+ (Text.PrettyPrint.Annotated.HughesPJ.AnnotDetails a)+ DFunId+f5aa082d4556718e292f7fedf0bb1503+ $fGenericError ::+ GHC.Generics.Generic Language.Fixpoint.Types.Errors.Error+ DFunId+4fefba4afaf2c68f3e4fed4f37986b71+ $fGenericError1 ::+ GHC.Generics.Generic Language.Fixpoint.Types.Errors.Error1+ DFunId+c0716f0e4597e606e45487edbbbeea3f+ $fGenericFixResult ::+ GHC.Generics.Generic (Language.Fixpoint.Types.Errors.FixResult a)+ DFunId+c0716f0e4597e606e45487edbbbeea3f+ $fMonoidFixResult ::+ GHC.Base.Monoid (Language.Fixpoint.Types.Errors.FixResult a)+ DFunId+c0716f0e4597e606e45487edbbbeea3f+ $fNFDataFixResult ::+ Control.DeepSeq.NFData a =>+ Control.DeepSeq.NFData (Language.Fixpoint.Types.Errors.FixResult a)+ DFunId+f5aa082d4556718e292f7fedf0bb1503+ $fOrdError :: GHC.Classes.Ord Language.Fixpoint.Types.Errors.Error+ DFunId+4fefba4afaf2c68f3e4fed4f37986b71+ $fOrdError1 ::+ GHC.Classes.Ord Language.Fixpoint.Types.Errors.Error1+ DFunId+f5aa082d4556718e292f7fedf0bb1503+ $fPPrintError ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Errors.Error+ DFunId+4fefba4afaf2c68f3e4fed4f37986b71+ $fPPrintError1 ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Errors.Error1+ DFunId+c0716f0e4597e606e45487edbbbeea3f+ $fSemigroupFixResult ::+ GHC.Base.Semigroup (Language.Fixpoint.Types.Errors.FixResult a)+ DFunId+3180dce5f712629ef20c4a724989d8fd+ $fSerializeAnnotDetails ::+ Data.Serialize.Serialize a =>+ Data.Serialize.Serialize+ (Text.PrettyPrint.Annotated.HughesPJ.AnnotDetails a)+ DFunId+f31f5b85674bd2a5a53f0ab5d5f0435a+ $fSerializeDoc ::+ Data.Serialize.Serialize Text.PrettyPrint.HughesPJ.Doc+ DFunId+2ff91399a88972c4458e9a75638b69dc+ $fSerializeDoc0 ::+ Data.Serialize.Serialize a =>+ Data.Serialize.Serialize+ (Text.PrettyPrint.Annotated.HughesPJ.Doc a)+ DFunId+f5aa082d4556718e292f7fedf0bb1503+ $fSerializeError ::+ Data.Serialize.Serialize Language.Fixpoint.Types.Errors.Error+ DFunId+4fefba4afaf2c68f3e4fed4f37986b71+ $fSerializeError1 ::+ Data.Serialize.Serialize Language.Fixpoint.Types.Errors.Error1+ DFunId+f5aa082d4556718e292f7fedf0bb1503+ $fSerializeFixResult ::+ Data.Serialize.Serialize+ (Language.Fixpoint.Types.Errors.FixResult+ Language.Fixpoint.Types.Errors.Error)+ DFunId+d7b17af058efa1283ae8ac34123f3565+ $fSerializeTextDetails ::+ Data.Serialize.Serialize+ Text.PrettyPrint.Annotated.HughesPJ.TextDetails+ DFunId+f5aa082d4556718e292f7fedf0bb1503+ $fShowError :: GHC.Show.Show Language.Fixpoint.Types.Errors.Error+ DFunId+4fefba4afaf2c68f3e4fed4f37986b71+ $fShowError1 :: GHC.Show.Show Language.Fixpoint.Types.Errors.Error1+ DFunId+c0716f0e4597e606e45487edbbbeea3f+ $fShowFixResult ::+ GHC.Show.Show a =>+ GHC.Show.Show (Language.Fixpoint.Types.Errors.FixResult a)+ DFunId+c0716f0e4597e606e45487edbbbeea3f+ $fTraversableFixResult ::+ Data.Traversable.Traversable+ Language.Fixpoint.Types.Errors.FixResult+ DFunId+1aeb0263baacb663f26582c74b7b3c4b+ $tc'Crash :: GHC.Types.TyCon+712c4a6642ac25f2d3b86b96840f8da4+ $tc'Error :: GHC.Types.TyCon+7afb3c5a3fac07fcf80fa274c5ca93ce+ $tc'Error1 :: GHC.Types.TyCon+a60879fdafb8018a6ad16083d18cc6f1+ $tc'Safe :: GHC.Types.TyCon+88d16ff5c1ecb7d8aa1c140b1b0e1c95+ $tc'Unsafe :: GHC.Types.TyCon+5e4d12056ace5f6a42858b633b4dcc46+ $tcError :: GHC.Types.TyCon+4c9462988818fb341f4bf2b5a6b2dc99+ $tcError1 :: GHC.Types.TyCon+91e00c05fb976597424d771f82d03cae+ $tcFixResult :: GHC.Types.TyCon+541e44ab6a42a5a28884ae5162ea00e8+ $trModule :: GHC.Types.Module+f5aa082d4556718e292f7fedf0bb1503+ newtype Error = Error [Language.Fixpoint.Types.Errors.Error1]+4fefba4afaf2c68f3e4fed4f37986b71+ data Error1+ = Error1 {errLoc :: Language.Fixpoint.Types.Spans.SrcSpan,+ errMsg :: Text.PrettyPrint.HughesPJ.Doc}+c0716f0e4597e606e45487edbbbeea3f+ data FixResult a = Crash [a] GHC.Base.String | Safe | Unsafe ![a]+ae8b46dd353653f7b2bcefd9a0b04c85+ axiom Language.Fixpoint.Types.Errors.Rep_AnnotDetails::+ GHC.Generics.Rep+ (Text.PrettyPrint.Annotated.HughesPJ.AnnotDetails a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "AnnotDetails"+ "Text.PrettyPrint.Annotated.HughesPJ"+ "pretty-1.1.3.6"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "AnnotStart" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "NoAnnot" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Text.PrettyPrint.Annotated.HughesPJ.TextDetails)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.SourceUnpack+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedUnpack)+ (GHC.Generics.Rec0 GHC.Types.Int))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "AnnotEnd"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 a))))+f5aa082d4556718e292f7fedf0bb1503+ axiom Language.Fixpoint.Types.Errors.Rep_Error::+ GHC.Generics.Rep Language.Fixpoint.Types.Errors.Error+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Error"+ "Language.Fixpoint.Types.Errors"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.True)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Error" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 [Language.Fixpoint.Types.Errors.Error1])))+4fefba4afaf2c68f3e4fed4f37986b71+ axiom Language.Fixpoint.Types.Errors.Rep_Error1::+ GHC.Generics.Rep Language.Fixpoint.Types.Errors.Error1+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Error1"+ "Language.Fixpoint.Types.Errors"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Error1" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "errLoc")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Spans.SrcSpan)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "errMsg")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Text.PrettyPrint.HughesPJ.Doc)))+c0716f0e4597e606e45487edbbbeea3f+ axiom Language.Fixpoint.Types.Errors.Rep_FixResult::+ GHC.Generics.Rep (Language.Fixpoint.Types.Errors.FixResult a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "FixResult"+ "Language.Fixpoint.Types.Errors"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Crash" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 [a])+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Base.String))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Safe" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Unsafe"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 [a]))))+bc62bc4a753e843a93270632ec78b68e+ catError ::+ Language.Fixpoint.Types.Errors.Error+ -> Language.Fixpoint.Types.Errors.Error+ -> Language.Fixpoint.Types.Errors.Error+e509094129ca18eb8591fae917cbba68+ catErrors ::+ Language.Fixpoint.Misc.ListNE Language.Fixpoint.Types.Errors.Error+ -> Language.Fixpoint.Types.Errors.Error+709f5fbb6d9dbca4f5da58f6305e5cdd+ colorResult ::+ Language.Fixpoint.Types.Errors.FixResult a+ -> Language.Fixpoint.Misc.Moods+b694e04a36caf383107b8f2e73ae279e+ die :: Language.Fixpoint.Types.Errors.Error -> a+efdf927f8072d85a383b14811e0a2c02+ dieAt ::+ Language.Fixpoint.Types.Spans.SrcSpan+ -> Language.Fixpoint.Types.Errors.Error -> a+eb62a315ab4ae2ad7c68e48fa9cd6513+ err ::+ Language.Fixpoint.Types.Spans.SrcSpan+ -> Text.PrettyPrint.HughesPJ.Doc+ -> Language.Fixpoint.Types.Errors.Error+fd723dd431d2dfa7d2865d3365de5600+ errFreeVarInConstraint ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ (GHC.Integer.Type.Integer, a)+ -> Language.Fixpoint.Types.Errors.Error+5de6c8f1abed03643380cdf64f754585+ errFreeVarInQual ::+ (Language.Fixpoint.Types.PrettyPrint.PPrint q,+ Language.Fixpoint.Types.Spans.Loc q,+ Language.Fixpoint.Types.PrettyPrint.PPrint x) =>+ q -> x -> Language.Fixpoint.Types.Errors.Error+69fffebd0a579a1302a42038efceeb1d+ errIllScopedKVar ::+ (Language.Fixpoint.Types.PrettyPrint.PPrint k,+ Language.Fixpoint.Types.PrettyPrint.PPrint bs) =>+ (k, GHC.Integer.Type.Integer, GHC.Integer.Type.Integer, bs)+ -> Language.Fixpoint.Types.Errors.Error+4fefba4afaf2c68f3e4fed4f37986b71+ errLoc ::+ Language.Fixpoint.Types.Errors.Error1+ -> Language.Fixpoint.Types.Spans.SrcSpan+ RecSel Left Language.Fixpoint.Types.Errors.Error1+4fefba4afaf2c68f3e4fed4f37986b71+ errMsg ::+ Language.Fixpoint.Types.Errors.Error1+ -> Text.PrettyPrint.HughesPJ.Doc+ RecSel Left Language.Fixpoint.Types.Errors.Error1+6db600346c5584beb1f3dd88c8a922df+ errs ::+ Language.Fixpoint.Types.Errors.Error+ -> [Language.Fixpoint.Types.Errors.Error1]+60b6c402958553af7852319fbfaad91b+ exit :: a -> GHC.Types.IO a -> GHC.Types.IO a+87059ab6cc1a67158dab0a23bc2c22e7+ panic :: GHC.Base.String -> a+46d95b9743a9497ff7d25fcfb5d46218+ resultDoc ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.Errors.FixResult a+ -> Text.PrettyPrint.HughesPJ.Doc+6f6554eb2c105c8ef9383340c6b83edc+ resultExit ::+ Language.Fixpoint.Types.Errors.FixResult a+ -> GHC.IO.Exception.ExitCode+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.$fBinaryFixResult+instance Data.Data.Data [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.$fDataFixResult+instance GHC.Classes.Eq [Language.Fixpoint.Types.Errors.Error]+ = Language.Fixpoint.Types.Errors.$fEqError+instance GHC.Classes.Eq [Language.Fixpoint.Types.Errors.Error1]+ = Language.Fixpoint.Types.Errors.$fEqError1+instance GHC.Classes.Eq [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.$fEqFixResult+instance GHC.Exception.Type.Exception [Language.Fixpoint.Types.Errors.Error]+ = Language.Fixpoint.Types.Errors.$fExceptionError+instance GHC.Exception.Type.Exception [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.$fExceptionFixResult+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Errors.Error1]+ = Language.Fixpoint.Types.Errors.$fFixpointError1+instance Data.Foldable.Foldable [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.$fFoldableFixResult+instance GHC.Base.Functor [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.$fFunctorFixResult+instance [orphan] GHC.Generics.Generic [Text.PrettyPrint.Annotated.HughesPJ.AnnotDetails]+ = Language.Fixpoint.Types.Errors.$fGenericAnnotDetails+instance GHC.Generics.Generic [Language.Fixpoint.Types.Errors.Error]+ = Language.Fixpoint.Types.Errors.$fGenericError+instance GHC.Generics.Generic [Language.Fixpoint.Types.Errors.Error1]+ = Language.Fixpoint.Types.Errors.$fGenericError1+instance GHC.Generics.Generic [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.$fGenericFixResult+instance GHC.Base.Monoid [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.$fMonoidFixResult+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.$fNFDataFixResult+instance GHC.Classes.Ord [Language.Fixpoint.Types.Errors.Error]+ = Language.Fixpoint.Types.Errors.$fOrdError+instance GHC.Classes.Ord [Language.Fixpoint.Types.Errors.Error1]+ = Language.Fixpoint.Types.Errors.$fOrdError1+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Errors.Error]+ = Language.Fixpoint.Types.Errors.$fPPrintError+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Errors.Error1]+ = Language.Fixpoint.Types.Errors.$fPPrintError1+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.$fSemigroupFixResult+instance [orphan] Data.Serialize.Serialize [Text.PrettyPrint.Annotated.HughesPJ.AnnotDetails]+ = Language.Fixpoint.Types.Errors.$fSerializeAnnotDetails+instance [orphan] Data.Serialize.Serialize [Text.PrettyPrint.HughesPJ.Doc]+ = Language.Fixpoint.Types.Errors.$fSerializeDoc+instance [orphan] Data.Serialize.Serialize [Text.PrettyPrint.Annotated.HughesPJ.Doc]+ = Language.Fixpoint.Types.Errors.$fSerializeDoc0+instance Data.Serialize.Serialize [Language.Fixpoint.Types.Errors.Error]+ = Language.Fixpoint.Types.Errors.$fSerializeError+instance Data.Serialize.Serialize [Language.Fixpoint.Types.Errors.Error1]+ = Language.Fixpoint.Types.Errors.$fSerializeError1+instance Data.Serialize.Serialize [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.$fSerializeFixResult+instance [orphan] Data.Serialize.Serialize [Text.PrettyPrint.Annotated.HughesPJ.TextDetails]+ = Language.Fixpoint.Types.Errors.$fSerializeTextDetails+instance GHC.Show.Show [Language.Fixpoint.Types.Errors.Error]+ = Language.Fixpoint.Types.Errors.$fShowError+instance GHC.Show.Show [Language.Fixpoint.Types.Errors.Error1]+ = Language.Fixpoint.Types.Errors.$fShowError1+instance GHC.Show.Show [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.$fShowFixResult+instance Data.Traversable.Traversable [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.$fTraversableFixResult+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Errors.FixResult]+ = Language.Fixpoint.Types.Errors.Rep_FixResult+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Errors.Error]+ = Language.Fixpoint.Types.Errors.Rep_Error+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Errors.Error1]+ = Language.Fixpoint.Types.Errors.Rep_Error1+family instance [orphan] GHC.Generics.Rep [Text.PrettyPrint.Annotated.HughesPJ.AnnotDetails]+ = Language.Fixpoint.Types.Errors.Rep_AnnotDetails+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,436 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:51.331846 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Graduals 8065+ interface hash: caeeab3bdbc76d7ec9c1efb7a3a07c77+ ABI hash: 9b95f1fc42badbc3a1b9e3512be03999+ export-list hash: c652b3e750f52d0346904b3e8b817f3e+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 0bc6e4b226693119cd44100de16ecadc+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Graduals.makeSolutions+ Language.Fixpoint.Types.Graduals.uniquify+ Language.Fixpoint.Types.Graduals.GSol+ Language.Fixpoint.Types.Graduals.Gradual{Language.Fixpoint.Types.Graduals.gsubst}+module dependencies: Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.Solver.Sanitize Language.Fixpoint.SortCheck+ 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ fgl-5.7.0.1 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ allCombinations 7d64122a596fe1d6aad34004bb377232+ errorstar e47c2d482124b43e020a405f809adcff+import -/ Language.Fixpoint.Solver.Sanitize da8eac0e8562bb4a8fb712f9620a920d+ exports: 09f539552af63f8cdd1953f939eb3211+ symbolEnv e9ab0691e8ecbe0102273ed657a09d59+import -/ Language.Fixpoint.SortCheck f7b7dc40080c3027ffc5d238db179224+ exports: fef1457ed33a6a1cb5bc6a8b38a1edff+ elaborate 5809c5e4abf9d4e8230e50ea3a386a0e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ exports: 12c9708cdb7cc8f94e739104f060796e+ GWInfo 631d20d0918c14b74d892903e40cbdc3+ SInfo 90ef96c47f269969affd7c3639af34f3+ SimpC 03dcffeea2a5199db7c9ff0154825bc0+ SubcId 311c8f398e2d0f5e23e664bacb45f905+ WfC ad7a627c031dc594c719d4e423bdd067+ _cenv 03dcffeea2a5199db7c9ff0154825bc0+ _cinfo 03dcffeea2a5199db7c9ff0154825bc0+ _crhs 03dcffeea2a5199db7c9ff0154825bc0+ bs 90ef96c47f269969affd7c3639af34f3+ cm 90ef96c47f269969affd7c3639af34f3+ gexpr 631d20d0918c14b74d892903e40cbdc3+ ginfo 631d20d0918c14b74d892903e40cbdc3+ isGWfc 4c70cb60ff73f441d356b3d67861f82f+ wloc ad7a627c031dc594c719d4e423bdd067+ wrft ad7a627c031dc594c719d4e423bdd067+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ exports: ab8867d60d15ba2af38632b8e3ed1bf3+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ BindId c1dc08df6d648ef575cab1d33fc5df7b+ IBindEnv b71d4c279d7a7920d70dd44bac0305aa+ elemsIBindEnv cff28cd92ba002848a1acbf3edb359d8+ fromListIBindEnv 203f800f75e8e2acc2223edc99807147+ insertBindEnv bc97de86c3ec6f664abb49ca068d7984+ lookupBindEnv d43e50ddb41c32b57594f5f31bf34671+ mapBindEnv 32197c169397373f8fac7df4bdb16c5f+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ exports: 45d7959603a132b65636c5a341548000+ gradIntSymbol 1aa17d1748414df608190bab8045639d+ tidySymbol 13924b25c17672ff990eafc746ecd68a+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ showpp a9f79fc9a75f72593341c16b4b8ac492+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ exports: c373b88351492ec6aa75dffded20541a+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Expr 58dd7eff6040aa97f060415235c6cb01+ GradInfo af986c6f2ab8500fff12f403a43796ed+ KV 9862585cb8815843a934d7dad38d665a+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ PGrad 550de568c0242ed5fa6ef66e4aa1194d+ RR bc18741bade52dfcbbbc2473e1b91821+ Reft 11628612f280bce553f9c182ec061ec6+ Reft 58dd7eff6040aa97f060415235c6cb01+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ gused af986c6f2ab8500fff12f403a43796ed+ pAnd d997a1bd3b1f67d4020526858eca07c4+ sr_reft 58dd7eff6040aa97f060415235c6cb01+ subst 8dc51beb28f3e734b2b3097edf7df9c8+ syms cedb5518769db9d49f4ce507184c5e1f+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ exports: 9e9118ba5257e743a1e1c46db3e4cd33+ Loc 4962bb0bc274d9001b974c3326b63480+ SrcSpan 30cdf4122b891cc575df90039bdcbecb+ srcSpan 2b3eb671678320980d11df21e110f501+import -/ Language.Fixpoint.Types.Substitutions 68389730f57eb1bd783731c1e8e83435+ exports: 49819ba83f4a612781a90fc7826a8b86+ mkSubst fa0e5a33f52a68ffd2f44ba8a067ca8c+import -/ Language.Fixpoint.Types.Theories 2d31db6b0cdc7b0f2231db238b021516+ exports: a69c86f8cdfe4a6b4b2b705830bc822b+ SymEnv 0506688674ca55c28cc4df4c4dbdb2df+import -/ Language.Fixpoint.Types.Visitor f18ce5f6a562022e9c59dbca8db1edad+ exports: 483fcd13e73dd85ffa64d4931a72ac90+ mapGVars' 8c97587b713809af4b9e9ba86ff22a20+ mapMExpr 6293e52d58f2fec83e2af187562c44a6+import -/ mtl-2.2.2:Control.Monad.State.Class 243c828469104fb94563be0ea268f418+import -/ mtl-2.2.2:Control.Monad.State.Lazy 7d371b0031c45953f2f91cf2f08d9b31+import -/ transformers-0.5.6.2:Control.Monad.Trans.State.Lazy 0c22827dedcb94d04bf072c00f8e95c2+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+f7995c7c09ea44df5ca8589e248a9a3d+ $fGradualExpr ::+ Language.Fixpoint.Types.Graduals.Gradual+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+f7995c7c09ea44df5ca8589e248a9a3d+ $fGradualGInfo ::+ Language.Fixpoint.Types.Graduals.Gradual+ (Language.Fixpoint.Types.Constraints.SInfo a)+ DFunId+f7995c7c09ea44df5ca8589e248a9a3d+ $fGradualHashMap ::+ Language.Fixpoint.Types.Graduals.Gradual v =>+ Language.Fixpoint.Types.Graduals.Gradual+ (Data.HashMap.Base.HashMap k v)+ DFunId+f7995c7c09ea44df5ca8589e248a9a3d+ $fGradualReft ::+ Language.Fixpoint.Types.Graduals.Gradual+ Language.Fixpoint.Types.Refinements.Reft+ DFunId+f7995c7c09ea44df5ca8589e248a9a3d+ $fGradualSimpC ::+ Language.Fixpoint.Types.Graduals.Gradual+ (Language.Fixpoint.Types.Constraints.SimpC a)+ DFunId+f7995c7c09ea44df5ca8589e248a9a3d+ $fGradualSizedEnv ::+ Language.Fixpoint.Types.Graduals.Gradual+ Language.Fixpoint.Types.Environments.BindEnv+ DFunId+f7995c7c09ea44df5ca8589e248a9a3d+ $fGradualSortedReft ::+ Language.Fixpoint.Types.Graduals.Gradual+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+2b38bcc7073965cad9db4503bf02261e+ $fMonoidGSol ::+ GHC.Base.Monoid Language.Fixpoint.Types.Graduals.GSol+ DFunId+2b38bcc7073965cad9db4503bf02261e+ $fSemigroupGSol ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Graduals.GSol+ DFunId+2b38bcc7073965cad9db4503bf02261e+ $fShowGSol :: GHC.Show.Show Language.Fixpoint.Types.Graduals.GSol+ DFunId+cbabeb8f08d15df5178b7f05e459691b+ $fUniqueExpr ::+ Language.Fixpoint.Types.Graduals.Unique+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+cbabeb8f08d15df5178b7f05e459691b+ $fUniqueHashMap ::+ Language.Fixpoint.Types.Graduals.Unique a =>+ Language.Fixpoint.Types.Graduals.Unique+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Constraints.SubcId a)+ DFunId+cbabeb8f08d15df5178b7f05e459691b+ $fUniqueIBindEnv ::+ Language.Fixpoint.Types.Graduals.Unique+ Language.Fixpoint.Types.Environments.IBindEnv+ DFunId+cbabeb8f08d15df5178b7f05e459691b+ $fUniqueInt ::+ Language.Fixpoint.Types.Graduals.Unique+ Language.Fixpoint.Types.Environments.BindId+ DFunId+cbabeb8f08d15df5178b7f05e459691b+ $fUniqueReft ::+ Language.Fixpoint.Types.Graduals.Unique+ Language.Fixpoint.Types.Refinements.Reft+ DFunId+cbabeb8f08d15df5178b7f05e459691b+ $fUniqueSimpC ::+ Language.Fixpoint.Types.Spans.Loc a =>+ Language.Fixpoint.Types.Graduals.Unique+ (Language.Fixpoint.Types.Constraints.SimpC a)+ DFunId+cbabeb8f08d15df5178b7f05e459691b+ $fUniqueSortedReft ::+ Language.Fixpoint.Types.Graduals.Unique+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+16a76c9c7508fa5f82af149ace0c528d+ $tc'C:Gradual :: GHC.Types.TyCon+4aa416bda9d8d397df8c32ec7fa301a8+ $tc'C:Unique :: GHC.Types.TyCon+f3c9585511338fa43c28d7326e78d243+ $tc'GSol :: GHC.Types.TyCon+d8ac23c621ae932117410a726c59b4bc+ $tc'UniqueST :: GHC.Types.TyCon+23d20675dcef5ddc1b3bc181f298494f+ $tcGSol :: GHC.Types.TyCon+25e43f774921bdcca8ae839180a97968+ $tcGradual :: GHC.Types.TyCon+8535846136e5385aac1d951afc9ef8f2+ $tcUnique :: GHC.Types.TyCon+3d983ba53eedb87d54a6d8a6de32b923+ $tcUniqueST :: GHC.Types.TyCon+debe5f999b3e461e1dd9978601472760+ $trModule :: GHC.Types.Module+2b38bcc7073965cad9db4503bf02261e+ data GSol+ = GSol !Language.Fixpoint.Types.Theories.SymEnv+ !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ (Language.Fixpoint.Types.Refinements.Expr,+ Language.Fixpoint.Types.Refinements.GradInfo))+f7995c7c09ea44df5ca8589e248a9a3d+ class Gradual a where+ gsubst :: Language.Fixpoint.Types.Graduals.GSol -> a -> a+ {-# MINIMAL gsubst #-}+cbabeb8f08d15df5178b7f05e459691b+ class Unique a where+ uniq :: a -> Language.Fixpoint.Types.Graduals.UniqueM a+ {-# MINIMAL uniq #-}+11880e5e846971e1b118c133eb1858d0+ type UniqueM =+ Control.Monad.Trans.State.Lazy.State+ Language.Fixpoint.Types.Graduals.UniqueST+ :: * -> *+b0de2de7486f9dd9bfa0aee596eba1e5+ data UniqueST+ = UniqueST {freshId :: GHC.Integer.Type.Integer,+ kmap :: Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ [(Language.Fixpoint.Types.Refinements.KVar,+ GHC.Maybe.Maybe Language.Fixpoint.Types.Spans.SrcSpan)],+ change :: GHC.Types.Bool,+ cache :: Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ Language.Fixpoint.Types.Refinements.KVar,+ uloc :: GHC.Maybe.Maybe Language.Fixpoint.Types.Spans.SrcSpan,+ ubs :: [Language.Fixpoint.Types.Environments.BindId],+ benv :: Language.Fixpoint.Types.Environments.BindEnv}+b0de2de7486f9dd9bfa0aee596eba1e5+ benv ::+ Language.Fixpoint.Types.Graduals.UniqueST+ -> Language.Fixpoint.Types.Environments.BindEnv+ RecSel Left Language.Fixpoint.Types.Graduals.UniqueST+b0de2de7486f9dd9bfa0aee596eba1e5+ cache ::+ Language.Fixpoint.Types.Graduals.UniqueST+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ Language.Fixpoint.Types.Refinements.KVar+ RecSel Left Language.Fixpoint.Types.Graduals.UniqueST+b0de2de7486f9dd9bfa0aee596eba1e5+ change ::+ Language.Fixpoint.Types.Graduals.UniqueST -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Graduals.UniqueST+b0de2de7486f9dd9bfa0aee596eba1e5+ freshId ::+ Language.Fixpoint.Types.Graduals.UniqueST+ -> GHC.Integer.Type.Integer+ RecSel Left Language.Fixpoint.Types.Graduals.UniqueST+b0de2de7486f9dd9bfa0aee596eba1e5+ kmap ::+ Language.Fixpoint.Types.Graduals.UniqueST+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ [(Language.Fixpoint.Types.Refinements.KVar,+ GHC.Maybe.Maybe Language.Fixpoint.Types.Spans.SrcSpan)]+ RecSel Left Language.Fixpoint.Types.Graduals.UniqueST+386ba6c6f005b28017975011198826fa+ makeSolutions ::+ (Control.DeepSeq.NFData a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a, GHC.Show.Show a) =>+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.SInfo a+ -> [(Language.Fixpoint.Types.Refinements.KVar,+ (Language.Fixpoint.Types.Constraints.GWInfo,+ [[Language.Fixpoint.Types.Refinements.Expr]]))]+ -> GHC.Maybe.Maybe [Language.Fixpoint.Types.Graduals.GSol]+b0de2de7486f9dd9bfa0aee596eba1e5+ ubs ::+ Language.Fixpoint.Types.Graduals.UniqueST+ -> [Language.Fixpoint.Types.Environments.BindId]+ RecSel Left Language.Fixpoint.Types.Graduals.UniqueST+b0de2de7486f9dd9bfa0aee596eba1e5+ uloc ::+ Language.Fixpoint.Types.Graduals.UniqueST+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Spans.SrcSpan+ RecSel Left Language.Fixpoint.Types.Graduals.UniqueST+cd30e5a333a1800b833e4b9e3960a100+ uniquify ::+ (Control.DeepSeq.NFData a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a,+ Language.Fixpoint.Types.Spans.Loc a) =>+ Language.Fixpoint.Types.Constraints.SInfo a+ -> Language.Fixpoint.Types.Constraints.SInfo a+instance Language.Fixpoint.Types.Graduals.Gradual [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Graduals.$fGradualExpr+instance Language.Fixpoint.Types.Graduals.Gradual [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Graduals.$fGradualGInfo+instance Language.Fixpoint.Types.Graduals.Gradual [Data.HashMap.Base.HashMap]+ = Language.Fixpoint.Types.Graduals.$fGradualHashMap+instance Language.Fixpoint.Types.Graduals.Gradual [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Graduals.$fGradualReft+instance Language.Fixpoint.Types.Graduals.Gradual [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Types.Graduals.$fGradualSimpC+instance Language.Fixpoint.Types.Graduals.Gradual [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Graduals.$fGradualSizedEnv+instance Language.Fixpoint.Types.Graduals.Gradual [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Graduals.$fGradualSortedReft+instance GHC.Base.Monoid [Language.Fixpoint.Types.Graduals.GSol]+ = Language.Fixpoint.Types.Graduals.$fMonoidGSol+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Graduals.GSol]+ = Language.Fixpoint.Types.Graduals.$fSemigroupGSol+instance GHC.Show.Show [Language.Fixpoint.Types.Graduals.GSol]+ = Language.Fixpoint.Types.Graduals.$fShowGSol+instance Language.Fixpoint.Types.Graduals.Unique [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Graduals.$fUniqueExpr+instance Language.Fixpoint.Types.Graduals.Unique [Data.HashMap.Base.HashMap]+ = Language.Fixpoint.Types.Graduals.$fUniqueHashMap+instance Language.Fixpoint.Types.Graduals.Unique [Language.Fixpoint.Types.Environments.IBindEnv]+ = Language.Fixpoint.Types.Graduals.$fUniqueIBindEnv+instance Language.Fixpoint.Types.Graduals.Unique [GHC.Types.Int]+ = Language.Fixpoint.Types.Graduals.$fUniqueInt+instance Language.Fixpoint.Types.Graduals.Unique [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Graduals.$fUniqueReft+instance Language.Fixpoint.Types.Graduals.Unique [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Types.Graduals.$fUniqueSimpC+instance Language.Fixpoint.Types.Graduals.Unique [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Graduals.$fUniqueSortedReft+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,689 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:26.047414 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names [orphan module] [family instance module] 8065+ interface hash: 7f45a6518b9e4e51ff0ff8bd2ec5a211+ ABI hash: 24bdf320bdb18d7e1da06545fbe0099a+ export-list hash: 45d7959603a132b65636c5a341548000+ orphan hash: 0094812c5ccbdffe1da710a7813afb87+ flag hash: 6515ec38a27d09aef28927b0f6017457+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Names.anfPrefix+ Language.Fixpoint.Types.Names.applyName+ Language.Fixpoint.Types.Names.bitVecApplyName+ Language.Fixpoint.Types.Names.bitVecName+ Language.Fixpoint.Types.Names.bitVecToIntName+ Language.Fixpoint.Types.Names.boolApplyName+ Language.Fixpoint.Types.Names.boolConName+ Language.Fixpoint.Types.Names.boolToIntName+ Language.Fixpoint.Types.Names.buildMany+ Language.Fixpoint.Types.Names.bvAndName+ Language.Fixpoint.Types.Names.bvOrName+ Language.Fixpoint.Types.Names.charConName+ Language.Fixpoint.Types.Names.coerceName+ Language.Fixpoint.Types.Names.consName+ Language.Fixpoint.Types.Names.consSym+ Language.Fixpoint.Types.Names.divFuncName+ Language.Fixpoint.Types.Names.dropSym+ Language.Fixpoint.Types.Names.dummyName+ Language.Fixpoint.Types.Names.dummySymbol+ Language.Fixpoint.Types.Names.existSymbol+ Language.Fixpoint.Types.Names.funConName+ Language.Fixpoint.Types.Names.gradIntSymbol+ Language.Fixpoint.Types.Names.headSym+ Language.Fixpoint.Types.Names.intApplyName+ Language.Fixpoint.Types.Names.intSymbol+ Language.Fixpoint.Types.Names.isDummy+ Language.Fixpoint.Types.Names.isLamArgSymbol+ Language.Fixpoint.Types.Names.isLitSymbol+ Language.Fixpoint.Types.Names.isNonSymbol+ Language.Fixpoint.Types.Names.isNontrivialVV+ Language.Fixpoint.Types.Names.isPrefixOfSym+ Language.Fixpoint.Types.Names.isPrim+ Language.Fixpoint.Types.Names.isSuffixOfSym+ Language.Fixpoint.Types.Names.isTestSymbol+ Language.Fixpoint.Types.Names.kArgSymbol+ Language.Fixpoint.Types.Names.lamArgSymbol+ Language.Fixpoint.Types.Names.lambdaName+ Language.Fixpoint.Types.Names.lengthSym+ Language.Fixpoint.Types.Names.listConName+ Language.Fixpoint.Types.Names.listLConName+ Language.Fixpoint.Types.Names.litSymbol+ Language.Fixpoint.Types.Names.mapApplyName+ Language.Fixpoint.Types.Names.mapConName+ Language.Fixpoint.Types.Names.mapToIntName+ Language.Fixpoint.Types.Names.mappendSym+ Language.Fixpoint.Types.Names.mulFuncName+ Language.Fixpoint.Types.Names.nilName+ Language.Fixpoint.Types.Names.nonSymbol+ Language.Fixpoint.Types.Names.preludeName+ Language.Fixpoint.Types.Names.prims+ Language.Fixpoint.Types.Names.propConName+ Language.Fixpoint.Types.Names.realApplyName+ Language.Fixpoint.Types.Names.realToIntName+ Language.Fixpoint.Types.Names.renameSymbol+ Language.Fixpoint.Types.Names.setApplyName+ Language.Fixpoint.Types.Names.setConName+ Language.Fixpoint.Types.Names.setToIntName+ Language.Fixpoint.Types.Names.size32Name+ Language.Fixpoint.Types.Names.size64Name+ Language.Fixpoint.Types.Names.strConName+ Language.Fixpoint.Types.Names.stripPrefix+ Language.Fixpoint.Types.Names.stripSuffix+ Language.Fixpoint.Types.Names.suffixSymbol+ Language.Fixpoint.Types.Names.symChars+ Language.Fixpoint.Types.Names.symbolBuilder+ Language.Fixpoint.Types.Names.symbolSafeString+ Language.Fixpoint.Types.Names.symbolSafeText+ Language.Fixpoint.Types.Names.symbolString+ Language.Fixpoint.Types.Names.symbolText+ Language.Fixpoint.Types.Names.symbolicString+ Language.Fixpoint.Types.Names.tempPrefix+ Language.Fixpoint.Types.Names.tempSymbol+ Language.Fixpoint.Types.Names.testSymbol+ Language.Fixpoint.Types.Names.tidySymbol+ Language.Fixpoint.Types.Names.toIntName+ Language.Fixpoint.Types.Names.tupConName+ Language.Fixpoint.Types.Names.unLitSymbol+ Language.Fixpoint.Types.Names.unconsSym+ Language.Fixpoint.Types.Names.vv+ Language.Fixpoint.Types.Names.vvCon+ Language.Fixpoint.Types.Names.vvName+ Language.Fixpoint.Types.Names.LocSymbol+ Language.Fixpoint.Types.Names.LocText+ Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Names.Symbolic{Language.Fixpoint.Types.Names.symbol}+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Types.PrettyPrint Language.Fixpoint.Types.Spans+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Arrow cda881e865dd3141fb08ed18f2efcca7+import -/ base-4.12.0.0:Data.Char 74f67fe9150a102afa18766e840f6832+import -/ base-4.12.0.0:Data.Data 2949b01dc3799f9122535900668dfcef+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.Monoid 12b87658decc811c5251626260c01aeb+import -/ base-4.12.0.0:Data.String fa00d4c51cd8d22ee4f54a25f9e9c97d+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:Data.Typeable 1095be85dd9009a6503a3981a259490e+import -/ base-4.12.0.0:Data.Typeable.Internal e1cb15df401654131814917774d4d7ed+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ binary-0.8.6.0:Data.Binary 47a89cefaa44e49e7fd21d133fce6a7e+import -/ binary-0.8.6.0:Data.Binary.Class 4a00b809573ad7c27e489f5b66886719+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ intern-0.9.2:Data.Interned 6ba4ac7d07d48904e3f0a832c9e39eb0+import -/ intern-0.9.2:Data.Interned.Internal 9f53023258cb9b6084177d4440202d7d+import -/ intern-0.9.2:Data.Interned.Internal.Text 958a3fffe4ccc16dbf1de3793548b91b+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ toFix 9b9c41ae3aa868a1e0f4e73cde8032e0+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ exports: 9e9118ba5257e743a1e1c46db3e4cd33+ Located 98c2e3118bdcfbfec2dfd5f953f55cfd+ val 98c2e3118bdcfbfec2dfd5f953f55cfd+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ syb-0.7:Data.Generics f4bddd07fe7227d2509acad55f9ff82d+import -/ text-1.2.3.1:Data.Text 681b9c3df5b4e4b4e23ef5f840f0b692+import -/ text-1.2.3.1:Data.Text.Internal 537e168590e8068f673f691833f78483+import -/ text-1.2.3.1:Data.Text.Internal.Builder 1797fde4ca8ef0dc40109aae6e9f65de+import -/ text-1.2.3.1:Data.Text.Lazy.Builder 8de68d4400c5e110387b343256e7694d+import -/ text-1.2.3.1:Data.Text.Show b788b7edd0f190b1a7c4f4aba0e35f18+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+3f986d27cdf6315dd770c516fc00a643+ $fBinarySymbol ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Names.Symbol+ DFunId+858f826002dc3f8e0c9f246f3a3d34b1+ $fDataInternedText ::+ Data.Data.Data Data.Interned.Internal.Text.InternedText+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fDataSymbol :: Data.Data.Data Language.Fixpoint.Types.Names.Symbol+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fEqDescription ::+ GHC.Classes.Eq+ (Data.Interned.Internal.Description+ Language.Fixpoint.Types.Names.Symbol)+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fEqSymbol :: GHC.Classes.Eq Language.Fixpoint.Types.Names.Symbol+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fFixpointSymbol ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Names.Symbol+ DFunId+4a95deb4dfc5e6f79941218dc7b4580f+ $fFixpointText ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Data.Text.Internal.Text+ DFunId+dde07d62d62968a065e7b8ec1ad754ee+ $fGenericInternedText ::+ GHC.Generics.Generic Data.Interned.Internal.Text.InternedText+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fGenericSymbol ::+ GHC.Generics.Generic Language.Fixpoint.Types.Names.Symbol+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fHashableDescription ::+ Data.Hashable.Class.Hashable+ (Data.Interned.Internal.Description+ Language.Fixpoint.Types.Names.Symbol)+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fHashableSymbol ::+ Data.Hashable.Class.Hashable Language.Fixpoint.Types.Names.Symbol+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fInternedSymbol ::+ Data.Interned.Internal.Interned+ Language.Fixpoint.Types.Names.Symbol+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fIsStringSymbol ::+ Data.String.IsString Language.Fixpoint.Types.Names.Symbol+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fNFDataSymbol ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Names.Symbol+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fOrdSymbol :: GHC.Classes.Ord Language.Fixpoint.Types.Names.Symbol+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fPPrintSymbol ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Names.Symbol+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fShowSymbol :: GHC.Show.Show Language.Fixpoint.Types.Names.Symbol+ DFunId+2eef5be3f02dd72d878415fe4e78ea18+ $fSymbolicLocated ::+ Language.Fixpoint.Types.Names.Symbolic a =>+ Language.Fixpoint.Types.Names.Symbolic+ (Language.Fixpoint.Types.Spans.Located a)+ DFunId+2eef5be3f02dd72d878415fe4e78ea18+ $fSymbolicSymbol ::+ Language.Fixpoint.Types.Names.Symbolic+ Language.Fixpoint.Types.Names.Symbol+ DFunId+2eef5be3f02dd72d878415fe4e78ea18+ $fSymbolicText ::+ Language.Fixpoint.Types.Names.Symbolic Data.Text.Internal.Text+ DFunId+2eef5be3f02dd72d878415fe4e78ea18+ $fSymbolic[] ::+ Language.Fixpoint.Types.Names.Symbolic GHC.Base.String+ DFunId+3f986d27cdf6315dd770c516fc00a643+ $fUninternableSymbol ::+ Data.Interned.Internal.Uninternable+ Language.Fixpoint.Types.Names.Symbol+ DFunId+4e020f85bfa2c1188c05e415af6cd12b+ $tc'C:Symbolic :: GHC.Types.TyCon+ce8a1a12f8bc0d49598f7b00955c8a3e+ $tc'DT :: GHC.Types.TyCon+5c4d9363f0b3a5522642449e609a986a+ $tc'S :: GHC.Types.TyCon+d30333ad73fc17bb40483e60940bfec9+ $tcSymbol :: GHC.Types.TyCon+19b974d95c36eefc37ab24d8def470c8+ $tcSymbolic :: GHC.Types.TyCon+493671b9e3cf559d2802d85e56ba11fc+ $trModule :: GHC.Types.Module+b75a6378ce4fbeb4e55111871365bc6c+ axiom Language.Fixpoint.Types.Names.D:R:DescriptionSymbol0::+ Data.Interned.Internal.Description+ Language.Fixpoint.Types.Names.Symbol+ = Language.Fixpoint.Types.Names.R:DescriptionSymbol+3f986d27cdf6315dd770c516fc00a643+ axiom Language.Fixpoint.Types.Names.D:R:UninternedSymbol::+ Data.Interned.Internal.Uninterned+ Language.Fixpoint.Types.Names.Symbol+ = Data.Text.Internal.Text+e6d5fcd49dd2746d9598e2efb4f857d1+ type LocSymbol =+ Language.Fixpoint.Types.Spans.Located+ Language.Fixpoint.Types.Names.Symbol+a04fe9b50ae3ea5172feb937475784e3+ type LocText =+ Language.Fixpoint.Types.Spans.Located Data.Text.Internal.Text+b75a6378ce4fbeb4e55111871365bc6c+ newtype instance Data.Interned.Internal.Description+ Language.Fixpoint.Types.Names.Symbol+ = DT Data.Text.Internal.Text+13351d1e636a3dba6f5a0731aa2de97d+ axiom Language.Fixpoint.Types.Names.Rep_InternedText::+ GHC.Generics.Rep Data.Interned.Internal.Text.InternedText+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "InternedText"+ "Data.Interned.Internal.Text"+ "intern-0.9.2-1k5HlC2OR4dJna2fS2KnK5"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "InternedText" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "internedTextId")+ 'GHC.Generics.SourceUnpack+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedUnpack)+ (GHC.Generics.Rec0 Data.Interned.Internal.Id)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "uninternedText")+ 'GHC.Generics.SourceUnpack+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedUnpack)+ (GHC.Generics.Rec0 Data.Text.Internal.Text)))+3f986d27cdf6315dd770c516fc00a643+ axiom Language.Fixpoint.Types.Names.Rep_Symbol::+ GHC.Generics.Rep Language.Fixpoint.Types.Names.Symbol+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Symbol"+ "Language.Fixpoint.Types.Names"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons "S" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "_symbolId")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Data.Interned.Internal.Id)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "symbolRaw")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Data.Text.Internal.Text)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "symbolEncoded")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Data.Text.Internal.Text))))+759f5b0976a018a7e8f4a2e586ef018f+ type SafeText = Data.Text.Internal.Text+3f986d27cdf6315dd770c516fc00a643+ data Symbol+ = S {_symbolId :: !Data.Interned.Internal.Id,+ symbolRaw :: !Data.Text.Internal.Text,+ symbolEncoded :: !Data.Text.Internal.Text}+2eef5be3f02dd72d878415fe4e78ea18+ class Symbolic a where+ symbol :: a -> Language.Fixpoint.Types.Names.Symbol+ {-# MINIMAL symbol #-}+3f986d27cdf6315dd770c516fc00a643+ _symbolId ::+ Language.Fixpoint.Types.Names.Symbol -> Data.Interned.Internal.Id+ RecSel Left Language.Fixpoint.Types.Names.Symbol+979e2a188df16689d398f939d5adfb9e+ anfPrefix :: Language.Fixpoint.Types.Names.Symbol+25f366ca3bca038d84f346fd1351a02a+ applyName :: Language.Fixpoint.Types.Names.Symbol+0981af425f14028077325ff55671bb1f+ bitVecApplyName ::+ GHC.Types.Int -> Language.Fixpoint.Types.Names.Symbol+00019ed7902409f02e42ac9147024c0f+ bitVecName :: Language.Fixpoint.Types.Names.Symbol+b40951bc683f67316c7230f2f9d43b3a+ bitVecToIntName :: Language.Fixpoint.Types.Names.Symbol+8faceaad8b273b7bc6a7d8549f9f99f6+ boolApplyName ::+ GHC.Types.Int -> Language.Fixpoint.Types.Names.Symbol+9c3bc87c7c3be02c654b7c6e667f970d+ boolConName :: Language.Fixpoint.Types.Names.Symbol+2f2e9300f8202a4d7e106ba0a7f7b2c3+ boolToIntName :: Data.String.IsString a => a+f14f2cccc11f92b60f7e06649edc7b82+ buildMany ::+ [Data.Text.Internal.Builder.Builder]+ -> Data.Text.Internal.Builder.Builder+f0343b8a4f8bd92677e59ed88901c889+ bvAndName :: Language.Fixpoint.Types.Names.Symbol+efd850d2d2d132e184bb436c2e5ec069+ bvOrName :: Language.Fixpoint.Types.Names.Symbol+8fd2f192dd3a20288c13ba42ce745525+ charConName :: Data.String.IsString a => a+cfa798590c79dbe5ef2b611f14e80f7f+ coerceName :: Language.Fixpoint.Types.Names.Symbol+678592453e2f2f20803bbf6dc64cbb4e+ consName :: Language.Fixpoint.Types.Names.Symbol+bfe4bf526ff036c2f437037daac33fcf+ consSym ::+ GHC.Types.Char+ -> Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol+dae7813b9ecfad96423501941a112512+ divFuncName :: Language.Fixpoint.Types.Names.Symbol+eb03d15e953f7a3dd400a0856ba490ad+ dropSym ::+ GHC.Types.Int+ -> Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol+c0222e65a2a2086852b2cd1d08a31a6b+ dummyName :: Language.Fixpoint.Types.Names.Symbol+511b7e2d64aed867c4c005991f9f72f8+ dummySymbol :: Language.Fixpoint.Types.Names.Symbol+a954851d44d4373674aa541c5a9cd0e5+ existSymbol ::+ Language.Fixpoint.Types.Names.Symbol+ -> GHC.Integer.Type.Integer -> Language.Fixpoint.Types.Names.Symbol+84b9db3261f970555e0a99bd0826a6d5+ funConName :: Language.Fixpoint.Types.Names.Symbol+1aa17d1748414df608190bab8045639d+ gradIntSymbol ::+ GHC.Integer.Type.Integer -> Language.Fixpoint.Types.Names.Symbol+45e33a0ea41b31cae845977e74bcff61+ headSym :: Language.Fixpoint.Types.Names.Symbol -> GHC.Types.Char+d6f8f873784b8ae7a368895412e13472+ intApplyName ::+ GHC.Types.Int -> Language.Fixpoint.Types.Names.Symbol+a4ae136aedf5d0fada743997e9c6751f+ intSymbol ::+ GHC.Show.Show a =>+ Language.Fixpoint.Types.Names.Symbol+ -> a -> Language.Fixpoint.Types.Names.Symbol+8f5e7a7858546dd93bba94304129d98c+ isDummy ::+ Language.Fixpoint.Types.Names.Symbolic a => a -> GHC.Types.Bool+2c225b4ac3041fa9a0dcc3fb3d04950a+ isLamArgSymbol ::+ Language.Fixpoint.Types.Names.Symbol -> GHC.Types.Bool+25094086814fd8fb3cd404fe6ffd3f18+ isLitSymbol ::+ Language.Fixpoint.Types.Names.Symbol -> GHC.Types.Bool+dbaee96374ae753f6f7fc1dc348e0a72+ isNonSymbol ::+ Language.Fixpoint.Types.Names.Symbol -> GHC.Types.Bool+d2f9ec82c7f48560a61c5dc5ba3c176e+ isNontrivialVV ::+ Language.Fixpoint.Types.Names.Symbol -> GHC.Types.Bool+86ec416a6c2f0bf3bce3e459087dd2d0+ isPrefixOfSym ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol -> GHC.Types.Bool+4fab3a36c40c906c0a228dd06b3191af+ isPrim :: Language.Fixpoint.Types.Names.Symbol -> GHC.Types.Bool+02e841912eb6bd5cb579130bfbbfbf30+ isSuffixOfSym ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol -> GHC.Types.Bool+8c44e310df896aa9aa25d9ca880b232a+ isTestSymbol ::+ Language.Fixpoint.Types.Names.Symbol -> GHC.Types.Bool+c4387b065bc6f987eaed9b7bb4595152+ kArgSymbol ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol+934937917f1dc2b7ff950de0d0661403+ lamArgSymbol ::+ GHC.Types.Int -> Language.Fixpoint.Types.Names.Symbol+c8b0b013bbacac5c8fff10b620016b3e+ lambdaName :: Language.Fixpoint.Types.Names.Symbol+b66e239fd26a4d65d3f1688063f373ec+ lengthSym :: Language.Fixpoint.Types.Names.Symbol -> GHC.Types.Int+754b3882dbc8a426d10fc3adcefc2e31+ listConName :: Language.Fixpoint.Types.Names.Symbol+59db8cee6987998bcd5f4c00a7c0be73+ listLConName :: Language.Fixpoint.Types.Names.Symbol+27eaaac0b7b302e0b72df3eaa74bc9b5+ litSymbol ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol+d86edf8197f44a14826b5c73313deef2+ mapApplyName ::+ GHC.Types.Int -> Language.Fixpoint.Types.Names.Symbol+d689532bc106bd19f9aeb509fed810cd+ mapConName :: Language.Fixpoint.Types.Names.Symbol+6cb7d353eed56dd8dc8d0bcb2c486a39+ mapToIntName :: Language.Fixpoint.Types.Names.Symbol+3366fcd7388280a1a7bf6a72dd29d365+ mappendSym ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol+6a890e2f1ef5cfc3e80b39dbbfa3fafd+ mulFuncName :: Language.Fixpoint.Types.Names.Symbol+c503b9c0fc100a5b181d22f7dea58d01+ nilName :: Language.Fixpoint.Types.Names.Symbol+ee5eaa580ffa763b4b4f92cd69c0a8cc+ nonSymbol :: Language.Fixpoint.Types.Names.Symbol+a9fd6ad17958834ac753dda3a6de29fb+ preludeName :: Language.Fixpoint.Types.Names.Symbol+a3c286b1012134f7aeeef9339502a448+ prims :: Data.HashSet.HashSet Language.Fixpoint.Types.Names.Symbol+20c4aab8e8ede255bce76e76a4cc24f1+ propConName :: Language.Fixpoint.Types.Names.Symbol+56b5ebed84338f16bf6034c05a2d2568+ realApplyName ::+ GHC.Types.Int -> Language.Fixpoint.Types.Names.Symbol+28b7acfe1bd0e1c7d4f2540115cb58f3+ realToIntName :: Language.Fixpoint.Types.Names.Symbol+5afdfb8f4019e0e926007c26dcda3ae9+ renameSymbol ::+ Language.Fixpoint.Types.Names.Symbol+ -> GHC.Types.Int -> Language.Fixpoint.Types.Names.Symbol+f0e3962fc96b77b34fc62660fa09640b+ setApplyName ::+ GHC.Types.Int -> Language.Fixpoint.Types.Names.Symbol+3b13e60e763424621a6d71f4ff2b3095+ setConName :: Language.Fixpoint.Types.Names.Symbol+391656d1df9e196762eedfcbb929aad8+ setToIntName :: Language.Fixpoint.Types.Names.Symbol+eb86c7a87bf6d4fe421e48a12b486920+ size32Name :: Language.Fixpoint.Types.Names.Symbol+c319990772c58056fc8adbb99d90eef0+ size64Name :: Language.Fixpoint.Types.Names.Symbol+9c4c6b48478291cfa01860495bbf65e3+ strConName :: Data.String.IsString a => a+8f72f666a976185328c7102b57f92add+ stripPrefix ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Names.Symbol+905c930fc8a580b762d5c01e09f57351+ stripSuffix ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Names.Symbol+9662173a435d59332bdcbcb24c037237+ suffixSymbol ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol+c49e4d247ae1424252b6f052adf7c468+ symChars :: Data.HashSet.HashSet GHC.Types.Char+0bf3cfe602b4e00c658b71392faff862+ symbolBuilder ::+ Language.Fixpoint.Types.Names.Symbolic a =>+ a -> Data.Text.Internal.Builder.Builder+3f986d27cdf6315dd770c516fc00a643+ symbolEncoded ::+ Language.Fixpoint.Types.Names.Symbol -> Data.Text.Internal.Text+ RecSel Left Language.Fixpoint.Types.Names.Symbol+3f986d27cdf6315dd770c516fc00a643+ symbolRaw ::+ Language.Fixpoint.Types.Names.Symbol -> Data.Text.Internal.Text+ RecSel Left Language.Fixpoint.Types.Names.Symbol+185f4c232d32438e45e949aa59791796+ symbolSafeString ::+ Language.Fixpoint.Types.Names.Symbol -> GHC.Base.String+b9e4ff6615316241fdd787ea01365fab+ symbolSafeText ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.SafeText+8b7e66ffe1373b3c8eea5ece172dd4c9+ symbolString ::+ Language.Fixpoint.Types.Names.Symbol -> GHC.Base.String+eec089aa19dd5c0554fdac0c2f873812+ symbolText ::+ Language.Fixpoint.Types.Names.Symbol -> Data.Text.Internal.Text+731a0f9d06e522a1f53e54a3dcbe29b4+ symbolicString ::+ Language.Fixpoint.Types.Names.Symbolic a => a -> GHC.Base.String+c165fe23259b73206503dc8fdcc0487d+ tempPrefix :: Language.Fixpoint.Types.Names.Symbol+ac0fc26b1fb0db2f55f076cb0bf5d40b+ tempSymbol ::+ Language.Fixpoint.Types.Names.Symbol+ -> GHC.Integer.Type.Integer -> Language.Fixpoint.Types.Names.Symbol+df4cac5e60d2d037be7846adb2b96088+ testSymbol ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol+13924b25c17672ff990eafc746ecd68a+ tidySymbol ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol+324143c445406dc6dceb017ac99fb75a+ toIntName :: Language.Fixpoint.Types.Names.Symbol+2924967db93c0057b45b63dba07de5dc+ tupConName :: Language.Fixpoint.Types.Names.Symbol+b4214c4a262ed4871aa13dc9bbb092fa+ unLitSymbol ::+ Language.Fixpoint.Types.Names.Symbol+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Names.Symbol+cb283ee6c8a352cec7131c5e9fe69f91+ unconsSym ::+ Language.Fixpoint.Types.Names.Symbol+ -> GHC.Maybe.Maybe+ (GHC.Types.Char, Language.Fixpoint.Types.Names.Symbol)+cb8457010f51db330c497f8b29772025+ vv ::+ GHC.Maybe.Maybe GHC.Integer.Type.Integer+ -> Language.Fixpoint.Types.Names.Symbol+4e050294d1f45d7c7aa27a5f22279550+ vvCon :: Language.Fixpoint.Types.Names.Symbol+d000b2e40c83650b200473e2d4fbe41e+ vvName :: Language.Fixpoint.Types.Names.Symbol+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fBinarySymbol+instance [orphan] Data.Data.Data [Data.Interned.Internal.Text.InternedText]+ = Language.Fixpoint.Types.Names.$fDataInternedText+instance Data.Data.Data [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fDataSymbol+instance GHC.Classes.Eq [Data.Interned.Internal.Description]+ = Language.Fixpoint.Types.Names.$fEqDescription+instance GHC.Classes.Eq [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fEqSymbol+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fFixpointSymbol+instance [orphan] Language.Fixpoint.Types.PrettyPrint.Fixpoint [Data.Text.Internal.Text]+ = Language.Fixpoint.Types.Names.$fFixpointText+instance [orphan] GHC.Generics.Generic [Data.Interned.Internal.Text.InternedText]+ = Language.Fixpoint.Types.Names.$fGenericInternedText+instance GHC.Generics.Generic [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fGenericSymbol+instance Data.Hashable.Class.Hashable [Data.Interned.Internal.Description]+ = Language.Fixpoint.Types.Names.$fHashableDescription+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fHashableSymbol+instance Data.Interned.Internal.Interned [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fInternedSymbol+instance Data.String.IsString [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fIsStringSymbol+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fNFDataSymbol+instance GHC.Classes.Ord [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fOrdSymbol+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fPPrintSymbol+instance GHC.Show.Show [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fShowSymbol+instance Language.Fixpoint.Types.Names.Symbolic [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Names.$fSymbolicLocated+instance Language.Fixpoint.Types.Names.Symbolic [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fSymbolicSymbol+instance Language.Fixpoint.Types.Names.Symbolic [Data.Text.Internal.Text]+ = Language.Fixpoint.Types.Names.$fSymbolicText+instance Language.Fixpoint.Types.Names.Symbolic [[]]+ = Language.Fixpoint.Types.Names.$fSymbolic[]+instance Data.Interned.Internal.Uninternable [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.$fUninternableSymbol+family instance Data.Interned.Internal.Description [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.D:R:DescriptionSymbol0+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.Rep_Symbol+family instance [orphan] GHC.Generics.Rep [Data.Interned.Internal.Text.InternedText]+ = Language.Fixpoint.Types.Names.Rep_InternedText+family instance Data.Interned.Internal.Uninterned [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Names.D:R:UninternedSymbol+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,439 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:24.570476 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.PrettyPrint 8065+ interface hash: fce91380bd196bf4e9bda290792daa34+ ABI hash: 2104c549ff18167e86668f84d86b14a0+ export-list hash: 83877bba67b408c83589a0ff3bac0070+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 52e19d8c00add78bc0ef30b418448c68+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.PrettyPrint.boxDoc+ Language.Fixpoint.Types.PrettyPrint.boxHSep+ Language.Fixpoint.Types.PrettyPrint.docBox+ Language.Fixpoint.Types.PrettyPrint.notracepp+ Language.Fixpoint.Types.PrettyPrint.pprint+ Language.Fixpoint.Types.PrettyPrint.pprintKVs+ Language.Fixpoint.Types.PrettyPrint.showFix+ Language.Fixpoint.Types.PrettyPrint.showTable+ Language.Fixpoint.Types.PrettyPrint.showpp+ Language.Fixpoint.Types.PrettyPrint.traceFix+ Language.Fixpoint.Types.PrettyPrint.tracepp+ Language.Fixpoint.Types.PrettyPrint.DocTable{Language.Fixpoint.Types.PrettyPrint.DocTable}+ Language.Fixpoint.Types.PrettyPrint.Fixpoint{Language.Fixpoint.Types.PrettyPrint.simplify Language.Fixpoint.Types.PrettyPrint.toFix}+ Language.Fixpoint.Types.PrettyPrint.PPrint{Language.Fixpoint.Types.PrettyPrint.pprintPrec Language.Fixpoint.Types.PrettyPrint.pprintTidy}+ Language.Fixpoint.Types.PrettyPrint.PTable{Language.Fixpoint.Types.PrettyPrint.ptable}+ Language.Fixpoint.Types.PrettyPrint.Tidy{Language.Fixpoint.Types.PrettyPrint.Full Language.Fixpoint.Types.PrettyPrint.Lossy}+module dependencies: Language.Fixpoint.Misc+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1 deepseq-1.4.4.0+ directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3+ stm-2.5.0.0 text-1.2.3.1 time-1.8.0.2 unix-2.7.2.2+ unordered-containers-0.2.9.0+orphans: colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Either 423bee738f25e5ee983d072216009be8+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Debug.Trace 60f75ad789dcddb29321db1cb21ccd4c+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ boxes-0.1.5:Text.PrettyPrint.Boxes f0e57cbca6a300198c8dcd585e4c2ae6+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ tshow 044dfce5ef708f72e5ca59e37dc09756+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+ <-> a6bccb4500bca89f567c047995747774+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ text-1.2.3.1:Data.Text 681b9c3df5b4e4b4e23ef5f840f0b692+import -/ text-1.2.3.1:Data.Text.Internal 537e168590e8068f673f691833f78483+import -/ text-1.2.3.1:Data.Text.Show b788b7edd0f190b1a7c4f4aba0e35f18+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+addDependentFile "/Users/niki/.stack/programs/x86_64-osx/ghc-8.6.5/lib/ghc-8.6.5/include/ghcversion.h" 43db44f9bb88490c2fa995e5f5ec33f2+addDependentFile ".stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/autogen/cabal_macros.h" 5d4a89af56b14b9a96821af0abd9deca+1f29b3f207492ffa2323c20e2c1b7b4a+ $dmpprintPrec ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ GHC.Types.Int+ -> Language.Fixpoint.Types.PrettyPrint.Tidy+ -> a+ -> Text.PrettyPrint.HughesPJ.Doc+1f29b3f207492ffa2323c20e2c1b7b4a+ $dmpprintTidy ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ Language.Fixpoint.Types.PrettyPrint.Tidy+ -> a -> Text.PrettyPrint.HughesPJ.Doc+98d26628e0637967f879c1c12cfa20b7+ $dmsimplify ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a => a -> a+222d036ecc7fd8f220064937c0399cf9+ $fEqTidy :: GHC.Classes.Eq Language.Fixpoint.Types.PrettyPrint.Tidy+ DFunId+98d26628e0637967f879c1c12cfa20b7+ $fFixpoint() :: Language.Fixpoint.Types.PrettyPrint.Fixpoint ()+ DFunId+98d26628e0637967f879c1c12cfa20b7+ $fFixpoint(,) ::+ (Language.Fixpoint.Types.PrettyPrint.Fixpoint a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint b) =>+ Language.Fixpoint.Types.PrettyPrint.Fixpoint (a, b)+ DFunId+98d26628e0637967f879c1c12cfa20b7+ $fFixpoint(,,) ::+ (Language.Fixpoint.Types.PrettyPrint.Fixpoint a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint b,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint c) =>+ Language.Fixpoint.Types.PrettyPrint.Fixpoint (a, b, c)+ DFunId+98d26628e0637967f879c1c12cfa20b7+ $fFixpointBool ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint GHC.Types.Bool+ DFunId+98d26628e0637967f879c1c12cfa20b7+ $fFixpointDouble ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint GHC.Types.Double+ DFunId+98d26628e0637967f879c1c12cfa20b7+ $fFixpointHashSet ::+ (GHC.Classes.Ord a, Data.Hashable.Class.Hashable a,+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a) =>+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ (Data.HashSet.HashSet a)+ DFunId+98d26628e0637967f879c1c12cfa20b7+ $fFixpointInt ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint GHC.Types.Int+ DFunId+98d26628e0637967f879c1c12cfa20b7+ $fFixpointInteger ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ GHC.Integer.Type.Integer+ DFunId+98d26628e0637967f879c1c12cfa20b7+ $fFixpointMaybe ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.PrettyPrint.Fixpoint (GHC.Maybe.Maybe a)+ DFunId+98d26628e0637967f879c1c12cfa20b7+ $fFixpoint[] ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.PrettyPrint.Fixpoint [a]+ DFunId+87350c6ae695833a148a7ef4f4cfdf9f+ $fMonoidDocTable ::+ GHC.Base.Monoid Language.Fixpoint.Types.PrettyPrint.DocTable+ DFunId+222d036ecc7fd8f220064937c0399cf9+ $fOrdTidy ::+ GHC.Classes.Ord Language.Fixpoint.Types.PrettyPrint.Tidy+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrint() :: Language.Fixpoint.Types.PrettyPrint.PPrint ()+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrint(,) ::+ (Language.Fixpoint.Types.PrettyPrint.PPrint a,+ Language.Fixpoint.Types.PrettyPrint.PPrint b) =>+ Language.Fixpoint.Types.PrettyPrint.PPrint (a, b)+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrint(,,) ::+ (Language.Fixpoint.Types.PrettyPrint.PPrint a,+ Language.Fixpoint.Types.PrettyPrint.PPrint b,+ Language.Fixpoint.Types.PrettyPrint.PPrint c) =>+ Language.Fixpoint.Types.PrettyPrint.PPrint (a, b, c)+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrint(,,,) ::+ (Language.Fixpoint.Types.PrettyPrint.PPrint a,+ Language.Fixpoint.Types.PrettyPrint.PPrint b,+ Language.Fixpoint.Types.PrettyPrint.PPrint c,+ Language.Fixpoint.Types.PrettyPrint.PPrint d) =>+ Language.Fixpoint.Types.PrettyPrint.PPrint (a, b, c, d)+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrint(,,,,) ::+ (Language.Fixpoint.Types.PrettyPrint.PPrint a,+ Language.Fixpoint.Types.PrettyPrint.PPrint b,+ Language.Fixpoint.Types.PrettyPrint.PPrint c,+ Language.Fixpoint.Types.PrettyPrint.PPrint d,+ Language.Fixpoint.Types.PrettyPrint.PPrint e) =>+ Language.Fixpoint.Types.PrettyPrint.PPrint (a, b, c, d, e)+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrintBool ::+ Language.Fixpoint.Types.PrettyPrint.PPrint GHC.Types.Bool+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrintDoc ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Text.PrettyPrint.HughesPJ.Doc+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrintDocTable ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.PrettyPrint.DocTable+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrintEither ::+ (Language.Fixpoint.Types.PrettyPrint.PPrint a,+ Language.Fixpoint.Types.PrettyPrint.PPrint b) =>+ Language.Fixpoint.Types.PrettyPrint.PPrint (Data.Either.Either a b)+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrintFloat ::+ Language.Fixpoint.Types.PrettyPrint.PPrint GHC.Types.Float+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrintHashMap ::+ (Language.Fixpoint.Types.PrettyPrint.PPrint a,+ Language.Fixpoint.Types.PrettyPrint.PPrint b) =>+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Data.HashMap.Base.HashMap a b)+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrintHashSet ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ Language.Fixpoint.Types.PrettyPrint.PPrint (Data.HashSet.HashSet a)+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrintInt ::+ Language.Fixpoint.Types.PrettyPrint.PPrint GHC.Types.Int+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrintInteger ::+ Language.Fixpoint.Types.PrettyPrint.PPrint GHC.Integer.Type.Integer+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrintMaybe ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ Language.Fixpoint.Types.PrettyPrint.PPrint (GHC.Maybe.Maybe a)+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrintText ::+ Language.Fixpoint.Types.PrettyPrint.PPrint Data.Text.Internal.Text+ DFunId+1f29b3f207492ffa2323c20e2c1b7b4a+ $fPPrint[] ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ Language.Fixpoint.Types.PrettyPrint.PPrint [a]+ DFunId+87350c6ae695833a148a7ef4f4cfdf9f+ $fSemigroupDocTable ::+ GHC.Base.Semigroup Language.Fixpoint.Types.PrettyPrint.DocTable+ DFunId+e130a1e34f8b5c15f4a6bb6352d8c4b9+ $tc'C:Fixpoint :: GHC.Types.TyCon+42f35affe8e8cc1317c5fb89025d47a9+ $tc'C:PPrint :: GHC.Types.TyCon+7ee88dfae67a9d8f9a8070d419202191+ $tc'C:PTable :: GHC.Types.TyCon+d5c408ae22e9fdff3ad9bcb56b67c645+ $tc'DocTable :: GHC.Types.TyCon+67683c2707c62f946c3358dff306faf9+ $tc'Full :: GHC.Types.TyCon+2af8c1c67fb0bd67de8dcd570a14eaaf+ $tc'Lossy :: GHC.Types.TyCon+3d48213494c9a1b1f905b021b73400c2+ $tcDocTable :: GHC.Types.TyCon+366bb51cb5a97317fdc424a1d7ba4630+ $tcFixpoint :: GHC.Types.TyCon+eb7eeeedde3b670c52bf03fc2a1b26bc+ $tcPPrint :: GHC.Types.TyCon+7d1ab0f202c7a660a014f304e9fba286+ $tcPTable :: GHC.Types.TyCon+b52a326ec6453531e0b8a6b41702b58c+ $tcTidy :: GHC.Types.TyCon+1491152e4de8ecbc89202dbcbc175cb8+ $trModule :: GHC.Types.Module+87350c6ae695833a148a7ef4f4cfdf9f+ newtype DocTable+ = DocTable [(Text.PrettyPrint.HughesPJ.Doc,+ Text.PrettyPrint.HughesPJ.Doc)]+98d26628e0637967f879c1c12cfa20b7+ class Fixpoint a where+ toFix :: a -> Text.PrettyPrint.HughesPJ.Doc+ simplify :: a -> a+ {-# MINIMAL toFix #-}+1f29b3f207492ffa2323c20e2c1b7b4a+ class PPrint a where+ pprintTidy :: Language.Fixpoint.Types.PrettyPrint.Tidy+ -> a -> Text.PrettyPrint.HughesPJ.Doc+ pprintPrec :: GHC.Types.Int+ -> Language.Fixpoint.Types.PrettyPrint.Tidy+ -> a+ -> Text.PrettyPrint.HughesPJ.Doc+e8b4bbc42515b2faadf940cf2792c24b+ class PTable a where+ ptable :: a -> Language.Fixpoint.Types.PrettyPrint.DocTable+ {-# MINIMAL ptable #-}+222d036ecc7fd8f220064937c0399cf9+ data Tidy = Lossy | Full+5dd41b1f4e9941967d384e16c81d1900+ boxDoc ::+ Text.PrettyPrint.Boxes.Box -> Text.PrettyPrint.HughesPJ.Doc+306bc3ebb052d07455cfd08ef5587a0c+ boxHSep ::+ Text.PrettyPrint.HughesPJ.Doc+ -> Text.PrettyPrint.HughesPJ.Doc -> Text.PrettyPrint.HughesPJ.Doc+343d1d6c952d021d740f0fbe9a1d6c25+ docBox ::+ Text.PrettyPrint.HughesPJ.Doc -> Text.PrettyPrint.Boxes.Box+5a793f230115fb21796571cbf9bfbf52+ notracepp ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ GHC.Base.String -> a -> a+955dc9d031db587300edf6146ac33be4+ pprint ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ a -> Text.PrettyPrint.HughesPJ.Doc+07dc92ab912f4a936c42f767d930636e+ pprintKVs ::+ (Language.Fixpoint.Types.PrettyPrint.PPrint k,+ Language.Fixpoint.Types.PrettyPrint.PPrint v) =>+ Language.Fixpoint.Types.PrettyPrint.Tidy+ -> [(k, v)] -> Text.PrettyPrint.HughesPJ.Doc+3e850f4dba10210e482ff12d7ed17f7e+ showFix ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ a -> GHC.Base.String+9dc0873b2334dfc105c979af9bf9e311+ showTable ::+ (Language.Fixpoint.Types.PrettyPrint.PPrint k,+ Language.Fixpoint.Types.PrettyPrint.PPrint v) =>+ Language.Fixpoint.Types.PrettyPrint.Tidy+ -> [(k, v)] -> GHC.Base.String+a9f79fc9a75f72593341c16b4b8ac492+ showpp ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ a -> GHC.Base.String+eb6df3982e2235a35d278d13bd0a1ad9+ traceFix ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ GHC.Base.String -> a -> a+8899c37de114d5de26a0fa6bae58ac89+ tracepp ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ GHC.Base.String -> a -> a+instance GHC.Classes.Eq [Language.Fixpoint.Types.PrettyPrint.Tidy]+ = Language.Fixpoint.Types.PrettyPrint.$fEqTidy+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [()]+ = Language.Fixpoint.Types.PrettyPrint.$fFixpoint()+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [(,)]+ = Language.Fixpoint.Types.PrettyPrint.$fFixpoint(,)+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [(,,)]+ = Language.Fixpoint.Types.PrettyPrint.$fFixpoint(,,)+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [GHC.Types.Bool]+ = Language.Fixpoint.Types.PrettyPrint.$fFixpointBool+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [GHC.Types.Double]+ = Language.Fixpoint.Types.PrettyPrint.$fFixpointDouble+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Data.HashSet.HashSet]+ = Language.Fixpoint.Types.PrettyPrint.$fFixpointHashSet+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [GHC.Types.Int]+ = Language.Fixpoint.Types.PrettyPrint.$fFixpointInt+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [GHC.Integer.Type.Integer]+ = Language.Fixpoint.Types.PrettyPrint.$fFixpointInteger+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [GHC.Maybe.Maybe]+ = Language.Fixpoint.Types.PrettyPrint.$fFixpointMaybe+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [[]]+ = Language.Fixpoint.Types.PrettyPrint.$fFixpoint[]+instance GHC.Base.Monoid [Language.Fixpoint.Types.PrettyPrint.DocTable]+ = Language.Fixpoint.Types.PrettyPrint.$fMonoidDocTable+instance GHC.Classes.Ord [Language.Fixpoint.Types.PrettyPrint.Tidy]+ = Language.Fixpoint.Types.PrettyPrint.$fOrdTidy+instance Language.Fixpoint.Types.PrettyPrint.PPrint [()]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrint()+instance Language.Fixpoint.Types.PrettyPrint.PPrint [(,)]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrint(,)+instance Language.Fixpoint.Types.PrettyPrint.PPrint [(,,)]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrint(,,)+instance Language.Fixpoint.Types.PrettyPrint.PPrint [(,,,)]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrint(,,,)+instance Language.Fixpoint.Types.PrettyPrint.PPrint [(,,,,)]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrint(,,,,)+instance Language.Fixpoint.Types.PrettyPrint.PPrint [GHC.Types.Bool]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrintBool+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Text.PrettyPrint.HughesPJ.Doc]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrintDoc+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.PrettyPrint.DocTable]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrintDocTable+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Data.Either.Either]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrintEither+instance Language.Fixpoint.Types.PrettyPrint.PPrint [GHC.Types.Float]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrintFloat+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Data.HashMap.Base.HashMap]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrintHashMap+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Data.HashSet.HashSet]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrintHashSet+instance Language.Fixpoint.Types.PrettyPrint.PPrint [GHC.Types.Int]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrintInt+instance Language.Fixpoint.Types.PrettyPrint.PPrint [GHC.Integer.Type.Integer]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrintInteger+instance Language.Fixpoint.Types.PrettyPrint.PPrint [GHC.Maybe.Maybe]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrintMaybe+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Data.Text.Internal.Text]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrintText+instance Language.Fixpoint.Types.PrettyPrint.PPrint [[]]+ = Language.Fixpoint.Types.PrettyPrint.$fPPrint[]+instance GHC.Base.Semigroup [Language.Fixpoint.Types.PrettyPrint.DocTable]+ = Language.Fixpoint.Types.PrettyPrint.$fSemigroupDocTable+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,2382 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:29.457737 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements [orphan module] [family instance module] 8065+ interface hash: c3a952a9840c922b462a2941f6852dc1+ ABI hash: e312fbfecbcc511c18b2a4b463f3a6dc+ export-list hash: c373b88351492ec6aa75dffded20541a+ orphan hash: 45c7f7e113b49c0e3395025ea67b0861+ flag hash: 90ecde8fa6eb6f9978f4cab34bbcf0b6+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Refinements.&.&+ Language.Fixpoint.Types.Refinements.EBot+ Language.Fixpoint.Types.Refinements.EDiv+ Language.Fixpoint.Types.Refinements.EEq+ Language.Fixpoint.Types.Refinements.ERDiv+ Language.Fixpoint.Types.Refinements.ERTimes+ Language.Fixpoint.Types.Refinements.ETimes+ Language.Fixpoint.Types.Refinements.PFalse+ Language.Fixpoint.Types.Refinements.PTop+ Language.Fixpoint.Types.Refinements.PTrue+ Language.Fixpoint.Types.Refinements.conjuncts+ Language.Fixpoint.Types.Refinements.debruijnIndex+ Language.Fixpoint.Types.Refinements.eAppC+ Language.Fixpoint.Types.Refinements.eApps+ Language.Fixpoint.Types.Refinements.eProp+ Language.Fixpoint.Types.Refinements.eVar+ Language.Fixpoint.Types.Refinements.elit+ Language.Fixpoint.Types.Refinements.exprReft+ Language.Fixpoint.Types.Refinements.falseReft+ Language.Fixpoint.Types.Refinements.flattenRefas+ Language.Fixpoint.Types.Refinements.intKvar+ Language.Fixpoint.Types.Refinements.isContraPred+ Language.Fixpoint.Types.Refinements.isFunctionSortedReft+ Language.Fixpoint.Types.Refinements.isNonTrivial+ Language.Fixpoint.Types.Refinements.isSingletonExpr+ Language.Fixpoint.Types.Refinements.isSingletonReft+ Language.Fixpoint.Types.Refinements.isTautoPred+ Language.Fixpoint.Types.Refinements.mapPredReft+ Language.Fixpoint.Types.Refinements.mkEApp+ Language.Fixpoint.Types.Refinements.mkProp+ Language.Fixpoint.Types.Refinements.notExprReft+ Language.Fixpoint.Types.Refinements.pAnd+ Language.Fixpoint.Types.Refinements.pExist+ Language.Fixpoint.Types.Refinements.pGAnd+ Language.Fixpoint.Types.Refinements.pGAnds+ Language.Fixpoint.Types.Refinements.pIte+ Language.Fixpoint.Types.Refinements.pOr+ Language.Fixpoint.Types.Refinements.pprintReft+ Language.Fixpoint.Types.Refinements.predReft+ Language.Fixpoint.Types.Refinements.propReft+ Language.Fixpoint.Types.Refinements.reft+ Language.Fixpoint.Types.Refinements.reftBind+ Language.Fixpoint.Types.Refinements.reftConjuncts+ Language.Fixpoint.Types.Refinements.reftPred+ Language.Fixpoint.Types.Refinements.splitEApp+ Language.Fixpoint.Types.Refinements.splitPAnd+ Language.Fixpoint.Types.Refinements.srcGradInfo+ Language.Fixpoint.Types.Refinements.symbolReft+ Language.Fixpoint.Types.Refinements.trueReft+ Language.Fixpoint.Types.Refinements.trueSortedReft+ Language.Fixpoint.Types.Refinements.uexprReft+ Language.Fixpoint.Types.Refinements.usymbolReft+ Language.Fixpoint.Types.Refinements.vv_+ Language.Fixpoint.Types.Refinements.|.|+ Language.Fixpoint.Types.Sorts.functionSort+ Language.Fixpoint.Types.Refinements.Bop{Language.Fixpoint.Types.Refinements.Div Language.Fixpoint.Types.Refinements.Minus Language.Fixpoint.Types.Refinements.Mod Language.Fixpoint.Types.Refinements.Plus Language.Fixpoint.Types.Refinements.RDiv Language.Fixpoint.Types.Refinements.RTimes Language.Fixpoint.Types.Refinements.Times}+ Language.Fixpoint.Types.Refinements.Brel{Language.Fixpoint.Types.Refinements.Eq Language.Fixpoint.Types.Refinements.Ge Language.Fixpoint.Types.Refinements.Gt Language.Fixpoint.Types.Refinements.Le Language.Fixpoint.Types.Refinements.Lt Language.Fixpoint.Types.Refinements.Ne Language.Fixpoint.Types.Refinements.Ueq Language.Fixpoint.Types.Refinements.Une}+ Language.Fixpoint.Types.Refinements.Constant{Language.Fixpoint.Types.Refinements.I Language.Fixpoint.Types.Refinements.L Language.Fixpoint.Types.Refinements.R}+ Language.Fixpoint.Types.Refinements.Expr{Language.Fixpoint.Types.Refinements.EApp Language.Fixpoint.Types.Refinements.EBin Language.Fixpoint.Types.Refinements.ECoerc Language.Fixpoint.Types.Refinements.ECon Language.Fixpoint.Types.Refinements.ECst Language.Fixpoint.Types.Refinements.EIte Language.Fixpoint.Types.Refinements.ELam Language.Fixpoint.Types.Refinements.ENeg Language.Fixpoint.Types.Refinements.ESym Language.Fixpoint.Types.Refinements.ETAbs Language.Fixpoint.Types.Refinements.ETApp Language.Fixpoint.Types.Refinements.EVar Language.Fixpoint.Types.Refinements.PAll Language.Fixpoint.Types.Refinements.PAnd Language.Fixpoint.Types.Refinements.PAtom Language.Fixpoint.Types.Refinements.PExist Language.Fixpoint.Types.Refinements.PGrad Language.Fixpoint.Types.Refinements.PIff Language.Fixpoint.Types.Refinements.PImp Language.Fixpoint.Types.Refinements.PKVar Language.Fixpoint.Types.Refinements.PNot Language.Fixpoint.Types.Refinements.POr}+ Language.Fixpoint.Types.Refinements.Expression{Language.Fixpoint.Types.Refinements.expr}+ Language.Fixpoint.Types.Refinements.Falseable|{Language.Fixpoint.Types.Refinements.isFalse}+ Language.Fixpoint.Types.Refinements.GradInfo{Language.Fixpoint.Types.Refinements.GradInfo gsrc gused}+ Language.Fixpoint.Types.Refinements.HasGradual{Language.Fixpoint.Types.Refinements.gVars Language.Fixpoint.Types.Refinements.isGradual Language.Fixpoint.Types.Refinements.ungrad}+ Language.Fixpoint.Types.Refinements.KVSub{Language.Fixpoint.Types.Refinements.KVS ksuKVar ksuSort ksuSubst ksuVV}+ Language.Fixpoint.Types.Refinements.KVar{Language.Fixpoint.Types.Refinements.KV kv}+ Language.Fixpoint.Types.Refinements.Pred+ Language.Fixpoint.Types.Refinements.Predicate{Language.Fixpoint.Types.Refinements.prop}+ Language.Fixpoint.Types.Refinements.Reft{Language.Fixpoint.Types.Refinements.Reft}+ Language.Fixpoint.Types.Refinements.Reftable{Language.Fixpoint.Types.Refinements.bot Language.Fixpoint.Types.Refinements.isTauto Language.Fixpoint.Types.Refinements.meet Language.Fixpoint.Types.Refinements.ofReft Language.Fixpoint.Types.Refinements.params Language.Fixpoint.Types.Refinements.ppTy Language.Fixpoint.Types.Refinements.toReft Language.Fixpoint.Types.Refinements.top}+ Language.Fixpoint.Types.Refinements.SortedReft{Language.Fixpoint.Types.Refinements.RR sr_reft sr_sort}+ Language.Fixpoint.Types.Refinements.Subable{Language.Fixpoint.Types.Refinements.subst Language.Fixpoint.Types.Refinements.subst1 Language.Fixpoint.Types.Refinements.substa Language.Fixpoint.Types.Refinements.substf Language.Fixpoint.Types.Refinements.syms}+ Language.Fixpoint.Types.Refinements.Subst{Language.Fixpoint.Types.Refinements.Su}+ Language.Fixpoint.Types.Refinements.SymConst{Language.Fixpoint.Types.Refinements.SL}+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Types.Names Language.Fixpoint.Types.PrettyPrint+ Language.Fixpoint.Types.Sorts Language.Fixpoint.Types.Spans+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Data 2949b01dc3799f9122535900668dfcef+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.String fa00d4c51cd8d22ee4f54a25f9e9c97d+import -/ base-4.12.0.0:Data.Typeable 1095be85dd9009a6503a3981a259490e+import -/ base-4.12.0.0:Data.Typeable.Internal e1cb15df401654131814917774d4d7ed+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Real af2b985dd29515c375fb78b2c9298d42+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ binary-0.8.6.0:Data.Binary 47a89cefaa44e49e7fd21d133fce6a7e+import -/ binary-0.8.6.0:Data.Binary.Class 4a00b809573ad7c27e489f5b66886719+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ ListNE 34c095e41b29e7147eb4001d73367295+ firstMaybe a87a0a57f92daf4b7959a9880ed114c3+ hashMapToAscList 9dc450088704c65ccbcd800833302942+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ exports: 45d7959603a132b65636c5a341548000+ LocSymbol e6d5fcd49dd2746d9598e2efb4f857d1+ Symbol 3f986d27cdf6315dd770c516fc00a643+ Symbolic 2eef5be3f02dd72d878415fe4e78ea18+ intSymbol a4ae136aedf5d0fada743997e9c6751f+ litSymbol 27eaaac0b7b302e0b72df3eaa74bc9b5+ symbol 8093c1d4f5a85b247a3a96c3fce3245c+ symbolText eec089aa19dd5c0554fdac0c2f873812+ vv cb8457010f51db330c497f8b29772025+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ Tidy 222d036ecc7fd8f220064937c0399cf9+ pprint 955dc9d031db587300edf6146ac33be4+ pprintPrec b295810b8feece8a8ed0eedbebc0051f+ pprintTidy bf75bee99d55ab15929b450195e64f3c+ showFix 3e850f4dba10210e482ff12d7ed17f7e+ simplify b57096eaf3d719a77fc26b0275953db4+ toFix 9b9c41ae3aa868a1e0f4e73cde8032e0+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ exports: b866d80011faf2d8f77449fdc11dc733+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ TCEmb 30d6fd7d99459ff88296e3b55c87b46c+ functionSort f594877f5448823b341deb917c8c3252+ tceToList 94dabd1e812c8f02e6ee6f26485a43a6+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ exports: 9e9118ba5257e743a1e1c46db3e4cd33+ Loc 0a266231e9bb3b9aa09383fd7f3e48ff+ Located 98c2e3118bdcfbfec2dfd5f953f55cfd+ SS afc18641865e1d45f99679b3f3b93be2+ SrcSpan 30cdf4122b891cc575df90039bdcbecb+ val 98c2e3118bdcfbfec2dfd5f953f55cfd+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+ <-> a6bccb4500bca89f567c047995747774+import -/ parsec-3.1.13.0:Text.Parsec.Pos 61aa6625e3bc17c83ef95500ead7d960+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ syb-0.7:Data.Generics f4bddd07fe7227d2509acad55f9ff82d+import -/ text-1.2.3.1:Data.Text 681b9c3df5b4e4b4e23ef5f840f0b692+import -/ text-1.2.3.1:Data.Text.Internal 537e168590e8068f673f691833f78483+import -/ text-1.2.3.1:Data.Text.Show b788b7edd0f190b1a7c4f4aba0e35f18+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+c2b618479ead2c2f679df59a9e4dd43c+ $bEBot :: Language.Fixpoint.Types.Refinements.Expr+7839409d0b17df385ad27614fff1e652+ $bEDiv ::+ Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+77aaff7fddb7ff348e62ce1343fa9206+ $bEEq ::+ Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+f8bd416bee48fc091a1c5608bf481428+ $bERDiv ::+ Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+949db7231237aec40f035c3bbf450644+ $bERTimes ::+ Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+e54709fd4b508f7b07967ffc2e220b2a+ $bETimes ::+ Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+29ad48489b35feb271e37147af30bcfd+ $bPFalse :: Language.Fixpoint.Types.Refinements.Expr+5af03863fac4a380d11fd1f07b0b8146+ $bPTop :: Language.Fixpoint.Types.Refinements.Expr+5d3a41142310325ee5d2b9ee33372bfc+ $bPTrue :: Language.Fixpoint.Types.Refinements.Expr+084d0b817b4e7c51b90fee6560e33ff3+ $dmgVars ::+ Language.Fixpoint.Types.Refinements.HasGradual a =>+ a -> [Language.Fixpoint.Types.Refinements.KVar]+738eabb2ee802fda7927d4314d5a74cc+ $dmmeet ::+ Language.Fixpoint.Types.Refinements.Reftable r => r -> r -> r+60165a51c7f24051113a59802b59cd27+ $dmsubst1 ::+ Language.Fixpoint.Types.Refinements.Subable a =>+ a+ -> (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.Expr)+ -> a+738eabb2ee802fda7927d4314d5a74cc+ $dmtop :: Language.Fixpoint.Types.Refinements.Reftable r => r -> r+084d0b817b4e7c51b90fee6560e33ff3+ $dmungrad ::+ Language.Fixpoint.Types.Refinements.HasGradual a => a -> a+58dd7eff6040aa97f060415235c6cb01+ $fBinaryBop ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Refinements.Bop+ DFunId+3130541cdaa27975ca84ce0fd238d8aa+ $fBinaryBrel ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Refinements.Brel+ DFunId+77cbbec08e19a1217d2b733c8f08120e+ $fBinaryConstant ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Refinements.Constant+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fBinaryExpr ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Refinements.Expr+ DFunId+af986c6f2ab8500fff12f403a43796ed+ $fBinaryGradInfo ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Refinements.GradInfo+ DFunId+e73f996102046c470805b8c0edc74d65+ $fBinaryHashMap ::+ (Data.Hashable.Class.Hashable k, GHC.Classes.Eq k,+ Data.Binary.Class.Binary k, Data.Binary.Class.Binary v) =>+ Data.Binary.Class.Binary (Data.HashMap.Base.HashMap k v)+ DFunId+f4ebd74e51621c4f10e9fc003e3885a9+ $fBinaryKVar ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Refinements.KVar+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fBinaryReft ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Refinements.Reft+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fBinarySortedReft ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+238c3a3779232730c51a0a5ec9b21fd7+ $fBinarySrcSpan ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Spans.SrcSpan+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fBinarySubst ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Refinements.Subst+ DFunId+70bf9d44b2d107fffacade38f4990bd9+ $fBinarySymConst ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Refinements.SymConst+ DFunId+661b1e3e06827522055b78125cf47491+ $fBinaryTCEmb ::+ (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a,+ Data.Binary.Class.Binary a) =>+ Data.Binary.Class.Binary (Language.Fixpoint.Types.Sorts.TCEmb a)+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fDataBop :: Data.Data.Data Language.Fixpoint.Types.Refinements.Bop+ DFunId+3130541cdaa27975ca84ce0fd238d8aa+ $fDataBrel ::+ Data.Data.Data Language.Fixpoint.Types.Refinements.Brel+ DFunId+77cbbec08e19a1217d2b733c8f08120e+ $fDataConstant ::+ Data.Data.Data Language.Fixpoint.Types.Refinements.Constant+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fDataExpr ::+ Data.Data.Data Language.Fixpoint.Types.Refinements.Expr+ DFunId+af986c6f2ab8500fff12f403a43796ed+ $fDataGradInfo ::+ Data.Data.Data Language.Fixpoint.Types.Refinements.GradInfo+ DFunId+d1b959feb3e6e165694f06ccc1e60f00+ $fDataKVSub ::+ Data.Data.Data Language.Fixpoint.Types.Refinements.KVSub+ DFunId+f4ebd74e51621c4f10e9fc003e3885a9+ $fDataKVar ::+ Data.Data.Data Language.Fixpoint.Types.Refinements.KVar+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fDataReft ::+ Data.Data.Data Language.Fixpoint.Types.Refinements.Reft+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fDataSortedReft ::+ Data.Data.Data Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fDataSubst ::+ Data.Data.Data Language.Fixpoint.Types.Refinements.Subst+ DFunId+70bf9d44b2d107fffacade38f4990bd9+ $fDataSymConst ::+ Data.Data.Data Language.Fixpoint.Types.Refinements.SymConst+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fEqBop :: GHC.Classes.Eq Language.Fixpoint.Types.Refinements.Bop+ DFunId+3130541cdaa27975ca84ce0fd238d8aa+ $fEqBrel :: GHC.Classes.Eq Language.Fixpoint.Types.Refinements.Brel+ DFunId+77cbbec08e19a1217d2b733c8f08120e+ $fEqConstant ::+ GHC.Classes.Eq Language.Fixpoint.Types.Refinements.Constant+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fEqExpr :: GHC.Classes.Eq Language.Fixpoint.Types.Refinements.Expr+ DFunId+af986c6f2ab8500fff12f403a43796ed+ $fEqGradInfo ::+ GHC.Classes.Eq Language.Fixpoint.Types.Refinements.GradInfo+ DFunId+d1b959feb3e6e165694f06ccc1e60f00+ $fEqKVSub ::+ GHC.Classes.Eq Language.Fixpoint.Types.Refinements.KVSub+ DFunId+f4ebd74e51621c4f10e9fc003e3885a9+ $fEqKVar :: GHC.Classes.Eq Language.Fixpoint.Types.Refinements.KVar+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fEqReft :: GHC.Classes.Eq Language.Fixpoint.Types.Refinements.Reft+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fEqSortedReft ::+ GHC.Classes.Eq Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fEqSubst ::+ GHC.Classes.Eq Language.Fixpoint.Types.Refinements.Subst+ DFunId+70bf9d44b2d107fffacade38f4990bd9+ $fEqSymConst ::+ GHC.Classes.Eq Language.Fixpoint.Types.Refinements.SymConst+ DFunId+3223e45a95282010f7c8c44ba75b8d79+ $fExpressionExpr ::+ Language.Fixpoint.Types.Refinements.Expression+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+3223e45a95282010f7c8c44ba75b8d79+ $fExpressionInt ::+ Language.Fixpoint.Types.Refinements.Expression GHC.Types.Int+ DFunId+3223e45a95282010f7c8c44ba75b8d79+ $fExpressionInteger ::+ Language.Fixpoint.Types.Refinements.Expression+ GHC.Integer.Type.Integer+ DFunId+3223e45a95282010f7c8c44ba75b8d79+ $fExpressionLocated ::+ Language.Fixpoint.Types.Refinements.Expression a =>+ Language.Fixpoint.Types.Refinements.Expression+ (Language.Fixpoint.Types.Spans.Located a)+ DFunId+3223e45a95282010f7c8c44ba75b8d79+ $fExpressionReft ::+ Language.Fixpoint.Types.Refinements.Expression+ Language.Fixpoint.Types.Refinements.Reft+ DFunId+3223e45a95282010f7c8c44ba75b8d79+ $fExpressionSortedReft ::+ Language.Fixpoint.Types.Refinements.Expression+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+3223e45a95282010f7c8c44ba75b8d79+ $fExpressionSymbol ::+ Language.Fixpoint.Types.Refinements.Expression+ Language.Fixpoint.Types.Names.Symbol+ DFunId+3223e45a95282010f7c8c44ba75b8d79+ $fExpressionText ::+ Language.Fixpoint.Types.Refinements.Expression+ Data.Text.Internal.Text+ DFunId+923f91dd7301bd73734d8265d79f2de6+ $fFalseableExpr ::+ Language.Fixpoint.Types.Refinements.Falseable+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+923f91dd7301bd73734d8265d79f2de6+ $fFalseableReft ::+ Language.Fixpoint.Types.Refinements.Falseable+ Language.Fixpoint.Types.Refinements.Reft+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fFixpointBop ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Refinements.Bop+ DFunId+3130541cdaa27975ca84ce0fd238d8aa+ $fFixpointBrel ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Refinements.Brel+ DFunId+77cbbec08e19a1217d2b733c8f08120e+ $fFixpointConstant ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Refinements.Constant+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fFixpointExpr ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+f4ebd74e51621c4f10e9fc003e3885a9+ $fFixpointKVar ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Refinements.KVar+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fFixpointSubst ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Refinements.Subst+ DFunId+70bf9d44b2d107fffacade38f4990bd9+ $fFixpointSymConst ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Refinements.SymConst+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fGenericBop ::+ GHC.Generics.Generic Language.Fixpoint.Types.Refinements.Bop+ DFunId+3130541cdaa27975ca84ce0fd238d8aa+ $fGenericBrel ::+ GHC.Generics.Generic Language.Fixpoint.Types.Refinements.Brel+ DFunId+77cbbec08e19a1217d2b733c8f08120e+ $fGenericConstant ::+ GHC.Generics.Generic Language.Fixpoint.Types.Refinements.Constant+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fGenericExpr ::+ GHC.Generics.Generic Language.Fixpoint.Types.Refinements.Expr+ DFunId+af986c6f2ab8500fff12f403a43796ed+ $fGenericGradInfo ::+ GHC.Generics.Generic Language.Fixpoint.Types.Refinements.GradInfo+ DFunId+d1b959feb3e6e165694f06ccc1e60f00+ $fGenericKVSub ::+ GHC.Generics.Generic Language.Fixpoint.Types.Refinements.KVSub+ DFunId+f4ebd74e51621c4f10e9fc003e3885a9+ $fGenericKVar ::+ GHC.Generics.Generic Language.Fixpoint.Types.Refinements.KVar+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fGenericReft ::+ GHC.Generics.Generic Language.Fixpoint.Types.Refinements.Reft+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fGenericSortedReft ::+ GHC.Generics.Generic Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fGenericSubst ::+ GHC.Generics.Generic Language.Fixpoint.Types.Refinements.Subst+ DFunId+70bf9d44b2d107fffacade38f4990bd9+ $fGenericSymConst ::+ GHC.Generics.Generic Language.Fixpoint.Types.Refinements.SymConst+ DFunId+084d0b817b4e7c51b90fee6560e33ff3+ $fHasGradualExpr ::+ Language.Fixpoint.Types.Refinements.HasGradual+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+084d0b817b4e7c51b90fee6560e33ff3+ $fHasGradualReft ::+ Language.Fixpoint.Types.Refinements.HasGradual+ Language.Fixpoint.Types.Refinements.Reft+ DFunId+084d0b817b4e7c51b90fee6560e33ff3+ $fHasGradualSortedReft ::+ Language.Fixpoint.Types.Refinements.HasGradual+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fHashableBop ::+ Data.Hashable.Class.Hashable+ Language.Fixpoint.Types.Refinements.Bop+ DFunId+3130541cdaa27975ca84ce0fd238d8aa+ $fHashableBrel ::+ Data.Hashable.Class.Hashable+ Language.Fixpoint.Types.Refinements.Brel+ DFunId+77cbbec08e19a1217d2b733c8f08120e+ $fHashableConstant ::+ Data.Hashable.Class.Hashable+ Language.Fixpoint.Types.Refinements.Constant+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fHashableExpr ::+ Data.Hashable.Class.Hashable+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+af986c6f2ab8500fff12f403a43796ed+ $fHashableGradInfo ::+ Data.Hashable.Class.Hashable+ Language.Fixpoint.Types.Refinements.GradInfo+ DFunId+f4ebd74e51621c4f10e9fc003e3885a9+ $fHashableKVar ::+ Data.Hashable.Class.Hashable+ Language.Fixpoint.Types.Refinements.KVar+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fHashableSubst ::+ Data.Hashable.Class.Hashable+ Language.Fixpoint.Types.Refinements.Subst+ DFunId+70bf9d44b2d107fffacade38f4990bd9+ $fHashableSymConst ::+ Data.Hashable.Class.Hashable+ Language.Fixpoint.Types.Refinements.SymConst+ DFunId+f4ebd74e51621c4f10e9fc003e3885a9+ $fIsStringKVar ::+ Data.String.IsString Language.Fixpoint.Types.Refinements.KVar+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fNFDataBop ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Refinements.Bop+ DFunId+3130541cdaa27975ca84ce0fd238d8aa+ $fNFDataBrel ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Refinements.Brel+ DFunId+77cbbec08e19a1217d2b733c8f08120e+ $fNFDataConstant ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Refinements.Constant+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fNFDataExpr ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Refinements.Expr+ DFunId+af986c6f2ab8500fff12f403a43796ed+ $fNFDataGradInfo ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Refinements.GradInfo+ DFunId+f4ebd74e51621c4f10e9fc003e3885a9+ $fNFDataKVar ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Refinements.KVar+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fNFDataReft ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Refinements.Reft+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fNFDataSortedReft ::+ Control.DeepSeq.NFData+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+c0a16bef81316846cb6fb13fc6274c2a+ $fNFDataSrcSpan ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Spans.SrcSpan+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fNFDataSubst ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Refinements.Subst+ DFunId+70bf9d44b2d107fffacade38f4990bd9+ $fNFDataSymConst ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Refinements.SymConst+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fOrdBop :: GHC.Classes.Ord Language.Fixpoint.Types.Refinements.Bop+ DFunId+3130541cdaa27975ca84ce0fd238d8aa+ $fOrdBrel ::+ GHC.Classes.Ord Language.Fixpoint.Types.Refinements.Brel+ DFunId+77cbbec08e19a1217d2b733c8f08120e+ $fOrdConstant ::+ GHC.Classes.Ord Language.Fixpoint.Types.Refinements.Constant+ DFunId+f4ebd74e51621c4f10e9fc003e3885a9+ $fOrdKVar ::+ GHC.Classes.Ord Language.Fixpoint.Types.Refinements.KVar+ DFunId+70bf9d44b2d107fffacade38f4990bd9+ $fOrdSymConst ::+ GHC.Classes.Ord Language.Fixpoint.Types.Refinements.SymConst+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fPPrintBop ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Refinements.Bop+ DFunId+3130541cdaa27975ca84ce0fd238d8aa+ $fPPrintBrel ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Refinements.Brel+ DFunId+77cbbec08e19a1217d2b733c8f08120e+ $fPPrintConstant ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Refinements.Constant+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fPPrintExpr ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+d1b959feb3e6e165694f06ccc1e60f00+ $fPPrintKVSub ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Refinements.KVSub+ DFunId+f4ebd74e51621c4f10e9fc003e3885a9+ $fPPrintKVar ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Refinements.KVar+ DFunId+fb4681e5db138d86db09a8649075118c+ $fPPrintSort ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Sorts.Sort+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fPPrintSubst ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Refinements.Subst+ DFunId+70bf9d44b2d107fffacade38f4990bd9+ $fPPrintSymConst ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Refinements.SymConst+ DFunId+b95c54a77eb82a812364ea7f530eb029+ $fPPrintTCEmb ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Language.Fixpoint.Types.Sorts.TCEmb a)+ DFunId+93656b5647e6ad833660a9dc492a1ebf+ $fPredicateBool ::+ Language.Fixpoint.Types.Refinements.Predicate GHC.Types.Bool+ DFunId+93656b5647e6ad833660a9dc492a1ebf+ $fPredicateExpr ::+ Language.Fixpoint.Types.Refinements.Predicate+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+93656b5647e6ad833660a9dc492a1ebf+ $fPredicateSymbol ::+ Language.Fixpoint.Types.Refinements.Predicate+ Language.Fixpoint.Types.Names.Symbol+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fShowBop :: GHC.Show.Show Language.Fixpoint.Types.Refinements.Bop+ DFunId+3130541cdaa27975ca84ce0fd238d8aa+ $fShowBrel ::+ GHC.Show.Show Language.Fixpoint.Types.Refinements.Brel+ DFunId+77cbbec08e19a1217d2b733c8f08120e+ $fShowConstant ::+ GHC.Show.Show Language.Fixpoint.Types.Refinements.Constant+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fShowExpr ::+ GHC.Show.Show Language.Fixpoint.Types.Refinements.Expr+ DFunId+af986c6f2ab8500fff12f403a43796ed+ $fShowGradInfo ::+ GHC.Show.Show Language.Fixpoint.Types.Refinements.GradInfo+ DFunId+d1b959feb3e6e165694f06ccc1e60f00+ $fShowKVSub ::+ GHC.Show.Show Language.Fixpoint.Types.Refinements.KVSub+ DFunId+f4ebd74e51621c4f10e9fc003e3885a9+ $fShowKVar ::+ GHC.Show.Show Language.Fixpoint.Types.Refinements.KVar+ DFunId+58dd7eff6040aa97f060415235c6cb01+ $fShowSubst ::+ GHC.Show.Show Language.Fixpoint.Types.Refinements.Subst+ DFunId+70bf9d44b2d107fffacade38f4990bd9+ $fShowSymConst ::+ GHC.Show.Show Language.Fixpoint.Types.Refinements.SymConst+ DFunId+60165a51c7f24051113a59802b59cd27+ $fSubableLocated ::+ Language.Fixpoint.Types.Refinements.Subable a =>+ Language.Fixpoint.Types.Refinements.Subable+ (Language.Fixpoint.Types.Spans.Located a)+ DFunId+70bf9d44b2d107fffacade38f4990bd9+ $fSymbolicSymConst ::+ Language.Fixpoint.Types.Names.Symbolic+ Language.Fixpoint.Types.Refinements.SymConst+ DFunId+ea87e113354a644d414b1a10afa4a805+ $mEBot ::+ Language.Fixpoint.Types.Refinements.Expr+ -> (GHC.Prim.Void# -> r) -> (GHC.Prim.Void# -> r) -> r+ed11e796fd3db1f8bc0db70bdb73b1dd+ $mEDiv ::+ Language.Fixpoint.Types.Refinements.Expr+ -> (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr -> r)+ -> (GHC.Prim.Void# -> r)+ -> r+eedbaadba299922f3cfb87d0e4997762+ $mEEq ::+ Language.Fixpoint.Types.Refinements.Expr+ -> (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr -> r)+ -> (GHC.Prim.Void# -> r)+ -> r+3a1ac04df6d0a8ea52908f38666ce8f2+ $mERDiv ::+ Language.Fixpoint.Types.Refinements.Expr+ -> (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr -> r)+ -> (GHC.Prim.Void# -> r)+ -> r+ac1f4ecae53ab5d83faf85a089870f56+ $mERTimes ::+ Language.Fixpoint.Types.Refinements.Expr+ -> (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr -> r)+ -> (GHC.Prim.Void# -> r)+ -> r+894616c2da6f9c55281ff8c8350e89cd+ $mETimes ::+ Language.Fixpoint.Types.Refinements.Expr+ -> (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr -> r)+ -> (GHC.Prim.Void# -> r)+ -> r+0d264eadd80197b137e3753027584a99+ $mPFalse ::+ Language.Fixpoint.Types.Refinements.Expr+ -> (GHC.Prim.Void# -> r) -> (GHC.Prim.Void# -> r) -> r+d1d28430f8a46701f53b00d25b54bea1+ $mPTop ::+ Language.Fixpoint.Types.Refinements.Expr+ -> (GHC.Prim.Void# -> r) -> (GHC.Prim.Void# -> r) -> r+8eb210d60f85300a11e02ad593995d10+ $mPTrue ::+ Language.Fixpoint.Types.Refinements.Expr+ -> (GHC.Prim.Void# -> r) -> (GHC.Prim.Void# -> r) -> r+085d6bd16cdeb3aa17f8e6f955a8bb75+ $tc'C:Expression :: GHC.Types.TyCon+0090a3f676b9bff374dc66337a507525+ $tc'C:Falseable :: GHC.Types.TyCon+43601e409721f04e6ee6d3d871bdd529+ $tc'C:HasGradual :: GHC.Types.TyCon+a379865e7b819b3189cfec6737f23b14+ $tc'C:Predicate :: GHC.Types.TyCon+0ce9eb6e1c359823f5a21805ea4e8295+ $tc'C:Reftable :: GHC.Types.TyCon+7a3d367052b368f3c232dfa0bb8c3c6b+ $tc'C:Subable :: GHC.Types.TyCon+c00810b6a83872e522c0849fc37491d9+ $tc'Div :: GHC.Types.TyCon+212807518d783b66727fdbeb143eee32+ $tc'EApp :: GHC.Types.TyCon+8d7d607fda38498e624035c2b3b32bd0+ $tc'EBin :: GHC.Types.TyCon+420eebd3337b72d5b8a032b760c1b645+ $tc'ECoerc :: GHC.Types.TyCon+3da84dbe50f682f4d9d9ce1df5e3c1ef+ $tc'ECon :: GHC.Types.TyCon+7706439d745d56c04ff9fafb1d3dfe15+ $tc'ECst :: GHC.Types.TyCon+5dafa20f66720a8bb57972d7325a08fe+ $tc'EIte :: GHC.Types.TyCon+68fab27799d085f9f7df1cff85f3da86+ $tc'ELam :: GHC.Types.TyCon+101c9d07fa3d95c7a50219b7faea0ece+ $tc'ENeg :: GHC.Types.TyCon+f51cd846d8e67e44650e65d30b71c0d0+ $tc'ESym :: GHC.Types.TyCon+e4dc0a1d0f6908675eb9dd68d5f9695e+ $tc'ETAbs :: GHC.Types.TyCon+ea38d9320a25fdc3356847b47e348cbe+ $tc'ETApp :: GHC.Types.TyCon+e0ef8014988c2fb93277344f8b90deb7+ $tc'EVar :: GHC.Types.TyCon+8b062a6cc4c468c1b6f9caa427a6748a+ $tc'Eq :: GHC.Types.TyCon+8679814a8fec1808f7243e1f1e04e31d+ $tc'Ge :: GHC.Types.TyCon+40611fa6cadbcff0f232c1fb7f3b5d27+ $tc'GradInfo :: GHC.Types.TyCon+4b029e5248c6edbe39225ac0022bc703+ $tc'Gt :: GHC.Types.TyCon+93d88b6f1576bfebf23bc98c2f9ac9bd+ $tc'I :: GHC.Types.TyCon+271d966c6c9f2610880e8ab1cd9b0788+ $tc'KV :: GHC.Types.TyCon+3a2a1224b865482123a2996a86a116ba+ $tc'KVS :: GHC.Types.TyCon+e6bedcb3054c8a254b3c7b0410d34bfe+ $tc'L :: GHC.Types.TyCon+a18fe453db565e0e6bc7952fdb65f2ef+ $tc'Le :: GHC.Types.TyCon+c3256651e89e62a1b958a87529680fde+ $tc'Lt :: GHC.Types.TyCon+84ed8b49dd73e9b9bcb9835cfbb9319e+ $tc'Minus :: GHC.Types.TyCon+5ca50e3546043d207cee1515bde1303a+ $tc'Mod :: GHC.Types.TyCon+34ea51660b129c90b0e3d2786e5e34c4+ $tc'Ne :: GHC.Types.TyCon+52cd49aaa8a93056f2885ec9cb53b7e4+ $tc'PAll :: GHC.Types.TyCon+22b74cdd8aafb5c4f61976f8a6ceb081+ $tc'PAnd :: GHC.Types.TyCon+195eea2ae05f0d7646b9839c1cd1b317+ $tc'PAtom :: GHC.Types.TyCon+05d4f98aa4055f935e4fb335ef60abd6+ $tc'PExist :: GHC.Types.TyCon+5f0eddddd5bd8ae3fefb955001abdaad+ $tc'PGrad :: GHC.Types.TyCon+7fefe6cbb7ca30eae9af87e5255458af+ $tc'PIff :: GHC.Types.TyCon+58ad060d52267737f3a2275eea8a6edc+ $tc'PImp :: GHC.Types.TyCon+e934b05d2f8b7fd6ae7b53f17a4294a4+ $tc'PKVar :: GHC.Types.TyCon+5956e9ccf5ae16194609c3b5c9145383+ $tc'PNot :: GHC.Types.TyCon+690b00df152778dc1c3be6b20bb2a014+ $tc'POr :: GHC.Types.TyCon+7f2342deb958f1a6cf324a93e546748c+ $tc'Plus :: GHC.Types.TyCon+904ed2c9507f442120e7e0c5f1143edd+ $tc'R :: GHC.Types.TyCon+6104c2580b51102791b4ebcf92c0964d+ $tc'RDiv :: GHC.Types.TyCon+64e46e599eff94185acfe279d9c3e38a+ $tc'RR :: GHC.Types.TyCon+ef898e55d98d8b88e54d48cf285201e3+ $tc'RTimes :: GHC.Types.TyCon+fee7b75f5e480fa80ae9b083093ff3ee+ $tc'Reft :: GHC.Types.TyCon+a6983def4dfe825e7d68b9fdf73c267a+ $tc'SL :: GHC.Types.TyCon+bdb0d0952d55bd1fbdff78c285cf93ee+ $tc'Su :: GHC.Types.TyCon+98b3cb10c2ba2b640a5467c78d0df817+ $tc'Times :: GHC.Types.TyCon+9f9746345191a35d648c54ee1adedac9+ $tc'Ueq :: GHC.Types.TyCon+e93fdf095353a633d4feb16ec2eec456+ $tc'Une :: GHC.Types.TyCon+51241648efa7197f477693b4bd5e6802+ $tcBop :: GHC.Types.TyCon+805434449133c58667a015a6843096c4+ $tcBrel :: GHC.Types.TyCon+1266579c68a38a13c8d3ac65649e435a+ $tcConstant :: GHC.Types.TyCon+510262735fcd27797b67119aec447ee5+ $tcExpr :: GHC.Types.TyCon+22ef5560efd2b85a316839329158a8ce+ $tcExpression :: GHC.Types.TyCon+5f60b39f5cc74f43ea2dfd86f0d7cc17+ $tcFalseable :: GHC.Types.TyCon+27f59adbe694c3d881b0908c61eb1542+ $tcGradInfo :: GHC.Types.TyCon+5dc4c727551c145983b4bc1912cb378f+ $tcHasGradual :: GHC.Types.TyCon+0de666c3710f6d9d9ecac7bbbac13047+ $tcKVSub :: GHC.Types.TyCon+2f45d3c3a88845e5a0a5462c5aaf545c+ $tcKVar :: GHC.Types.TyCon+81ff2d1a434490de33b1f661f8d02306+ $tcPredicate :: GHC.Types.TyCon+d883a1e713d06236c3954355c0aa37a3+ $tcReft :: GHC.Types.TyCon+cd731c924cb6a2653bdea88e24fb5268+ $tcReftable :: GHC.Types.TyCon+d6167fad12720a33fbc31760cac3b7bf+ $tcSortedReft :: GHC.Types.TyCon+724ae4cb49f4786f684f3d7bc7e8d153+ $tcSubable :: GHC.Types.TyCon+8320e0d61a5c8687a254b7889c5dc08a+ $tcSubst :: GHC.Types.TyCon+c9b7b83d47773968dc5c1fd8c361780a+ $tcSymConst :: GHC.Types.TyCon+39419df8c7872c44de514c02ea9f6897+ $trModule :: GHC.Types.Module+6181b4490e3595389de710d3949e91b1+ (&.&) ::+ Language.Fixpoint.Types.Refinements.Pred+ -> Language.Fixpoint.Types.Refinements.Pred+ -> Language.Fixpoint.Types.Refinements.Pred+58dd7eff6040aa97f060415235c6cb01+ data Bop = Plus | Minus | Times | Div | Mod | RTimes | RDiv+3130541cdaa27975ca84ce0fd238d8aa+ data Brel = Eq | Ne | Gt | Ge | Lt | Le | Ueq | Une+77cbbec08e19a1217d2b733c8f08120e+ data Constant+ = I !GHC.Integer.Type.Integer+ | R !GHC.Types.Double+ | L !Data.Text.Internal.Text !Language.Fixpoint.Types.Sorts.Sort+9879ed750ccc5a4093abcf7f02058efd+ pattern Language.Fixpoint.Types.Refinements.EBot+ :: Language.Fixpoint.Types.Refinements.Expr+4dfba844bb726e47c19d245745abcfbc+ pattern Language.Fixpoint.Types.Refinements.EDiv+ :: Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+b022fbb5d44329cad435c5cf3295d97c+ pattern Language.Fixpoint.Types.Refinements.EEq+ :: Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+8eed0051e9a30fb6968c8e47dc884b2c+ pattern Language.Fixpoint.Types.Refinements.ERDiv+ :: Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+670ffd98e9bd012a8e8759b7e258d83a+ pattern Language.Fixpoint.Types.Refinements.ERTimes+ :: Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+adc7a4740d349bee24fe48e20309b312+ pattern Language.Fixpoint.Types.Refinements.ETimes+ :: Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+58dd7eff6040aa97f060415235c6cb01+ data Expr+ = ESym !Language.Fixpoint.Types.Refinements.SymConst+ | ECon !Language.Fixpoint.Types.Refinements.Constant+ | EVar !Language.Fixpoint.Types.Names.Symbol+ | EApp !Language.Fixpoint.Types.Refinements.Expr+ !Language.Fixpoint.Types.Refinements.Expr+ | ENeg !Language.Fixpoint.Types.Refinements.Expr+ | EBin !Language.Fixpoint.Types.Refinements.Bop+ !Language.Fixpoint.Types.Refinements.Expr+ !Language.Fixpoint.Types.Refinements.Expr+ | EIte !Language.Fixpoint.Types.Refinements.Expr+ !Language.Fixpoint.Types.Refinements.Expr+ !Language.Fixpoint.Types.Refinements.Expr+ | ECst !Language.Fixpoint.Types.Refinements.Expr+ !Language.Fixpoint.Types.Sorts.Sort+ | ELam !(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)+ !Language.Fixpoint.Types.Refinements.Expr+ | ETApp !Language.Fixpoint.Types.Refinements.Expr+ !Language.Fixpoint.Types.Sorts.Sort+ | ETAbs !Language.Fixpoint.Types.Refinements.Expr+ !Language.Fixpoint.Types.Names.Symbol+ | PAnd ![Language.Fixpoint.Types.Refinements.Expr]+ | POr ![Language.Fixpoint.Types.Refinements.Expr]+ | PNot !Language.Fixpoint.Types.Refinements.Expr+ | PImp !Language.Fixpoint.Types.Refinements.Expr+ !Language.Fixpoint.Types.Refinements.Expr+ | PIff !Language.Fixpoint.Types.Refinements.Expr+ !Language.Fixpoint.Types.Refinements.Expr+ | PAtom !Language.Fixpoint.Types.Refinements.Brel+ !Language.Fixpoint.Types.Refinements.Expr+ !Language.Fixpoint.Types.Refinements.Expr+ | PKVar !Language.Fixpoint.Types.Refinements.KVar+ !Language.Fixpoint.Types.Refinements.Subst+ | PAll ![(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ !Language.Fixpoint.Types.Refinements.Expr+ | PExist ![(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ !Language.Fixpoint.Types.Refinements.Expr+ | PGrad !Language.Fixpoint.Types.Refinements.KVar+ !Language.Fixpoint.Types.Refinements.Subst+ !Language.Fixpoint.Types.Refinements.GradInfo+ !Language.Fixpoint.Types.Refinements.Expr+ | ECoerc !Language.Fixpoint.Types.Sorts.Sort+ !Language.Fixpoint.Types.Sorts.Sort+ !Language.Fixpoint.Types.Refinements.Expr+3223e45a95282010f7c8c44ba75b8d79+ class Expression a where+ expr :: a -> Language.Fixpoint.Types.Refinements.Expr+ {-# MINIMAL expr #-}+923f91dd7301bd73734d8265d79f2de6+ class Falseable a where+ isFalse :: a -> GHC.Types.Bool+ {-# MINIMAL isFalse #-}+af986c6f2ab8500fff12f403a43796ed+ data GradInfo+ = GradInfo {gsrc :: Language.Fixpoint.Types.Spans.SrcSpan,+ gused :: GHC.Maybe.Maybe Language.Fixpoint.Types.Spans.SrcSpan}+084d0b817b4e7c51b90fee6560e33ff3+ class HasGradual a where+ isGradual :: a -> GHC.Types.Bool+ gVars :: a -> [Language.Fixpoint.Types.Refinements.KVar]+ ungrad :: a -> a+ {-# MINIMAL isGradual #-}+d1b959feb3e6e165694f06ccc1e60f00+ data KVSub+ = KVS {ksuVV :: Language.Fixpoint.Types.Names.Symbol,+ ksuSort :: Language.Fixpoint.Types.Sorts.Sort,+ ksuKVar :: Language.Fixpoint.Types.Refinements.KVar,+ ksuSubst :: Language.Fixpoint.Types.Refinements.Subst}+f4ebd74e51621c4f10e9fc003e3885a9+ newtype KVar = KV {kv :: Language.Fixpoint.Types.Names.Symbol}+e43985c1fbf5446eb7e361fefcd63600+ pattern Language.Fixpoint.Types.Refinements.PFalse+ :: Language.Fixpoint.Types.Refinements.Expr+241a73ae521c43fda6b01c9631464905+ pattern Language.Fixpoint.Types.Refinements.PTop+ :: Language.Fixpoint.Types.Refinements.Expr+1c366fec6a192dc993b90d2b711bd4f4+ pattern Language.Fixpoint.Types.Refinements.PTrue+ :: Language.Fixpoint.Types.Refinements.Expr+551c7d373a23dab3c0a93d27c12c8930+ type Pred = Language.Fixpoint.Types.Refinements.Expr+93656b5647e6ad833660a9dc492a1ebf+ class Predicate a where+ prop :: a -> Language.Fixpoint.Types.Refinements.Expr+ {-# MINIMAL prop #-}+58dd7eff6040aa97f060415235c6cb01+ newtype Reft+ = Reft (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.Expr)+738eabb2ee802fda7927d4314d5a74cc+ class (GHC.Base.Monoid r,+ Language.Fixpoint.Types.Refinements.Subable r) =>+ Reftable r where+ isTauto :: r -> GHC.Types.Bool+ ppTy :: r+ -> Text.PrettyPrint.HughesPJ.Doc -> Text.PrettyPrint.HughesPJ.Doc+ top :: r -> r+ bot :: r -> r+ meet :: r -> r -> r+ toReft :: r -> Language.Fixpoint.Types.Refinements.Reft+ ofReft :: Language.Fixpoint.Types.Refinements.Reft -> r+ params :: r -> [Language.Fixpoint.Types.Names.Symbol]+ {-# MINIMAL isTauto, ppTy, bot, toReft, ofReft, params #-}+58dd7eff6040aa97f060415235c6cb01+ axiom Language.Fixpoint.Types.Refinements.Rep_Bop::+ GHC.Generics.Rep Language.Fixpoint.Types.Refinements.Bop+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Bop"+ "Language.Fixpoint.Types.Refinements"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Plus" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Minus" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Times"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ GHC.Generics.U1))+ GHC.Generics.:+: ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Div" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Mod" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1)+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "RTimes"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "RDiv"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ GHC.Generics.U1)))+3130541cdaa27975ca84ce0fd238d8aa+ axiom Language.Fixpoint.Types.Refinements.Rep_Brel::+ GHC.Generics.Rep Language.Fixpoint.Types.Refinements.Brel+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Brel"+ "Language.Fixpoint.Types.Refinements"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Eq" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Ne" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1)+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Gt" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Ge" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1))+ GHC.Generics.:+: ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Lt" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Le" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1)+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Ueq" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Une"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ GHC.Generics.U1)))+77cbbec08e19a1217d2b733c8f08120e+ axiom Language.Fixpoint.Types.Refinements.Rep_Constant::+ GHC.Generics.Rep Language.Fixpoint.Types.Refinements.Constant+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Constant"+ "Language.Fixpoint.Types.Refinements"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons "I" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Integer.Type.Integer))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons "R" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Double))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "L" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Data.Text.Internal.Text)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort))))+58dd7eff6040aa97f060415235c6cb01+ axiom Language.Fixpoint.Types.Refinements.Rep_Expr::+ GHC.Generics.Rep Language.Fixpoint.Types.Refinements.Expr+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Expr"+ "Language.Fixpoint.Types.Refinements"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ ((((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "ESym" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.SymConst))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "ECon" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Constant)))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "EVar" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "EApp"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "ENeg"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)))))+ GHC.Generics.:+: ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "EBin" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.Bop)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "EIte"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "ECst"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort))))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "ELam"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort))+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "ETApp"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "ETAbs"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Names.Symbol))))))+ GHC.Generics.:+: (((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PAnd" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [Language.Fixpoint.Types.Refinements.Expr]))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "POr" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [Language.Fixpoint.Types.Refinements.Expr])))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PNot"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PImp"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PIff"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)))))+ GHC.Generics.:+: ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PAtom"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Brel)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PKVar"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.KVar)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Subst))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PAll"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)])+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr))))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PExist"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)])+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "PGrad"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.KVar)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Subst))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.GradInfo)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr)))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "ECoerc"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Expr))))))))+af986c6f2ab8500fff12f403a43796ed+ axiom Language.Fixpoint.Types.Refinements.Rep_GradInfo::+ GHC.Generics.Rep Language.Fixpoint.Types.Refinements.GradInfo+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "GradInfo"+ "Language.Fixpoint.Types.Refinements"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "GradInfo" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "gsrc")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Spans.SrcSpan)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "gused")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (GHC.Maybe.Maybe Language.Fixpoint.Types.Spans.SrcSpan))))+d1b959feb3e6e165694f06ccc1e60f00+ axiom Language.Fixpoint.Types.Refinements.Rep_KVSub::+ GHC.Generics.Rep Language.Fixpoint.Types.Refinements.KVSub+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "KVSub"+ "Language.Fixpoint.Types.Refinements"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "KVS" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "ksuVV")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "ksuSort")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Sorts.Sort))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "ksuKVar")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.KVar)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "ksuSubst")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.Subst))))+f4ebd74e51621c4f10e9fc003e3885a9+ axiom Language.Fixpoint.Types.Refinements.Rep_KVar::+ GHC.Generics.Rep Language.Fixpoint.Types.Refinements.KVar+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "KVar"+ "Language.Fixpoint.Types.Refinements"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.True)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons "KV" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "kv")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol)))+58dd7eff6040aa97f060415235c6cb01+ axiom Language.Fixpoint.Types.Refinements.Rep_Reft::+ GHC.Generics.Rep Language.Fixpoint.Types.Refinements.Reft+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Reft"+ "Language.Fixpoint.Types.Refinements"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.True)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Reft" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.Expr))))+58dd7eff6040aa97f060415235c6cb01+ axiom Language.Fixpoint.Types.Refinements.Rep_SortedReft::+ GHC.Generics.Rep Language.Fixpoint.Types.Refinements.SortedReft+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "SortedReft"+ "Language.Fixpoint.Types.Refinements"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons "RR" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "sr_sort")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Sorts.Sort)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "sr_reft")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.Reft)))+58dd7eff6040aa97f060415235c6cb01+ axiom Language.Fixpoint.Types.Refinements.Rep_Subst::+ GHC.Generics.Rep Language.Fixpoint.Types.Refinements.Subst+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Subst"+ "Language.Fixpoint.Types.Refinements"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.True)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Su" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Refinements.Expr))))+70bf9d44b2d107fffacade38f4990bd9+ axiom Language.Fixpoint.Types.Refinements.Rep_SymConst::+ GHC.Generics.Rep Language.Fixpoint.Types.Refinements.SymConst+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "SymConst"+ "Language.Fixpoint.Types.Refinements"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SL" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Data.Text.Internal.Text)))+58dd7eff6040aa97f060415235c6cb01+ data SortedReft+ = RR {sr_sort :: !Language.Fixpoint.Types.Sorts.Sort,+ sr_reft :: !Language.Fixpoint.Types.Refinements.Reft}+60165a51c7f24051113a59802b59cd27+ class Subable a where+ syms :: a -> [Language.Fixpoint.Types.Names.Symbol]+ substa :: (Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Names.Symbol)+ -> a -> a+ substf :: (Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Refinements.Expr)+ -> a -> a+ subst :: Language.Fixpoint.Types.Refinements.Subst -> a -> a+ subst1 :: a+ -> (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.Expr)+ -> a+ {-# MINIMAL syms, substa, substf, subst #-}+58dd7eff6040aa97f060415235c6cb01+ newtype Subst+ = Su (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Refinements.Expr)+70bf9d44b2d107fffacade38f4990bd9+ data SymConst = SL !Data.Text.Internal.Text+62dbde6d56cf10a600838f12dff254d8+ conjuncts ::+ Language.Fixpoint.Types.Refinements.Expr+ -> [Language.Fixpoint.Types.Refinements.Expr]+4349e1de3e9b5e13ba4bb83779e71fcc+ debruijnIndex ::+ Language.Fixpoint.Types.Refinements.Expr -> GHC.Types.Int+61b63ddc8053df8bce148586f0630ece+ eAppC ::+ Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+1307e7979a57d82780ccbddd25281f50+ eApps ::+ Language.Fixpoint.Types.Refinements.Expr+ -> [Language.Fixpoint.Types.Refinements.Expr]+ -> Language.Fixpoint.Types.Refinements.Expr+23c3e591dddc150835dbbd9dca993503+ eProp ::+ Language.Fixpoint.Types.Names.Symbolic a =>+ a -> Language.Fixpoint.Types.Refinements.Expr+78f3007f3bb9a0c61a30d1ab8e58f084+ eVar ::+ Language.Fixpoint.Types.Names.Symbolic a =>+ a -> Language.Fixpoint.Types.Refinements.Expr+fc1447942212b145006ca1510d4d9b3d+ elit ::+ Language.Fixpoint.Types.Spans.Located+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Refinements.Expr+a121d7f00a157278e2955c5d4b9cc5e2+ exprReft ::+ Language.Fixpoint.Types.Refinements.Expression a =>+ a -> Language.Fixpoint.Types.Refinements.Reft+56dc7aa135c7f2cf2d6085fd13aa9f31+ falseReft :: Language.Fixpoint.Types.Refinements.Reft+b8215ffd161e9bc87acce9aab28f717b+ flattenRefas ::+ [Language.Fixpoint.Types.Refinements.Expr]+ -> [Language.Fixpoint.Types.Refinements.Expr]+af986c6f2ab8500fff12f403a43796ed+ gsrc ::+ Language.Fixpoint.Types.Refinements.GradInfo+ -> Language.Fixpoint.Types.Spans.SrcSpan+ RecSel Left Language.Fixpoint.Types.Refinements.GradInfo+af986c6f2ab8500fff12f403a43796ed+ gused ::+ Language.Fixpoint.Types.Refinements.GradInfo+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Spans.SrcSpan+ RecSel Left Language.Fixpoint.Types.Refinements.GradInfo+ee8cd40aa5e6fb5a8e7ce151b81141f2+ intKvar ::+ GHC.Integer.Type.Integer+ -> Language.Fixpoint.Types.Refinements.KVar+f0a5d88aefc50349b7c441e8b3999bb7+ isContraPred ::+ Language.Fixpoint.Types.Refinements.Expr -> GHC.Types.Bool+15bb39791b2eaa58d6152a8a4e70c581+ isFunctionSortedReft ::+ Language.Fixpoint.Types.Refinements.SortedReft -> GHC.Types.Bool+3a097c5f9ea6e7dca22bab5a2f3df362+ isNonTrivial ::+ Language.Fixpoint.Types.Refinements.Reftable r =>+ r -> GHC.Types.Bool+a1b424e07674d0e6b4b00ddc71c855b3+ isSingletonExpr ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Refinements.Expr+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Refinements.Expr+f351bc8bf337cec43a54858123940de8+ isSingletonReft ::+ Language.Fixpoint.Types.Refinements.Reft+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Refinements.Expr+b0ebfe363526526426c55e6ea6cc9f4d+ isTautoPred ::+ Language.Fixpoint.Types.Refinements.Expr -> GHC.Types.Bool+d1b959feb3e6e165694f06ccc1e60f00+ ksuKVar ::+ Language.Fixpoint.Types.Refinements.KVSub+ -> Language.Fixpoint.Types.Refinements.KVar+ RecSel Left Language.Fixpoint.Types.Refinements.KVSub+d1b959feb3e6e165694f06ccc1e60f00+ ksuSort ::+ Language.Fixpoint.Types.Refinements.KVSub+ -> Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Types.Refinements.KVSub+d1b959feb3e6e165694f06ccc1e60f00+ ksuSubst ::+ Language.Fixpoint.Types.Refinements.KVSub+ -> Language.Fixpoint.Types.Refinements.Subst+ RecSel Left Language.Fixpoint.Types.Refinements.KVSub+d1b959feb3e6e165694f06ccc1e60f00+ ksuVV ::+ Language.Fixpoint.Types.Refinements.KVSub+ -> Language.Fixpoint.Types.Names.Symbol+ RecSel Left Language.Fixpoint.Types.Refinements.KVSub+f4ebd74e51621c4f10e9fc003e3885a9+ kv ::+ Language.Fixpoint.Types.Refinements.KVar+ -> Language.Fixpoint.Types.Names.Symbol+ RecSel Left Language.Fixpoint.Types.Refinements.KVar+7c8604cbab97b0e7659a3d28df5714bc+ mapPredReft ::+ (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr)+ -> Language.Fixpoint.Types.Refinements.Reft+ -> Language.Fixpoint.Types.Refinements.Reft+12f29bdc1c6edf6c119c480e20519306+ mkEApp ::+ Language.Fixpoint.Types.Names.LocSymbol+ -> [Language.Fixpoint.Types.Refinements.Expr]+ -> Language.Fixpoint.Types.Refinements.Expr+42f3210a692bd1be1f31940da3882f01+ mkProp ::+ Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Pred+3f119b0316b7f3c904eb453da90f80ac+ notExprReft ::+ Language.Fixpoint.Types.Refinements.Expression a =>+ a -> Language.Fixpoint.Types.Refinements.Reft+d997a1bd3b1f67d4020526858eca07c4+ pAnd ::+ Language.Fixpoint.Misc.ListNE+ Language.Fixpoint.Types.Refinements.Pred+ -> Language.Fixpoint.Types.Refinements.Pred+6a564808743029b550fac42026ffd243+ pExist ::+ [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ -> Language.Fixpoint.Types.Refinements.Pred+ -> Language.Fixpoint.Types.Refinements.Pred+d2264c1ad6b27b2aaf45fe2de8858841+ pGAnd ::+ Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+fc359f38c8476ec7dc202dd5a7471437+ pGAnds ::+ [Language.Fixpoint.Types.Refinements.Expr]+ -> Language.Fixpoint.Types.Refinements.Expr+4813b34991f64b0e5d97e49a86a08e49+ pIte ::+ Language.Fixpoint.Types.Refinements.Pred+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+8a1e1f795b62005d448717b57d964c5f+ pOr ::+ Language.Fixpoint.Misc.ListNE+ Language.Fixpoint.Types.Refinements.Pred+ -> Language.Fixpoint.Types.Refinements.Pred+3e88a67daabcdb054a134b4aadd1cb16+ pprintReft ::+ Language.Fixpoint.Types.PrettyPrint.Tidy+ -> Language.Fixpoint.Types.Refinements.Reft+ -> Text.PrettyPrint.HughesPJ.Doc+ed755d08d3fab6d061823d472e8c7661+ predReft ::+ Language.Fixpoint.Types.Refinements.Predicate a =>+ a -> Language.Fixpoint.Types.Refinements.Reft+c3a7f9b83e48c390aa1ce45d482d49ce+ propReft ::+ Language.Fixpoint.Types.Refinements.Predicate a =>+ a -> Language.Fixpoint.Types.Refinements.Reft+591c33da3565b1c9871eaa22f0250cfd+ reft ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Reft+7d25a7e481f945537851203dd83cae77+ reftBind ::+ Language.Fixpoint.Types.Refinements.Reft+ -> Language.Fixpoint.Types.Names.Symbol+527dc5e5e7463d3cd54501ed54246c2b+ reftConjuncts ::+ Language.Fixpoint.Types.Refinements.Reft+ -> [Language.Fixpoint.Types.Refinements.Reft]+9d7b055289a88730385e70810b114b97+ reftPred ::+ Language.Fixpoint.Types.Refinements.Reft+ -> Language.Fixpoint.Types.Refinements.Expr+9b07f402f719e5fdde60de32b4802531+ splitEApp ::+ Language.Fixpoint.Types.Refinements.Expr+ -> (Language.Fixpoint.Types.Refinements.Expr,+ [Language.Fixpoint.Types.Refinements.Expr])+b13d172acda197fed8cd69dde06e196a+ splitPAnd ::+ Language.Fixpoint.Types.Refinements.Expr+ -> [Language.Fixpoint.Types.Refinements.Expr]+58dd7eff6040aa97f060415235c6cb01+ sr_reft ::+ Language.Fixpoint.Types.Refinements.SortedReft+ -> Language.Fixpoint.Types.Refinements.Reft+ RecSel Left Language.Fixpoint.Types.Refinements.SortedReft+58dd7eff6040aa97f060415235c6cb01+ sr_sort ::+ Language.Fixpoint.Types.Refinements.SortedReft+ -> Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Types.Refinements.SortedReft+3fc582010d3949798a67a95868ec248e+ srcGradInfo ::+ Text.Parsec.Pos.SourcePos+ -> Language.Fixpoint.Types.Refinements.GradInfo+cffad9314c4809ce0f389601bb1d2460+ symbolReft ::+ Language.Fixpoint.Types.Names.Symbolic a =>+ a -> Language.Fixpoint.Types.Refinements.Reft+b1755155d9be8c8f361db2f542991fc4+ trueReft :: Language.Fixpoint.Types.Refinements.Reft+5a60d78a8bc9c5d80e01c993695d83d5+ trueSortedReft ::+ Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Refinements.SortedReft+89fb7207e88fd3843265f3d20215d023+ uexprReft ::+ Language.Fixpoint.Types.Refinements.Expression a =>+ a -> Language.Fixpoint.Types.Refinements.Reft+fe3d819aa1977786a623e0eacc4a1286+ usymbolReft ::+ Language.Fixpoint.Types.Names.Symbolic a =>+ a -> Language.Fixpoint.Types.Refinements.Reft+84a95ce75000c5743a32bad10c33f3cc+ vv_ :: Language.Fixpoint.Types.Names.Symbol+c616131631b88ca698887c566125560c+ (|.|) ::+ Language.Fixpoint.Types.Refinements.Pred+ -> Language.Fixpoint.Types.Refinements.Pred+ -> Language.Fixpoint.Types.Refinements.Pred+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Refinements.Bop]+ = Language.Fixpoint.Types.Refinements.$fBinaryBop+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Refinements.Brel]+ = Language.Fixpoint.Types.Refinements.$fBinaryBrel+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Refinements.Constant]+ = Language.Fixpoint.Types.Refinements.$fBinaryConstant+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.$fBinaryExpr+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Refinements.GradInfo]+ = Language.Fixpoint.Types.Refinements.$fBinaryGradInfo+instance [orphan] Data.Binary.Class.Binary [Data.HashMap.Base.HashMap]+ = Language.Fixpoint.Types.Refinements.$fBinaryHashMap+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Refinements.KVar]+ = Language.Fixpoint.Types.Refinements.$fBinaryKVar+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Refinements.$fBinaryReft+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Refinements.$fBinarySortedReft+instance [orphan] Data.Binary.Class.Binary [Language.Fixpoint.Types.Spans.SrcSpan]+ = Language.Fixpoint.Types.Refinements.$fBinarySrcSpan+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Refinements.Subst]+ = Language.Fixpoint.Types.Refinements.$fBinarySubst+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Refinements.SymConst]+ = Language.Fixpoint.Types.Refinements.$fBinarySymConst+instance [orphan] Data.Binary.Class.Binary [Language.Fixpoint.Types.Sorts.TCEmb]+ = Language.Fixpoint.Types.Refinements.$fBinaryTCEmb+instance Data.Data.Data [Language.Fixpoint.Types.Refinements.Bop]+ = Language.Fixpoint.Types.Refinements.$fDataBop+instance Data.Data.Data [Language.Fixpoint.Types.Refinements.Brel]+ = Language.Fixpoint.Types.Refinements.$fDataBrel+instance Data.Data.Data [Language.Fixpoint.Types.Refinements.Constant]+ = Language.Fixpoint.Types.Refinements.$fDataConstant+instance Data.Data.Data [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.$fDataExpr+instance Data.Data.Data [Language.Fixpoint.Types.Refinements.GradInfo]+ = Language.Fixpoint.Types.Refinements.$fDataGradInfo+instance Data.Data.Data [Language.Fixpoint.Types.Refinements.KVSub]+ = Language.Fixpoint.Types.Refinements.$fDataKVSub+instance Data.Data.Data [Language.Fixpoint.Types.Refinements.KVar]+ = Language.Fixpoint.Types.Refinements.$fDataKVar+instance Data.Data.Data [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Refinements.$fDataReft+instance Data.Data.Data [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Refinements.$fDataSortedReft+instance Data.Data.Data [Language.Fixpoint.Types.Refinements.Subst]+ = Language.Fixpoint.Types.Refinements.$fDataSubst+instance Data.Data.Data [Language.Fixpoint.Types.Refinements.SymConst]+ = Language.Fixpoint.Types.Refinements.$fDataSymConst+instance GHC.Classes.Eq [Language.Fixpoint.Types.Refinements.Bop]+ = Language.Fixpoint.Types.Refinements.$fEqBop+instance GHC.Classes.Eq [Language.Fixpoint.Types.Refinements.Brel]+ = Language.Fixpoint.Types.Refinements.$fEqBrel+instance GHC.Classes.Eq [Language.Fixpoint.Types.Refinements.Constant]+ = Language.Fixpoint.Types.Refinements.$fEqConstant+instance GHC.Classes.Eq [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.$fEqExpr+instance GHC.Classes.Eq [Language.Fixpoint.Types.Refinements.GradInfo]+ = Language.Fixpoint.Types.Refinements.$fEqGradInfo+instance GHC.Classes.Eq [Language.Fixpoint.Types.Refinements.KVSub]+ = Language.Fixpoint.Types.Refinements.$fEqKVSub+instance GHC.Classes.Eq [Language.Fixpoint.Types.Refinements.KVar]+ = Language.Fixpoint.Types.Refinements.$fEqKVar+instance GHC.Classes.Eq [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Refinements.$fEqReft+instance GHC.Classes.Eq [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Refinements.$fEqSortedReft+instance GHC.Classes.Eq [Language.Fixpoint.Types.Refinements.Subst]+ = Language.Fixpoint.Types.Refinements.$fEqSubst+instance GHC.Classes.Eq [Language.Fixpoint.Types.Refinements.SymConst]+ = Language.Fixpoint.Types.Refinements.$fEqSymConst+instance Language.Fixpoint.Types.Refinements.Expression [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.$fExpressionExpr+instance Language.Fixpoint.Types.Refinements.Expression [GHC.Types.Int]+ = Language.Fixpoint.Types.Refinements.$fExpressionInt+instance Language.Fixpoint.Types.Refinements.Expression [GHC.Integer.Type.Integer]+ = Language.Fixpoint.Types.Refinements.$fExpressionInteger+instance Language.Fixpoint.Types.Refinements.Expression [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Refinements.$fExpressionLocated+instance Language.Fixpoint.Types.Refinements.Expression [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Refinements.$fExpressionReft+instance Language.Fixpoint.Types.Refinements.Expression [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Refinements.$fExpressionSortedReft+instance Language.Fixpoint.Types.Refinements.Expression [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Refinements.$fExpressionSymbol+instance Language.Fixpoint.Types.Refinements.Expression [Data.Text.Internal.Text]+ = Language.Fixpoint.Types.Refinements.$fExpressionText+instance Language.Fixpoint.Types.Refinements.Falseable [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.$fFalseableExpr+instance Language.Fixpoint.Types.Refinements.Falseable [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Refinements.$fFalseableReft+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Refinements.Bop]+ = Language.Fixpoint.Types.Refinements.$fFixpointBop+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Refinements.Brel]+ = Language.Fixpoint.Types.Refinements.$fFixpointBrel+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Refinements.Constant]+ = Language.Fixpoint.Types.Refinements.$fFixpointConstant+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.$fFixpointExpr+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Refinements.KVar]+ = Language.Fixpoint.Types.Refinements.$fFixpointKVar+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Refinements.Subst]+ = Language.Fixpoint.Types.Refinements.$fFixpointSubst+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Refinements.SymConst]+ = Language.Fixpoint.Types.Refinements.$fFixpointSymConst+instance GHC.Generics.Generic [Language.Fixpoint.Types.Refinements.Bop]+ = Language.Fixpoint.Types.Refinements.$fGenericBop+instance GHC.Generics.Generic [Language.Fixpoint.Types.Refinements.Brel]+ = Language.Fixpoint.Types.Refinements.$fGenericBrel+instance GHC.Generics.Generic [Language.Fixpoint.Types.Refinements.Constant]+ = Language.Fixpoint.Types.Refinements.$fGenericConstant+instance GHC.Generics.Generic [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.$fGenericExpr+instance GHC.Generics.Generic [Language.Fixpoint.Types.Refinements.GradInfo]+ = Language.Fixpoint.Types.Refinements.$fGenericGradInfo+instance GHC.Generics.Generic [Language.Fixpoint.Types.Refinements.KVSub]+ = Language.Fixpoint.Types.Refinements.$fGenericKVSub+instance GHC.Generics.Generic [Language.Fixpoint.Types.Refinements.KVar]+ = Language.Fixpoint.Types.Refinements.$fGenericKVar+instance GHC.Generics.Generic [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Refinements.$fGenericReft+instance GHC.Generics.Generic [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Refinements.$fGenericSortedReft+instance GHC.Generics.Generic [Language.Fixpoint.Types.Refinements.Subst]+ = Language.Fixpoint.Types.Refinements.$fGenericSubst+instance GHC.Generics.Generic [Language.Fixpoint.Types.Refinements.SymConst]+ = Language.Fixpoint.Types.Refinements.$fGenericSymConst+instance Language.Fixpoint.Types.Refinements.HasGradual [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.$fHasGradualExpr+instance Language.Fixpoint.Types.Refinements.HasGradual [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Refinements.$fHasGradualReft+instance Language.Fixpoint.Types.Refinements.HasGradual [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Refinements.$fHasGradualSortedReft+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Refinements.Bop]+ = Language.Fixpoint.Types.Refinements.$fHashableBop+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Refinements.Brel]+ = Language.Fixpoint.Types.Refinements.$fHashableBrel+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Refinements.Constant]+ = Language.Fixpoint.Types.Refinements.$fHashableConstant+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.$fHashableExpr+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Refinements.GradInfo]+ = Language.Fixpoint.Types.Refinements.$fHashableGradInfo+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Refinements.KVar]+ = Language.Fixpoint.Types.Refinements.$fHashableKVar+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Refinements.Subst]+ = Language.Fixpoint.Types.Refinements.$fHashableSubst+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Refinements.SymConst]+ = Language.Fixpoint.Types.Refinements.$fHashableSymConst+instance Data.String.IsString [Language.Fixpoint.Types.Refinements.KVar]+ = Language.Fixpoint.Types.Refinements.$fIsStringKVar+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Refinements.Bop]+ = Language.Fixpoint.Types.Refinements.$fNFDataBop+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Refinements.Brel]+ = Language.Fixpoint.Types.Refinements.$fNFDataBrel+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Refinements.Constant]+ = Language.Fixpoint.Types.Refinements.$fNFDataConstant+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.$fNFDataExpr+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Refinements.GradInfo]+ = Language.Fixpoint.Types.Refinements.$fNFDataGradInfo+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Refinements.KVar]+ = Language.Fixpoint.Types.Refinements.$fNFDataKVar+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Refinements.$fNFDataReft+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Refinements.$fNFDataSortedReft+instance [orphan] Control.DeepSeq.NFData [Language.Fixpoint.Types.Spans.SrcSpan]+ = Language.Fixpoint.Types.Refinements.$fNFDataSrcSpan+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Refinements.Subst]+ = Language.Fixpoint.Types.Refinements.$fNFDataSubst+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Refinements.SymConst]+ = Language.Fixpoint.Types.Refinements.$fNFDataSymConst+instance GHC.Classes.Ord [Language.Fixpoint.Types.Refinements.Bop]+ = Language.Fixpoint.Types.Refinements.$fOrdBop+instance GHC.Classes.Ord [Language.Fixpoint.Types.Refinements.Brel]+ = Language.Fixpoint.Types.Refinements.$fOrdBrel+instance GHC.Classes.Ord [Language.Fixpoint.Types.Refinements.Constant]+ = Language.Fixpoint.Types.Refinements.$fOrdConstant+instance GHC.Classes.Ord [Language.Fixpoint.Types.Refinements.KVar]+ = Language.Fixpoint.Types.Refinements.$fOrdKVar+instance GHC.Classes.Ord [Language.Fixpoint.Types.Refinements.SymConst]+ = Language.Fixpoint.Types.Refinements.$fOrdSymConst+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Refinements.Bop]+ = Language.Fixpoint.Types.Refinements.$fPPrintBop+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Refinements.Brel]+ = Language.Fixpoint.Types.Refinements.$fPPrintBrel+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Refinements.Constant]+ = Language.Fixpoint.Types.Refinements.$fPPrintConstant+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.$fPPrintExpr+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Refinements.KVSub]+ = Language.Fixpoint.Types.Refinements.$fPPrintKVSub+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Refinements.KVar]+ = Language.Fixpoint.Types.Refinements.$fPPrintKVar+instance [orphan] Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Types.Refinements.$fPPrintSort+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Refinements.Subst]+ = Language.Fixpoint.Types.Refinements.$fPPrintSubst+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Refinements.SymConst]+ = Language.Fixpoint.Types.Refinements.$fPPrintSymConst+instance [orphan] Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Sorts.TCEmb]+ = Language.Fixpoint.Types.Refinements.$fPPrintTCEmb+instance Language.Fixpoint.Types.Refinements.Predicate [GHC.Types.Bool]+ = Language.Fixpoint.Types.Refinements.$fPredicateBool+instance Language.Fixpoint.Types.Refinements.Predicate [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.$fPredicateExpr+instance Language.Fixpoint.Types.Refinements.Predicate [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Refinements.$fPredicateSymbol+instance GHC.Show.Show [Language.Fixpoint.Types.Refinements.Bop]+ = Language.Fixpoint.Types.Refinements.$fShowBop+instance GHC.Show.Show [Language.Fixpoint.Types.Refinements.Brel]+ = Language.Fixpoint.Types.Refinements.$fShowBrel+instance GHC.Show.Show [Language.Fixpoint.Types.Refinements.Constant]+ = Language.Fixpoint.Types.Refinements.$fShowConstant+instance GHC.Show.Show [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.$fShowExpr+instance GHC.Show.Show [Language.Fixpoint.Types.Refinements.GradInfo]+ = Language.Fixpoint.Types.Refinements.$fShowGradInfo+instance GHC.Show.Show [Language.Fixpoint.Types.Refinements.KVSub]+ = Language.Fixpoint.Types.Refinements.$fShowKVSub+instance GHC.Show.Show [Language.Fixpoint.Types.Refinements.KVar]+ = Language.Fixpoint.Types.Refinements.$fShowKVar+instance GHC.Show.Show [Language.Fixpoint.Types.Refinements.Subst]+ = Language.Fixpoint.Types.Refinements.$fShowSubst+instance GHC.Show.Show [Language.Fixpoint.Types.Refinements.SymConst]+ = Language.Fixpoint.Types.Refinements.$fShowSymConst+instance Language.Fixpoint.Types.Refinements.Subable [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Refinements.$fSubableLocated+instance Language.Fixpoint.Types.Names.Symbolic [Language.Fixpoint.Types.Refinements.SymConst]+ = Language.Fixpoint.Types.Refinements.$fSymbolicSymConst+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Refinements.Rep_SortedReft+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Refinements.Rep_Reft+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Refinements.KVSub]+ = Language.Fixpoint.Types.Refinements.Rep_KVSub+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Refinements.Subst]+ = Language.Fixpoint.Types.Refinements.Rep_Subst+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Refinements.Rep_Expr+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Refinements.GradInfo]+ = Language.Fixpoint.Types.Refinements.Rep_GradInfo+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Refinements.Bop]+ = Language.Fixpoint.Types.Refinements.Rep_Bop+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Refinements.Brel]+ = Language.Fixpoint.Types.Refinements.Rep_Brel+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Refinements.Constant]+ = Language.Fixpoint.Types.Refinements.Rep_Constant+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Refinements.SymConst]+ = Language.Fixpoint.Types.Refinements.Rep_SymConst+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Refinements.KVar]+ = Language.Fixpoint.Types.Refinements.Rep_KVar+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,1237 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:42.586816 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions [family instance module] 8065+ interface hash: e56868dba608c9ac3ec28ccbcca47b33+ ABI hash: 0b8a944fa50bd0859885907efb6ca971+ export-list hash: afa649b912ca2c885ac627d761c55201+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: e4ee096b4caeb0fb0be1280776c31869+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Solutions.eQual+ Language.Fixpoint.Types.Solutions.emptyGMap+ Language.Fixpoint.Types.Solutions.equalsGb+ Language.Fixpoint.Types.Solutions.fromList+ Language.Fixpoint.Types.Solutions.gbEquals+ Language.Fixpoint.Types.Solutions.gbFilterM+ Language.Fixpoint.Types.Solutions.gbToQbs+ Language.Fixpoint.Types.Solutions.glookup+ Language.Fixpoint.Types.Solutions.lookup+ Language.Fixpoint.Types.Solutions.lookupQBind+ Language.Fixpoint.Types.Solutions.qb+ Language.Fixpoint.Types.Solutions.qbExprs+ Language.Fixpoint.Types.Solutions.qbFilter+ Language.Fixpoint.Types.Solutions.qbPreds+ Language.Fixpoint.Types.Solutions.qbToGb+ Language.Fixpoint.Types.Solutions.result+ Language.Fixpoint.Types.Solutions.resultGradual+ Language.Fixpoint.Types.Solutions.trueEqual+ Language.Fixpoint.Types.Solutions.update+ Language.Fixpoint.Types.Solutions.updateEbind+ Language.Fixpoint.Types.Solutions.updateGMap+ Language.Fixpoint.Types.Solutions.updateGMapWithKey+ Language.Fixpoint.Types.Solutions.BIndex{Language.Fixpoint.Types.Solutions.Bind Language.Fixpoint.Types.Solutions.Cstr Language.Fixpoint.Types.Solutions.Root}+ Language.Fixpoint.Types.Solutions.BindPred{Language.Fixpoint.Types.Solutions.BP bpConc bpKVar}+ Language.Fixpoint.Types.Solutions.CMap+ Language.Fixpoint.Types.Solutions.Cand+ Language.Fixpoint.Types.Solutions.Cube{Language.Fixpoint.Types.Solutions.Cube cuBinds cuId cuSubst cuTag}+ Language.Fixpoint.Types.Solutions.EQual{Language.Fixpoint.Types.Solutions.EQL _eqArgs eqPred eqQual}+ Language.Fixpoint.Types.Solutions.EbindSol{Language.Fixpoint.Types.Solutions.EbDef Language.Fixpoint.Types.Solutions.EbIncr Language.Fixpoint.Types.Solutions.EbSol}+ Language.Fixpoint.Types.Solutions.GBind+ Language.Fixpoint.Types.Solutions.GSolution+ Language.Fixpoint.Types.Solutions.Hyp+ Language.Fixpoint.Types.Solutions.Index{Language.Fixpoint.Types.Solutions.FastIdx bindExpr envBinds envSorts envTx kvDef kvUse}+ Language.Fixpoint.Types.Solutions.KIndex{Language.Fixpoint.Types.Solutions.KIndex kiBIndex kiKVar kiPos}+ Language.Fixpoint.Types.Solutions.QBind+ Language.Fixpoint.Types.Solutions.Sol{gMap sEbd sEnv sScp sxEnv}+ Language.Fixpoint.Types.Solutions.Solution+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.SortCheck 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ text-1.2.3.1:Data.Text.Lazy text-1.2.3.1:Data.Text+ binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Data 2949b01dc3799f9122535900668dfcef+import -/ base-4.12.0.0:Data.Either 423bee738f25e5ee983d072216009be8+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Typeable 1095be85dd9009a6503a3981a259490e+import -/ base-4.12.0.0:Data.Typeable.Internal e1cb15df401654131814917774d4d7ed+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ ListNE 34c095e41b29e7147eb4001d73367295+ errorstar e47c2d482124b43e020a405f809adcff+ groupBase 70f3dbc2ff3e869f251f7434b809ce1b+ safeZip 64cf942e02bda202dee1b52faca534f1+ tshow 044dfce5ef708f72e5ca59e37dc09756+ |-> c7ce61710008a169af16044477857a27+import -/ Language.Fixpoint.SortCheck f7b7dc40080c3027ffc5d238db179224+ exports: fef1457ed33a6a1cb5bc6a8b38a1edff+ elaborate 5809c5e4abf9d4e8230e50ea3a386a0e+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ exports: 12c9708cdb7cc8f94e739104f060796e+ Qualifier 9aae2bcc537b45559d03a4eee2bb72e5+ SimpC 03dcffeea2a5199db7c9ff0154825bc0+ SubcId 311c8f398e2d0f5e23e664bacb45f905+ Tag f16c6ce3b8b49003401603dfb3b1715f+ qBody 9aae2bcc537b45559d03a4eee2bb72e5+ qParams 9aae2bcc537b45559d03a4eee2bb72e5+ qpSym 9aae2bcc537b45559d03a4eee2bb72e5+ trueQual c00d3264555ff3492a3a00cdc2648ad4+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ exports: ab8867d60d15ba2af38632b8e3ed1bf3+ BindId c1dc08df6d648ef575cab1d33fc5df7b+ IBindEnv b71d4c279d7a7920d70dd44bac0305aa+ SEnv 7b76b1b3898bd64fc8c2187c261c0f80+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ exports: 45d7959603a132b65636c5a341548000+ Symbol 3f986d27cdf6315dd770c516fc00a643+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ pprint 955dc9d031db587300edf6146ac33be4+ pprintTidy bf75bee99d55ab15929b450195e64f3c+ showpp a9f79fc9a75f72593341c16b4b8ac492+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ exports: c373b88351492ec6aa75dffded20541a+ Expr 58dd7eff6040aa97f060415235c6cb01+ KVSub d1b959feb3e6e165694f06ccc1e60f00+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ PAnd 668269c725f0f517f2cefead144acbec+ Pred 551c7d373a23dab3c0a93d27c12c8930+ Subst 58dd7eff6040aa97f060415235c6cb01+ eVar 78f3007f3bb9a0c61a30d1ab8e58f084+ pAnd d997a1bd3b1f67d4020526858eca07c4+ subst 8dc51beb28f3e734b2b3097edf7df9c8+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ exports: b866d80011faf2d8f77449fdc11dc733+ Sort 30d6fd7d99459ff88296e3b55c87b46c+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ exports: 9e9118ba5257e743a1e1c46db3e4cd33+ Loc 4962bb0bc274d9001b974c3326b63480+ atLoc 1d33f99909507b18efe9f42abbbb5952+ srcSpan 2b3eb671678320980d11df21e110f501+import -/ Language.Fixpoint.Types.Substitutions 68389730f57eb1bd783731c1e8e83435+ exports: 49819ba83f4a612781a90fc7826a8b86+ mkSubst fa0e5a33f52a68ffd2f44ba8a067ca8c+import -/ Language.Fixpoint.Types.Theories 2d31db6b0cdc7b0f2231db238b021516+ exports: a69c86f8cdfe4a6b4b2b705830bc822b+ SymEnv 0506688674ca55c28cc4df4c4dbdb2df+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ syb-0.7:Data.Generics f4bddd07fe7227d2509acad55f9ff82d+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+a143c3dc8e88328902f82f3430d31b51+ $fDataEQual ::+ Data.Data.Data Language.Fixpoint.Types.Solutions.EQual+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fDataGBind ::+ Data.Data.Data Language.Fixpoint.Types.Solutions.GBind+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fDataQBind ::+ Data.Data.Data Language.Fixpoint.Types.Solutions.QBind+ DFunId+911c93d5a79fc29f318e774ec0900e1e+ $fEqBIndex ::+ GHC.Classes.Eq Language.Fixpoint.Types.Solutions.BIndex+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fEqEQual :: GHC.Classes.Eq Language.Fixpoint.Types.Solutions.EQual+ DFunId+696c9034b7b00faaaf009c5bdfe68df5+ $fEqKIndex ::+ GHC.Classes.Eq Language.Fixpoint.Types.Solutions.KIndex+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fEqQBind :: GHC.Classes.Eq Language.Fixpoint.Types.Solutions.QBind+ DFunId+7e54038e4321923be0c504747fce3360+ $fFunctorSol ::+ GHC.Base.Functor (Language.Fixpoint.Types.Solutions.Sol a)+ DFunId+911c93d5a79fc29f318e774ec0900e1e+ $fGenericBIndex ::+ GHC.Generics.Generic Language.Fixpoint.Types.Solutions.BIndex+ DFunId+7e54038e4321923be0c504747fce3360+ $fGenericCube ::+ GHC.Generics.Generic Language.Fixpoint.Types.Solutions.Cube+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fGenericEQual ::+ GHC.Generics.Generic Language.Fixpoint.Types.Solutions.EQual+ DFunId+3ca9aaf0ff38db8fa1c00de0c3556fd4+ $fGenericEbindSol ::+ GHC.Generics.Generic Language.Fixpoint.Types.Solutions.EbindSol+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fGenericGBind ::+ GHC.Generics.Generic Language.Fixpoint.Types.Solutions.GBind+ DFunId+696c9034b7b00faaaf009c5bdfe68df5+ $fGenericKIndex ::+ GHC.Generics.Generic Language.Fixpoint.Types.Solutions.KIndex+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fGenericQBind ::+ GHC.Generics.Generic Language.Fixpoint.Types.Solutions.QBind+ DFunId+7e54038e4321923be0c504747fce3360+ $fGenericSol ::+ GHC.Generics.Generic (Language.Fixpoint.Types.Solutions.Sol b a)+ DFunId+911c93d5a79fc29f318e774ec0900e1e+ $fHashableBIndex ::+ Data.Hashable.Class.Hashable+ Language.Fixpoint.Types.Solutions.BIndex+ DFunId+696c9034b7b00faaaf009c5bdfe68df5+ $fHashableKIndex ::+ Data.Hashable.Class.Hashable+ Language.Fixpoint.Types.Solutions.KIndex+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fLocEQual ::+ Language.Fixpoint.Types.Spans.Loc+ Language.Fixpoint.Types.Solutions.EQual+ DFunId+7e54038e4321923be0c504747fce3360+ $fMonoidSol ::+ GHC.Base.Monoid (Language.Fixpoint.Types.Solutions.Sol a b)+ DFunId+7e54038e4321923be0c504747fce3360+ $fNFDataCube ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Solutions.Cube+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fNFDataEQual ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Solutions.EQual+ DFunId+3ca9aaf0ff38db8fa1c00de0c3556fd4+ $fNFDataEbindSol ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Solutions.EbindSol+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fNFDataGBind ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Solutions.GBind+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fNFDataQBind ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Solutions.QBind+ DFunId+7e54038e4321923be0c504747fce3360+ $fNFDataSol ::+ (Control.DeepSeq.NFData b, Control.DeepSeq.NFData a) =>+ Control.DeepSeq.NFData (Language.Fixpoint.Types.Solutions.Sol b a)+ DFunId+911c93d5a79fc29f318e774ec0900e1e+ $fOrdBIndex ::+ GHC.Classes.Ord Language.Fixpoint.Types.Solutions.BIndex+ DFunId+696c9034b7b00faaaf009c5bdfe68df5+ $fOrdKIndex ::+ GHC.Classes.Ord Language.Fixpoint.Types.Solutions.KIndex+ DFunId+911c93d5a79fc29f318e774ec0900e1e+ $fPPrintBIndex ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Solutions.BIndex+ DFunId+fb7839bba7b9e806a658eb9cf6d7bd60+ $fPPrintBindPred ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Solutions.BindPred+ DFunId+7e54038e4321923be0c504747fce3360+ $fPPrintCube ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Solutions.Cube+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fPPrintEQual ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Solutions.EQual+ DFunId+3ca9aaf0ff38db8fa1c00de0c3556fd4+ $fPPrintEbindSol ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Solutions.EbindSol+ DFunId+696c9034b7b00faaaf009c5bdfe68df5+ $fPPrintKIndex ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Solutions.KIndex+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fPPrintQBind ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Solutions.QBind+ DFunId+7e54038e4321923be0c504747fce3360+ $fPPrintSol ::+ (Language.Fixpoint.Types.PrettyPrint.PPrint a,+ Language.Fixpoint.Types.PrettyPrint.PPrint b) =>+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Language.Fixpoint.Types.Solutions.Sol a b)+ DFunId+7e54038e4321923be0c504747fce3360+ $fSemigroupSol ::+ GHC.Base.Semigroup (Language.Fixpoint.Types.Solutions.Sol a b)+ DFunId+911c93d5a79fc29f318e774ec0900e1e+ $fShowBIndex ::+ GHC.Show.Show Language.Fixpoint.Types.Solutions.BIndex+ DFunId+fb7839bba7b9e806a658eb9cf6d7bd60+ $fShowBindPred ::+ GHC.Show.Show Language.Fixpoint.Types.Solutions.BindPred+ DFunId+7e54038e4321923be0c504747fce3360+ $fShowCube :: GHC.Show.Show Language.Fixpoint.Types.Solutions.Cube+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fShowEQual ::+ GHC.Show.Show Language.Fixpoint.Types.Solutions.EQual+ DFunId+3ca9aaf0ff38db8fa1c00de0c3556fd4+ $fShowEbindSol ::+ GHC.Show.Show Language.Fixpoint.Types.Solutions.EbindSol+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fShowGBind ::+ GHC.Show.Show Language.Fixpoint.Types.Solutions.GBind+ DFunId+696c9034b7b00faaaf009c5bdfe68df5+ $fShowKIndex ::+ GHC.Show.Show Language.Fixpoint.Types.Solutions.KIndex+ DFunId+a143c3dc8e88328902f82f3430d31b51+ $fShowQBind ::+ GHC.Show.Show Language.Fixpoint.Types.Solutions.QBind+ DFunId+f7521f198e333dd41d35b84f4a14376b+ $tc'BP :: GHC.Types.TyCon+96fe5143c8350195a49f704bef33ea63+ $tc'Bind :: GHC.Types.TyCon+690a2d9744351bfd201b218243d10876+ $tc'Cstr :: GHC.Types.TyCon+32e2e88b4468db6057002f3e39f516ab+ $tc'Cube :: GHC.Types.TyCon+6478c49d51acf56a14ac72a68d5dd56b+ $tc'EQL :: GHC.Types.TyCon+c535307bc87b6a2d4f8af5d7af89e031+ $tc'EbDef :: GHC.Types.TyCon+1c8c7a322f93a69e49e8c1822fdf313f+ $tc'EbIncr :: GHC.Types.TyCon+77b35fb9fdd8ac98f0fb930a1210dc3e+ $tc'EbSol :: GHC.Types.TyCon+25c100be2ea42ee5501b1fcaa9ed5c43+ $tc'FastIdx :: GHC.Types.TyCon+8f39af02b2d064a1defa5a110435d34b+ $tc'GB :: GHC.Types.TyCon+95503de087dcb9e4a9856017db92abe2+ $tc'KIndex :: GHC.Types.TyCon+883c0b1d7d9a0d37396da422e6932822+ $tc'QB :: GHC.Types.TyCon+cc7e1999d403aae94c7dbaba829ea212+ $tc'Root :: GHC.Types.TyCon+a12525bb750379dc7e00c59bf2d25eb7+ $tc'Sol :: GHC.Types.TyCon+45ac5a61842c9d493c87bcddc15bb2f7+ $tcBIndex :: GHC.Types.TyCon+2eb4ef9ab19f4a8a0fd88837faecafda+ $tcBindPred :: GHC.Types.TyCon+0c469ffc8316d5f9057e9a612d86c44a+ $tcCube :: GHC.Types.TyCon+a092bd1fd7e898e3ff7c4ed119cb8591+ $tcEQual :: GHC.Types.TyCon+f30392a21873f3fb1a33db3c69adb41c+ $tcEbindSol :: GHC.Types.TyCon+8cbb513be04d50730be245d6ee23ff24+ $tcGBind :: GHC.Types.TyCon+59a524045dfd6b18cb4a3e0a8863ae2d+ $tcIndex :: GHC.Types.TyCon+d03585ed4d5774b397934366fc0e2624+ $tcKIndex :: GHC.Types.TyCon+4ad60e5da54f21ce3130b51785e235ab+ $tcQBind :: GHC.Types.TyCon+80aa63cb9b0d157876d72403858824d2+ $tcSol :: GHC.Types.TyCon+7a8335d66ef441ba6d833c7b7a4e27cb+ $trModule :: GHC.Types.Module+911c93d5a79fc29f318e774ec0900e1e+ data BIndex+ = Root+ | Bind !Language.Fixpoint.Types.Environments.BindId+ | Cstr !Language.Fixpoint.Types.Constraints.SubcId+fb7839bba7b9e806a658eb9cf6d7bd60+ data BindPred+ = BP {bpConc :: !Language.Fixpoint.Types.Refinements.Pred,+ bpKVar :: ![Language.Fixpoint.Types.Solutions.KIndex]}+f6eaa2c8b036cb0052c0242863f4089d+ type CMap a =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Constraints.SubcId a+a4ed89272bedad700786bb7d38e14a02+ type Cand a = [(Language.Fixpoint.Types.Refinements.Expr, a)]+7e54038e4321923be0c504747fce3360+ data Cube+ = Cube {cuBinds :: Language.Fixpoint.Types.Environments.IBindEnv,+ cuSubst :: Language.Fixpoint.Types.Refinements.Subst,+ cuId :: Language.Fixpoint.Types.Constraints.SubcId,+ cuTag :: Language.Fixpoint.Types.Constraints.Tag}+a143c3dc8e88328902f82f3430d31b51+ data EQual+ = EQL {eqQual :: !Language.Fixpoint.Types.Constraints.Qualifier,+ eqPred :: !Language.Fixpoint.Types.Refinements.Expr,+ _eqArgs :: ![Language.Fixpoint.Types.Refinements.Expr]}+3ca9aaf0ff38db8fa1c00de0c3556fd4+ data EbindSol+ = EbDef [Language.Fixpoint.Types.Constraints.SimpC ()]+ Language.Fixpoint.Types.Names.Symbol+ | EbSol Language.Fixpoint.Types.Refinements.Expr+ | EbIncr+a143c3dc8e88328902f82f3430d31b51+ newtype GBind = GB [[Language.Fixpoint.Types.Solutions.EQual]]+f4acfaab7137c02b9bc6c627ce15a64d+ type GSolution =+ Language.Fixpoint.Types.Solutions.Sol+ (((Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort),+ Language.Fixpoint.Types.Refinements.Expr),+ Language.Fixpoint.Types.Solutions.GBind)+ Language.Fixpoint.Types.Solutions.QBind+7e54038e4321923be0c504747fce3360+ type Hyp =+ Language.Fixpoint.Misc.ListNE+ Language.Fixpoint.Types.Solutions.Cube+f4331db0c74d00756003369d2956e4b7+ data Index+ = FastIdx {bindExpr :: !(Language.Fixpoint.Types.Environments.BindId+ Language.Fixpoint.Misc.|-> Language.Fixpoint.Types.Solutions.BindPred),+ kvUse :: !(Language.Fixpoint.Types.Solutions.KIndex+ Language.Fixpoint.Misc.|-> Language.Fixpoint.Types.Refinements.KVSub),+ kvDef :: !(Language.Fixpoint.Types.Refinements.KVar+ Language.Fixpoint.Misc.|-> Language.Fixpoint.Types.Solutions.Hyp),+ envBinds :: !(Language.Fixpoint.Types.Solutions.CMap+ Language.Fixpoint.Types.Environments.IBindEnv),+ envTx :: !(Language.Fixpoint.Types.Solutions.CMap+ [Language.Fixpoint.Types.Constraints.SubcId]),+ envSorts :: !(Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort)}+696c9034b7b00faaaf009c5bdfe68df5+ data KIndex+ = KIndex {kiBIndex :: !Language.Fixpoint.Types.Environments.BindId,+ kiPos :: !GHC.Types.Int,+ kiKVar :: !Language.Fixpoint.Types.Refinements.KVar}+a143c3dc8e88328902f82f3430d31b51+ newtype QBind = QB [Language.Fixpoint.Types.Solutions.EQual]+911c93d5a79fc29f318e774ec0900e1e+ axiom Language.Fixpoint.Types.Solutions.Rep_BIndex::+ GHC.Generics.Rep Language.Fixpoint.Types.Solutions.BIndex+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "BIndex"+ "Language.Fixpoint.Types.Solutions"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Root" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Bind" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Environments.BindId))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Cstr" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Constraints.SubcId))))+7e54038e4321923be0c504747fce3360+ axiom Language.Fixpoint.Types.Solutions.Rep_Cube::+ GHC.Generics.Rep Language.Fixpoint.Types.Solutions.Cube+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Cube"+ "Language.Fixpoint.Types.Solutions"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Cube" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "cuBinds")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Environments.IBindEnv)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "cuSubst")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.Subst))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "cuId")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Constraints.SubcId)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "cuTag")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Constraints.Tag))))+a143c3dc8e88328902f82f3430d31b51+ axiom Language.Fixpoint.Types.Solutions.Rep_EQual::+ GHC.Generics.Rep Language.Fixpoint.Types.Solutions.EQual+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "EQual"+ "Language.Fixpoint.Types.Solutions"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "EQL" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "eqQual")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Constraints.Qualifier)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "eqPred")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.Expr)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "_eqArgs")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [Language.Fixpoint.Types.Refinements.Expr]))))+3ca9aaf0ff38db8fa1c00de0c3556fd4+ axiom Language.Fixpoint.Types.Solutions.Rep_EbindSol::+ GHC.Generics.Rep Language.Fixpoint.Types.Solutions.EbindSol+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "EbindSol"+ "Language.Fixpoint.Types.Solutions"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "EbDef" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 [Language.Fixpoint.Types.Constraints.SimpC ()])+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "EbSol" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Refinements.Expr))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "EbIncr"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ GHC.Generics.U1))+a143c3dc8e88328902f82f3430d31b51+ axiom Language.Fixpoint.Types.Solutions.Rep_GBind::+ GHC.Generics.Rep Language.Fixpoint.Types.Solutions.GBind+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "GBind"+ "Language.Fixpoint.Types.Solutions"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.True)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "GB" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 [[Language.Fixpoint.Types.Solutions.EQual]])))+696c9034b7b00faaaf009c5bdfe68df5+ axiom Language.Fixpoint.Types.Solutions.Rep_KIndex::+ GHC.Generics.Rep Language.Fixpoint.Types.Solutions.KIndex+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "KIndex"+ "Language.Fixpoint.Types.Solutions"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "KIndex" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "kiBIndex")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Environments.BindId)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "kiPos")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "kiKVar")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Refinements.KVar))))+a143c3dc8e88328902f82f3430d31b51+ axiom Language.Fixpoint.Types.Solutions.Rep_QBind::+ GHC.Generics.Rep Language.Fixpoint.Types.Solutions.QBind+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "QBind"+ "Language.Fixpoint.Types.Solutions"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.True)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "QB" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 [Language.Fixpoint.Types.Solutions.EQual])))+7e54038e4321923be0c504747fce3360+ axiom Language.Fixpoint.Types.Solutions.Rep_Sol::+ GHC.Generics.Rep (Language.Fixpoint.Types.Solutions.Sol b a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Sol"+ "Language.Fixpoint.Types.Solutions"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Sol" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "sEnv")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Theories.SymEnv)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "sMap")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar a))+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "gMap")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ b))))+ GHC.Generics.:*: ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "sHyp")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ Language.Fixpoint.Types.Solutions.Hyp))+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "sScp")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ Language.Fixpoint.Types.Environments.IBindEnv)))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "sEbd")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Environments.BindId+ Language.Fixpoint.Types.Solutions.EbindSol))+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "sxEnv")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Environments.SEnv+ (Language.Fixpoint.Types.Environments.BindId,+ Language.Fixpoint.Types.Sorts.Sort)))))))+7e54038e4321923be0c504747fce3360+ data Sol b a+ = Sol {sEnv :: !Language.Fixpoint.Types.Theories.SymEnv,+ sMap :: !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar a),+ gMap :: !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar b),+ sHyp :: !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ Language.Fixpoint.Types.Solutions.Hyp),+ sScp :: !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ Language.Fixpoint.Types.Environments.IBindEnv),+ sEbd :: !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Environments.BindId+ Language.Fixpoint.Types.Solutions.EbindSol),+ sxEnv :: !(Language.Fixpoint.Types.Environments.SEnv+ (Language.Fixpoint.Types.Environments.BindId,+ Language.Fixpoint.Types.Sorts.Sort))}+bf7448c05104a6b95cc2daadfd2c3c7b+ type Solution =+ Language.Fixpoint.Types.Solutions.Sol+ () Language.Fixpoint.Types.Solutions.QBind+a143c3dc8e88328902f82f3430d31b51+ _eqArgs ::+ Language.Fixpoint.Types.Solutions.EQual+ -> [Language.Fixpoint.Types.Refinements.Expr]+ RecSel Left Language.Fixpoint.Types.Solutions.EQual+f4331db0c74d00756003369d2956e4b7+ bindExpr ::+ Language.Fixpoint.Types.Solutions.Index+ -> Language.Fixpoint.Types.Environments.BindId+ Language.Fixpoint.Misc.|-> Language.Fixpoint.Types.Solutions.BindPred+ RecSel Left Language.Fixpoint.Types.Solutions.Index+fb7839bba7b9e806a658eb9cf6d7bd60+ bpConc ::+ Language.Fixpoint.Types.Solutions.BindPred+ -> Language.Fixpoint.Types.Refinements.Pred+ RecSel Left Language.Fixpoint.Types.Solutions.BindPred+fb7839bba7b9e806a658eb9cf6d7bd60+ bpKVar ::+ Language.Fixpoint.Types.Solutions.BindPred+ -> [Language.Fixpoint.Types.Solutions.KIndex]+ RecSel Left Language.Fixpoint.Types.Solutions.BindPred+7e54038e4321923be0c504747fce3360+ cuBinds ::+ Language.Fixpoint.Types.Solutions.Cube+ -> Language.Fixpoint.Types.Environments.IBindEnv+ RecSel Left Language.Fixpoint.Types.Solutions.Cube+7e54038e4321923be0c504747fce3360+ cuId ::+ Language.Fixpoint.Types.Solutions.Cube+ -> Language.Fixpoint.Types.Constraints.SubcId+ RecSel Left Language.Fixpoint.Types.Solutions.Cube+7e54038e4321923be0c504747fce3360+ cuSubst ::+ Language.Fixpoint.Types.Solutions.Cube+ -> Language.Fixpoint.Types.Refinements.Subst+ RecSel Left Language.Fixpoint.Types.Solutions.Cube+7e54038e4321923be0c504747fce3360+ cuTag ::+ Language.Fixpoint.Types.Solutions.Cube+ -> Language.Fixpoint.Types.Constraints.Tag+ RecSel Left Language.Fixpoint.Types.Solutions.Cube+e5bcf7cab41a61c218805512fb734b78+ eQual ::+ Language.Fixpoint.Types.Constraints.Qualifier+ -> [Language.Fixpoint.Types.Names.Symbol]+ -> Language.Fixpoint.Types.Solutions.EQual+a73084aa06a3fa5a396bace1065cce24+ emptyGMap ::+ Language.Fixpoint.Types.Solutions.GSolution+ -> Language.Fixpoint.Types.Solutions.GSolution+f4331db0c74d00756003369d2956e4b7+ envBinds ::+ Language.Fixpoint.Types.Solutions.Index+ -> Language.Fixpoint.Types.Solutions.CMap+ Language.Fixpoint.Types.Environments.IBindEnv+ RecSel Left Language.Fixpoint.Types.Solutions.Index+f4331db0c74d00756003369d2956e4b7+ envSorts ::+ Language.Fixpoint.Types.Solutions.Index+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Types.Solutions.Index+f4331db0c74d00756003369d2956e4b7+ envTx ::+ Language.Fixpoint.Types.Solutions.Index+ -> Language.Fixpoint.Types.Solutions.CMap+ [Language.Fixpoint.Types.Constraints.SubcId]+ RecSel Left Language.Fixpoint.Types.Solutions.Index+a143c3dc8e88328902f82f3430d31b51+ eqPred ::+ Language.Fixpoint.Types.Solutions.EQual+ -> Language.Fixpoint.Types.Refinements.Expr+ RecSel Left Language.Fixpoint.Types.Solutions.EQual+a143c3dc8e88328902f82f3430d31b51+ eqQual ::+ Language.Fixpoint.Types.Solutions.EQual+ -> Language.Fixpoint.Types.Constraints.Qualifier+ RecSel Left Language.Fixpoint.Types.Solutions.EQual+77f6fdc09c0d8689fb84c8e828bd9872+ equalsGb ::+ [[Language.Fixpoint.Types.Solutions.EQual]]+ -> Language.Fixpoint.Types.Solutions.GBind+d97c3221440644342c069f390188e702+ fromList ::+ Language.Fixpoint.Types.Theories.SymEnv+ -> [(Language.Fixpoint.Types.Refinements.KVar, a)]+ -> [(Language.Fixpoint.Types.Refinements.KVar, b)]+ -> [(Language.Fixpoint.Types.Refinements.KVar,+ Language.Fixpoint.Types.Solutions.Hyp)]+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ Language.Fixpoint.Types.Environments.IBindEnv+ -> [(Language.Fixpoint.Types.Environments.BindId,+ Language.Fixpoint.Types.Solutions.EbindSol)]+ -> Language.Fixpoint.Types.Environments.SEnv+ (Language.Fixpoint.Types.Environments.BindId,+ Language.Fixpoint.Types.Sorts.Sort)+ -> Language.Fixpoint.Types.Solutions.Sol a b+7e54038e4321923be0c504747fce3360+ gMap ::+ Language.Fixpoint.Types.Solutions.Sol b a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar b+ RecSel Left Language.Fixpoint.Types.Solutions.Sol+b05f40b253ea7015d8ee201df86918e8+ gbEquals ::+ Language.Fixpoint.Types.Solutions.GBind+ -> [[Language.Fixpoint.Types.Solutions.EQual]]+454b085a0913436d6e7d4b4e3d7eb08f+ gbFilterM ::+ GHC.Base.Monad m =>+ ([Language.Fixpoint.Types.Solutions.EQual] -> m GHC.Types.Bool)+ -> Language.Fixpoint.Types.Solutions.GBind+ -> m Language.Fixpoint.Types.Solutions.GBind+867ee080e61e8e6aac9859b0d50f811e+ gbToQbs ::+ Language.Fixpoint.Types.Solutions.GBind+ -> [Language.Fixpoint.Types.Solutions.QBind]+792457555333bf54e5ff1df50135651f+ glookup ::+ Language.Fixpoint.Types.Solutions.GSolution+ -> Language.Fixpoint.Types.Refinements.KVar+ -> Data.Either.Either+ Language.Fixpoint.Types.Solutions.Hyp+ (Data.Either.Either+ Language.Fixpoint.Types.Solutions.QBind+ (((Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort),+ Language.Fixpoint.Types.Refinements.Expr),+ Language.Fixpoint.Types.Solutions.GBind))+696c9034b7b00faaaf009c5bdfe68df5+ kiBIndex ::+ Language.Fixpoint.Types.Solutions.KIndex+ -> Language.Fixpoint.Types.Environments.BindId+ RecSel Left Language.Fixpoint.Types.Solutions.KIndex+696c9034b7b00faaaf009c5bdfe68df5+ kiKVar ::+ Language.Fixpoint.Types.Solutions.KIndex+ -> Language.Fixpoint.Types.Refinements.KVar+ RecSel Left Language.Fixpoint.Types.Solutions.KIndex+696c9034b7b00faaaf009c5bdfe68df5+ kiPos :: Language.Fixpoint.Types.Solutions.KIndex -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Types.Solutions.KIndex+f4331db0c74d00756003369d2956e4b7+ kvDef ::+ Language.Fixpoint.Types.Solutions.Index+ -> Language.Fixpoint.Types.Refinements.KVar+ Language.Fixpoint.Misc.|-> Language.Fixpoint.Types.Solutions.Hyp+ RecSel Left Language.Fixpoint.Types.Solutions.Index+f4331db0c74d00756003369d2956e4b7+ kvUse ::+ Language.Fixpoint.Types.Solutions.Index+ -> Language.Fixpoint.Types.Solutions.KIndex+ Language.Fixpoint.Misc.|-> Language.Fixpoint.Types.Refinements.KVSub+ RecSel Left Language.Fixpoint.Types.Solutions.Index+69f98716188c9c8031c0a438c6f3b88c+ lookup ::+ Language.Fixpoint.Types.Solutions.Sol+ a Language.Fixpoint.Types.Solutions.QBind+ -> Language.Fixpoint.Types.Refinements.KVar+ -> Data.Either.Either+ Language.Fixpoint.Types.Solutions.Hyp+ Language.Fixpoint.Types.Solutions.QBind+b4e3ff5e3dad013ca7d300fc36e0d7c4+ lookupQBind ::+ Language.Fixpoint.Types.Solutions.Sol+ a Language.Fixpoint.Types.Solutions.QBind+ -> Language.Fixpoint.Types.Refinements.KVar+ -> Language.Fixpoint.Types.Solutions.QBind+77ec72e84995f5e3c84562e1361f5d30+ qb ::+ [Language.Fixpoint.Types.Solutions.EQual]+ -> Language.Fixpoint.Types.Solutions.QBind+78ff437be832ed44cb7b0dc04cc18751+ qbExprs ::+ Language.Fixpoint.Types.Solutions.QBind+ -> [Language.Fixpoint.Types.Refinements.Expr]+f30befa0e360f31f8380452b5ced64c8+ qbFilter ::+ (Language.Fixpoint.Types.Solutions.EQual -> GHC.Types.Bool)+ -> Language.Fixpoint.Types.Solutions.QBind+ -> Language.Fixpoint.Types.Solutions.QBind+6c19e0e0bc0710d142392ff4a5201c3f+ qbPreds ::+ GHC.Base.String+ -> Language.Fixpoint.Types.Solutions.Sol+ a Language.Fixpoint.Types.Solutions.QBind+ -> Language.Fixpoint.Types.Refinements.Subst+ -> Language.Fixpoint.Types.Solutions.QBind+ -> [(Language.Fixpoint.Types.Refinements.Pred,+ Language.Fixpoint.Types.Solutions.EQual)]+b3ce1ddf11dc445da9dec2b0a4aa8345+ qbToGb ::+ Language.Fixpoint.Types.Solutions.QBind+ -> Language.Fixpoint.Types.Solutions.GBind+5cd96a1bf7303ff59ebb82fbd4e427fa+ result ::+ Language.Fixpoint.Types.Solutions.Sol+ a Language.Fixpoint.Types.Solutions.QBind+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ Language.Fixpoint.Types.Refinements.Expr+3e774fbb49dd71df2c2461e98cf094fc+ resultGradual ::+ Language.Fixpoint.Types.Solutions.GSolution+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ (Language.Fixpoint.Types.Refinements.Expr,+ [Language.Fixpoint.Types.Refinements.Expr])+7e54038e4321923be0c504747fce3360+ sEbd ::+ Language.Fixpoint.Types.Solutions.Sol b a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Environments.BindId+ Language.Fixpoint.Types.Solutions.EbindSol+ RecSel Left Language.Fixpoint.Types.Solutions.Sol+7e54038e4321923be0c504747fce3360+ sEnv ::+ Language.Fixpoint.Types.Solutions.Sol b a+ -> Language.Fixpoint.Types.Theories.SymEnv+ RecSel Left Language.Fixpoint.Types.Solutions.Sol+7e54038e4321923be0c504747fce3360+ sHyp ::+ Language.Fixpoint.Types.Solutions.Sol b a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ Language.Fixpoint.Types.Solutions.Hyp+ RecSel Left Language.Fixpoint.Types.Solutions.Sol+7e54038e4321923be0c504747fce3360+ sMap ::+ Language.Fixpoint.Types.Solutions.Sol b a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar a+ RecSel Left Language.Fixpoint.Types.Solutions.Sol+7e54038e4321923be0c504747fce3360+ sScp ::+ Language.Fixpoint.Types.Solutions.Sol b a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar+ Language.Fixpoint.Types.Environments.IBindEnv+ RecSel Left Language.Fixpoint.Types.Solutions.Sol+7e54038e4321923be0c504747fce3360+ sxEnv ::+ Language.Fixpoint.Types.Solutions.Sol b a+ -> Language.Fixpoint.Types.Environments.SEnv+ (Language.Fixpoint.Types.Environments.BindId,+ Language.Fixpoint.Types.Sorts.Sort)+ RecSel Left Language.Fixpoint.Types.Solutions.Sol+c3166dc64147e7d6881f6d1148a071df+ trueEqual :: Language.Fixpoint.Types.Solutions.EQual+196c52f8bdac2de089ae14810a8ac00d+ update ::+ Language.Fixpoint.Types.Solutions.Sol+ a Language.Fixpoint.Types.Solutions.QBind+ -> [Language.Fixpoint.Types.Refinements.KVar]+ -> [(Language.Fixpoint.Types.Refinements.KVar,+ Language.Fixpoint.Types.Solutions.EQual)]+ -> (GHC.Types.Bool,+ Language.Fixpoint.Types.Solutions.Sol+ a Language.Fixpoint.Types.Solutions.QBind)+daf14df38c105234f7ca7baaa37e4fb3+ updateEbind ::+ Language.Fixpoint.Types.Solutions.Sol a b+ -> Language.Fixpoint.Types.Environments.BindId+ -> Language.Fixpoint.Types.Refinements.Pred+ -> Language.Fixpoint.Types.Solutions.Sol a b+916ccb787fad2b646d3a9f66070808a8+ updateGMap ::+ Language.Fixpoint.Types.Solutions.Sol b a+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Refinements.KVar b+ -> Language.Fixpoint.Types.Solutions.Sol b a+8a276cb0d40b3d26f8d98eb88c7685b8+ updateGMapWithKey ::+ [(Language.Fixpoint.Types.Refinements.KVar,+ Language.Fixpoint.Types.Solutions.QBind)]+ -> Language.Fixpoint.Types.Solutions.GSolution+ -> Language.Fixpoint.Types.Solutions.GSolution+instance Data.Data.Data [Language.Fixpoint.Types.Solutions.EQual]+ = Language.Fixpoint.Types.Solutions.$fDataEQual+instance Data.Data.Data [Language.Fixpoint.Types.Solutions.GBind]+ = Language.Fixpoint.Types.Solutions.$fDataGBind+instance Data.Data.Data [Language.Fixpoint.Types.Solutions.QBind]+ = Language.Fixpoint.Types.Solutions.$fDataQBind+instance GHC.Classes.Eq [Language.Fixpoint.Types.Solutions.BIndex]+ = Language.Fixpoint.Types.Solutions.$fEqBIndex+instance GHC.Classes.Eq [Language.Fixpoint.Types.Solutions.EQual]+ = Language.Fixpoint.Types.Solutions.$fEqEQual+instance GHC.Classes.Eq [Language.Fixpoint.Types.Solutions.KIndex]+ = Language.Fixpoint.Types.Solutions.$fEqKIndex+instance GHC.Classes.Eq [Language.Fixpoint.Types.Solutions.QBind]+ = Language.Fixpoint.Types.Solutions.$fEqQBind+instance GHC.Base.Functor [Language.Fixpoint.Types.Solutions.Sol]+ = Language.Fixpoint.Types.Solutions.$fFunctorSol+instance GHC.Generics.Generic [Language.Fixpoint.Types.Solutions.BIndex]+ = Language.Fixpoint.Types.Solutions.$fGenericBIndex+instance GHC.Generics.Generic [Language.Fixpoint.Types.Solutions.Cube]+ = Language.Fixpoint.Types.Solutions.$fGenericCube+instance GHC.Generics.Generic [Language.Fixpoint.Types.Solutions.EQual]+ = Language.Fixpoint.Types.Solutions.$fGenericEQual+instance GHC.Generics.Generic [Language.Fixpoint.Types.Solutions.EbindSol]+ = Language.Fixpoint.Types.Solutions.$fGenericEbindSol+instance GHC.Generics.Generic [Language.Fixpoint.Types.Solutions.GBind]+ = Language.Fixpoint.Types.Solutions.$fGenericGBind+instance GHC.Generics.Generic [Language.Fixpoint.Types.Solutions.KIndex]+ = Language.Fixpoint.Types.Solutions.$fGenericKIndex+instance GHC.Generics.Generic [Language.Fixpoint.Types.Solutions.QBind]+ = Language.Fixpoint.Types.Solutions.$fGenericQBind+instance GHC.Generics.Generic [Language.Fixpoint.Types.Solutions.Sol]+ = Language.Fixpoint.Types.Solutions.$fGenericSol+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Solutions.BIndex]+ = Language.Fixpoint.Types.Solutions.$fHashableBIndex+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Solutions.KIndex]+ = Language.Fixpoint.Types.Solutions.$fHashableKIndex+instance Language.Fixpoint.Types.Spans.Loc [Language.Fixpoint.Types.Solutions.EQual]+ = Language.Fixpoint.Types.Solutions.$fLocEQual+instance GHC.Base.Monoid [Language.Fixpoint.Types.Solutions.Sol]+ = Language.Fixpoint.Types.Solutions.$fMonoidSol+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Solutions.Cube]+ = Language.Fixpoint.Types.Solutions.$fNFDataCube+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Solutions.EQual]+ = Language.Fixpoint.Types.Solutions.$fNFDataEQual+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Solutions.EbindSol]+ = Language.Fixpoint.Types.Solutions.$fNFDataEbindSol+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Solutions.GBind]+ = Language.Fixpoint.Types.Solutions.$fNFDataGBind+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Solutions.QBind]+ = Language.Fixpoint.Types.Solutions.$fNFDataQBind+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Solutions.Sol]+ = Language.Fixpoint.Types.Solutions.$fNFDataSol+instance GHC.Classes.Ord [Language.Fixpoint.Types.Solutions.BIndex]+ = Language.Fixpoint.Types.Solutions.$fOrdBIndex+instance GHC.Classes.Ord [Language.Fixpoint.Types.Solutions.KIndex]+ = Language.Fixpoint.Types.Solutions.$fOrdKIndex+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Solutions.BIndex]+ = Language.Fixpoint.Types.Solutions.$fPPrintBIndex+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Solutions.BindPred]+ = Language.Fixpoint.Types.Solutions.$fPPrintBindPred+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Solutions.Cube]+ = Language.Fixpoint.Types.Solutions.$fPPrintCube+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Solutions.EQual]+ = Language.Fixpoint.Types.Solutions.$fPPrintEQual+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Solutions.EbindSol]+ = Language.Fixpoint.Types.Solutions.$fPPrintEbindSol+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Solutions.KIndex]+ = Language.Fixpoint.Types.Solutions.$fPPrintKIndex+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Solutions.QBind]+ = Language.Fixpoint.Types.Solutions.$fPPrintQBind+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Solutions.Sol]+ = Language.Fixpoint.Types.Solutions.$fPPrintSol+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Solutions.Sol]+ = Language.Fixpoint.Types.Solutions.$fSemigroupSol+instance GHC.Show.Show [Language.Fixpoint.Types.Solutions.BIndex]+ = Language.Fixpoint.Types.Solutions.$fShowBIndex+instance GHC.Show.Show [Language.Fixpoint.Types.Solutions.BindPred]+ = Language.Fixpoint.Types.Solutions.$fShowBindPred+instance GHC.Show.Show [Language.Fixpoint.Types.Solutions.Cube]+ = Language.Fixpoint.Types.Solutions.$fShowCube+instance GHC.Show.Show [Language.Fixpoint.Types.Solutions.EQual]+ = Language.Fixpoint.Types.Solutions.$fShowEQual+instance GHC.Show.Show [Language.Fixpoint.Types.Solutions.EbindSol]+ = Language.Fixpoint.Types.Solutions.$fShowEbindSol+instance GHC.Show.Show [Language.Fixpoint.Types.Solutions.GBind]+ = Language.Fixpoint.Types.Solutions.$fShowGBind+instance GHC.Show.Show [Language.Fixpoint.Types.Solutions.KIndex]+ = Language.Fixpoint.Types.Solutions.$fShowKIndex+instance GHC.Show.Show [Language.Fixpoint.Types.Solutions.QBind]+ = Language.Fixpoint.Types.Solutions.$fShowQBind+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Solutions.BIndex]+ = Language.Fixpoint.Types.Solutions.Rep_BIndex+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Solutions.KIndex]+ = Language.Fixpoint.Types.Solutions.Rep_KIndex+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Solutions.QBind]+ = Language.Fixpoint.Types.Solutions.Rep_QBind+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Solutions.GBind]+ = Language.Fixpoint.Types.Solutions.Rep_GBind+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Solutions.EQual]+ = Language.Fixpoint.Types.Solutions.Rep_EQual+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Solutions.Sol]+ = Language.Fixpoint.Types.Solutions.Rep_Sol+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Solutions.Cube]+ = Language.Fixpoint.Types.Solutions.Rep_Cube+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Solutions.EbindSol]+ = Language.Fixpoint.Types.Solutions.Rep_EbindSol+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,1389 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:27.015515 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts [family instance module] 8065+ interface hash: 1e56fac181377f5b6b3dae4ef57af52f+ ABI hash: d0243918454a124f22fcf2431757efd6+ export-list hash: b866d80011faf2d8f77449fdc11dc733+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: c06f23d886f03f328083d5fdbbee337b+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Sorts.basicSorts+ Language.Fixpoint.Types.Sorts.bitVecSort+ Language.Fixpoint.Types.Sorts.bkFFunc+ Language.Fixpoint.Types.Sorts.boolFTyCon+ Language.Fixpoint.Types.Sorts.boolSort+ Language.Fixpoint.Types.Sorts.charSort+ Language.Fixpoint.Types.Sorts.fApp+ Language.Fixpoint.Types.Sorts.fAppTC+ Language.Fixpoint.Types.Sorts.fObj+ Language.Fixpoint.Types.Sorts.fTyconSelfSort+ Language.Fixpoint.Types.Sorts.fTyconSort+ Language.Fixpoint.Types.Sorts.fTyconSymbol+ Language.Fixpoint.Types.Sorts.funcSort+ Language.Fixpoint.Types.Sorts.functionSort+ Language.Fixpoint.Types.Sorts.intFTyCon+ Language.Fixpoint.Types.Sorts.intSort+ Language.Fixpoint.Types.Sorts.isFirstOrder+ Language.Fixpoint.Types.Sorts.isListTC+ Language.Fixpoint.Types.Sorts.isNumeric+ Language.Fixpoint.Types.Sorts.isPolyInst+ Language.Fixpoint.Types.Sorts.isReal+ Language.Fixpoint.Types.Sorts.isString+ Language.Fixpoint.Types.Sorts.listFTyCon+ Language.Fixpoint.Types.Sorts.mapFTyCon+ Language.Fixpoint.Types.Sorts.mapFVar+ Language.Fixpoint.Types.Sorts.mapSort+ Language.Fixpoint.Types.Sorts.mappendFTC+ Language.Fixpoint.Types.Sorts.mkFFunc+ Language.Fixpoint.Types.Sorts.mkPoly+ Language.Fixpoint.Types.Sorts.muSort+ Language.Fixpoint.Types.Sorts.numFTyCon+ Language.Fixpoint.Types.Sorts.realFTyCon+ Language.Fixpoint.Types.Sorts.realSort+ Language.Fixpoint.Types.Sorts.setFTyCon+ Language.Fixpoint.Types.Sorts.setSort+ Language.Fixpoint.Types.Sorts.sizeBv+ Language.Fixpoint.Types.Sorts.sortAbs+ Language.Fixpoint.Types.Sorts.sortFTycon+ Language.Fixpoint.Types.Sorts.sortSubst+ Language.Fixpoint.Types.Sorts.strFTyCon+ Language.Fixpoint.Types.Sorts.strSort+ Language.Fixpoint.Types.Sorts.symbolFTycon+ Language.Fixpoint.Types.Sorts.symbolNumInfoFTyCon+ Language.Fixpoint.Types.Sorts.tceFromList+ Language.Fixpoint.Types.Sorts.tceInsert+ Language.Fixpoint.Types.Sorts.tceInsertWith+ Language.Fixpoint.Types.Sorts.tceLookup+ Language.Fixpoint.Types.Sorts.tceMap+ Language.Fixpoint.Types.Sorts.tceMember+ Language.Fixpoint.Types.Sorts.tceToList+ Language.Fixpoint.Types.Sorts.unAbs+ Language.Fixpoint.Types.Sorts.unFApp+ Language.Fixpoint.Types.Sorts.DataCtor{Language.Fixpoint.Types.Sorts.DCtor dcFields dcName}+ Language.Fixpoint.Types.Sorts.DataDecl{Language.Fixpoint.Types.Sorts.DDecl ddCtors ddTyCon ddVars}+ Language.Fixpoint.Types.Sorts.DataField{Language.Fixpoint.Types.Sorts.DField dfName dfSort}+ Language.Fixpoint.Types.Sorts.FTycon+ Language.Fixpoint.Types.Sorts.Sort{Language.Fixpoint.Types.Sorts.FAbs Language.Fixpoint.Types.Sorts.FApp Language.Fixpoint.Types.Sorts.FFrac Language.Fixpoint.Types.Sorts.FFunc Language.Fixpoint.Types.Sorts.FInt Language.Fixpoint.Types.Sorts.FNum Language.Fixpoint.Types.Sorts.FObj Language.Fixpoint.Types.Sorts.FReal Language.Fixpoint.Types.Sorts.FTC Language.Fixpoint.Types.Sorts.FVar}+ Language.Fixpoint.Types.Sorts.Sub{Language.Fixpoint.Types.Sorts.Sub}+ Language.Fixpoint.Types.Sorts.TCArgs{Language.Fixpoint.Types.Sorts.NoArgs Language.Fixpoint.Types.Sorts.WithArgs}+ Language.Fixpoint.Types.Sorts.TCEmb+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Types.Names Language.Fixpoint.Types.PrettyPrint+ Language.Fixpoint.Types.Spans Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Data 2949b01dc3799f9122535900668dfcef+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Typeable 1095be85dd9009a6503a3981a259490e+import -/ base-4.12.0.0:Data.Typeable.Internal e1cb15df401654131814917774d4d7ed+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Err ea5e313ef4146b40b5d8b27aa168e736+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ binary-0.8.6.0:Data.Binary 47a89cefaa44e49e7fd21d133fce6a7e+import -/ binary-0.8.6.0:Data.Binary.Class 4a00b809573ad7c27e489f5b66886719+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ ListNE 34c095e41b29e7147eb4001d73367295+ errorstar e47c2d482124b43e020a405f809adcff+ intersperse 3560fd9d33e532745e7669346fe553d7+ mapFst a682b107c685b3ee1d7890f4d99a54b7+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ exports: 45d7959603a132b65636c5a341548000+ LocSymbol e6d5fcd49dd2746d9598e2efb4f857d1+ Symbol 3f986d27cdf6315dd770c516fc00a643+ Symbolic 2eef5be3f02dd72d878415fe4e78ea18+ bitVecName 00019ed7902409f02e42ac9147024c0f+ charConName 8fd2f192dd3a20288c13ba42ce745525+ listConName 754b3882dbc8a426d10fc3adcefc2e31+ listLConName 59db8cee6987998bcd5f4c00a7c0be73+ mapConName d689532bc106bd19f9aeb509fed810cd+ setConName 3b13e60e763424621a6d71f4ff2b3095+ size32Name eb86c7a87bf6d4fe421e48a12b486920+ size64Name c319990772c58056fc8adbb99d90eef0+ strConName 9c4c6b48478291cfa01860495bbf65e3+ symbol 8093c1d4f5a85b247a3a96c3fce3245c+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ toFix 9b9c41ae3aa868a1e0f4e73cde8032e0+import -/ Language.Fixpoint.Types.Spans df3b309e6511df6300a1db0ccd338062+ exports: 9e9118ba5257e743a1e1c46db3e4cd33+ Loc 4962bb0bc274d9001b974c3326b63480+ Located 98c2e3118bdcfbfec2dfd5f953f55cfd+ dummyLoc 69f648f1c60987f6ccbe57104041fd71+ srcSpan 2b3eb671678320980d11df21e110f501+ val 98c2e3118bdcfbfec2dfd5f953f55cfd+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+ <-> a6bccb4500bca89f567c047995747774+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ syb-0.7:Data.Generics f4bddd07fe7227d2509acad55f9ff82d+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+addDependentFile "/Users/niki/.stack/programs/x86_64-osx/ghc-8.6.5/lib/ghc-8.6.5/include/ghcversion.h" 43db44f9bb88490c2fa995e5f5ec33f2+addDependentFile ".stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/autogen/cabal_macros.h" 5d4a89af56b14b9a96821af0abd9deca+90984d28a9f3c849d44b1ec37334f5cb+ $fBinaryDataCtor ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Sorts.DataCtor+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fBinaryDataDecl ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Sorts.DataDecl+ DFunId+842b037f4a3d7555ff8e2c17ccb73443+ $fBinaryDataField ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Sorts.DataField+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fBinaryFTycon ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Sorts.FTycon+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fBinarySort ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Sorts.Sort+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fBinarySub ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Sorts.Sub+ DFunId+b6c1d568c46ea57cf9eafbf0f41c6b94+ $fBinaryTCArgs ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Sorts.TCArgs+ DFunId+a9651f66ee5c26936e6c2f16f203a1c4+ $fBinaryTCInfo ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Sorts.TCInfo+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fDataDataCtor ::+ Data.Data.Data Language.Fixpoint.Types.Sorts.DataCtor+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fDataDataDecl ::+ Data.Data.Data Language.Fixpoint.Types.Sorts.DataDecl+ DFunId+842b037f4a3d7555ff8e2c17ccb73443+ $fDataDataField ::+ Data.Data.Data Language.Fixpoint.Types.Sorts.DataField+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fDataFTycon :: Data.Data.Data Language.Fixpoint.Types.Sorts.FTycon+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fDataSort :: Data.Data.Data Language.Fixpoint.Types.Sorts.Sort+ DFunId+b6c1d568c46ea57cf9eafbf0f41c6b94+ $fDataTCArgs :: Data.Data.Data Language.Fixpoint.Types.Sorts.TCArgs+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fDataTCEmb ::+ (Data.Data.Data a, GHC.Classes.Eq a,+ Data.Hashable.Class.Hashable a) =>+ Data.Data.Data (Language.Fixpoint.Types.Sorts.TCEmb a)+ DFunId+a9651f66ee5c26936e6c2f16f203a1c4+ $fDataTCInfo :: Data.Data.Data Language.Fixpoint.Types.Sorts.TCInfo+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fEqDataCtor ::+ GHC.Classes.Eq Language.Fixpoint.Types.Sorts.DataCtor+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fEqDataDecl ::+ GHC.Classes.Eq Language.Fixpoint.Types.Sorts.DataDecl+ DFunId+842b037f4a3d7555ff8e2c17ccb73443+ $fEqDataField ::+ GHC.Classes.Eq Language.Fixpoint.Types.Sorts.DataField+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fEqFTycon :: GHC.Classes.Eq Language.Fixpoint.Types.Sorts.FTycon+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fEqSort :: GHC.Classes.Eq Language.Fixpoint.Types.Sorts.Sort+ DFunId+b6c1d568c46ea57cf9eafbf0f41c6b94+ $fEqTCArgs :: GHC.Classes.Eq Language.Fixpoint.Types.Sorts.TCArgs+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fEqTCEmb ::+ GHC.Classes.Eq a =>+ GHC.Classes.Eq (Language.Fixpoint.Types.Sorts.TCEmb a)+ DFunId+a9651f66ee5c26936e6c2f16f203a1c4+ $fEqTCInfo :: GHC.Classes.Eq Language.Fixpoint.Types.Sorts.TCInfo+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fFixpointDataCtor ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Sorts.DataCtor+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fFixpointDataDecl ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Sorts.DataDecl+ DFunId+842b037f4a3d7555ff8e2c17ccb73443+ $fFixpointDataField ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Sorts.DataField+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fFixpointFTycon ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Sorts.FTycon+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fFixpointSort ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Sorts.Sort+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fGenericDataCtor ::+ GHC.Generics.Generic Language.Fixpoint.Types.Sorts.DataCtor+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fGenericDataDecl ::+ GHC.Generics.Generic Language.Fixpoint.Types.Sorts.DataDecl+ DFunId+842b037f4a3d7555ff8e2c17ccb73443+ $fGenericDataField ::+ GHC.Generics.Generic Language.Fixpoint.Types.Sorts.DataField+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fGenericFTycon ::+ GHC.Generics.Generic Language.Fixpoint.Types.Sorts.FTycon+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fGenericSort ::+ GHC.Generics.Generic Language.Fixpoint.Types.Sorts.Sort+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fGenericSub ::+ GHC.Generics.Generic Language.Fixpoint.Types.Sorts.Sub+ DFunId+b6c1d568c46ea57cf9eafbf0f41c6b94+ $fGenericTCArgs ::+ GHC.Generics.Generic Language.Fixpoint.Types.Sorts.TCArgs+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fGenericTCEmb ::+ GHC.Generics.Generic (Language.Fixpoint.Types.Sorts.TCEmb a)+ DFunId+a9651f66ee5c26936e6c2f16f203a1c4+ $fGenericTCInfo ::+ GHC.Generics.Generic Language.Fixpoint.Types.Sorts.TCInfo+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fHashableFTycon ::+ Data.Hashable.Class.Hashable Language.Fixpoint.Types.Sorts.FTycon+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fHashableSort ::+ Data.Hashable.Class.Hashable Language.Fixpoint.Types.Sorts.Sort+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fLocFTycon ::+ Language.Fixpoint.Types.Spans.Loc+ Language.Fixpoint.Types.Sorts.FTycon+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fMonoidSort :: GHC.Base.Monoid Language.Fixpoint.Types.Sorts.Sort+ DFunId+b6c1d568c46ea57cf9eafbf0f41c6b94+ $fMonoidTCArgs ::+ GHC.Base.Monoid Language.Fixpoint.Types.Sorts.TCArgs+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fMonoidTCEmb ::+ (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a) =>+ GHC.Base.Monoid (Language.Fixpoint.Types.Sorts.TCEmb a)+ DFunId+a9651f66ee5c26936e6c2f16f203a1c4+ $fMonoidTCInfo ::+ GHC.Base.Monoid Language.Fixpoint.Types.Sorts.TCInfo+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fNFDataDataCtor ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Sorts.DataCtor+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fNFDataDataDecl ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Sorts.DataDecl+ DFunId+842b037f4a3d7555ff8e2c17ccb73443+ $fNFDataDataField ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Sorts.DataField+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fNFDataFTycon ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Sorts.FTycon+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fNFDataSort ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Sorts.Sort+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fNFDataSub ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Sorts.Sub+ DFunId+b6c1d568c46ea57cf9eafbf0f41c6b94+ $fNFDataTCArgs ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Sorts.TCArgs+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fNFDataTCEmb ::+ Control.DeepSeq.NFData a =>+ Control.DeepSeq.NFData (Language.Fixpoint.Types.Sorts.TCEmb a)+ DFunId+a9651f66ee5c26936e6c2f16f203a1c4+ $fNFDataTCInfo ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Sorts.TCInfo+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fOrdDataCtor ::+ GHC.Classes.Ord Language.Fixpoint.Types.Sorts.DataCtor+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fOrdDataDecl ::+ GHC.Classes.Ord Language.Fixpoint.Types.Sorts.DataDecl+ DFunId+842b037f4a3d7555ff8e2c17ccb73443+ $fOrdDataField ::+ GHC.Classes.Ord Language.Fixpoint.Types.Sorts.DataField+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fOrdFTycon :: GHC.Classes.Ord Language.Fixpoint.Types.Sorts.FTycon+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fOrdSort :: GHC.Classes.Ord Language.Fixpoint.Types.Sorts.Sort+ DFunId+b6c1d568c46ea57cf9eafbf0f41c6b94+ $fOrdTCArgs :: GHC.Classes.Ord Language.Fixpoint.Types.Sorts.TCArgs+ DFunId+a9651f66ee5c26936e6c2f16f203a1c4+ $fOrdTCInfo :: GHC.Classes.Ord Language.Fixpoint.Types.Sorts.TCInfo+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fPPrintDataCtor ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Sorts.DataCtor+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fPPrintDataDecl ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Sorts.DataDecl+ DFunId+842b037f4a3d7555ff8e2c17ccb73443+ $fPPrintDataField ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Sorts.DataField+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fPPrintFTycon ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Sorts.FTycon+ DFunId+b6c1d568c46ea57cf9eafbf0f41c6b94+ $fPPrintTCArgs ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Sorts.TCArgs+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fSemigroupSort ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Sorts.Sort+ DFunId+b6c1d568c46ea57cf9eafbf0f41c6b94+ $fSemigroupTCArgs ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Sorts.TCArgs+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fSemigroupTCEmb ::+ (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a) =>+ GHC.Base.Semigroup (Language.Fixpoint.Types.Sorts.TCEmb a)+ DFunId+a9651f66ee5c26936e6c2f16f203a1c4+ $fSemigroupTCInfo ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Sorts.TCInfo+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fShowDataCtor ::+ GHC.Show.Show Language.Fixpoint.Types.Sorts.DataCtor+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fShowDataDecl ::+ GHC.Show.Show Language.Fixpoint.Types.Sorts.DataDecl+ DFunId+842b037f4a3d7555ff8e2c17ccb73443+ $fShowDataField ::+ GHC.Show.Show Language.Fixpoint.Types.Sorts.DataField+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fShowFTycon :: GHC.Show.Show Language.Fixpoint.Types.Sorts.FTycon+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fShowSort :: GHC.Show.Show Language.Fixpoint.Types.Sorts.Sort+ DFunId+b6c1d568c46ea57cf9eafbf0f41c6b94+ $fShowTCArgs :: GHC.Show.Show Language.Fixpoint.Types.Sorts.TCArgs+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fShowTCEmb ::+ GHC.Show.Show a =>+ GHC.Show.Show (Language.Fixpoint.Types.Sorts.TCEmb a)+ DFunId+a9651f66ee5c26936e6c2f16f203a1c4+ $fShowTCInfo :: GHC.Show.Show Language.Fixpoint.Types.Sorts.TCInfo+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fSymbolicDataCtor ::+ Language.Fixpoint.Types.Names.Symbolic+ Language.Fixpoint.Types.Sorts.DataCtor+ DFunId+90984d28a9f3c849d44b1ec37334f5cb+ $fSymbolicDataDecl ::+ Language.Fixpoint.Types.Names.Symbolic+ Language.Fixpoint.Types.Sorts.DataDecl+ DFunId+842b037f4a3d7555ff8e2c17ccb73443+ $fSymbolicDataField ::+ Language.Fixpoint.Types.Names.Symbolic+ Language.Fixpoint.Types.Sorts.DataField+ DFunId+30d6fd7d99459ff88296e3b55c87b46c+ $fSymbolicFTycon ::+ Language.Fixpoint.Types.Names.Symbolic+ Language.Fixpoint.Types.Sorts.FTycon+ DFunId+64a95a4f5ac779058956048105934fdd+ $tc'DCtor :: GHC.Types.TyCon+4f0489a43030c2f5cfca68f1316ea129+ $tc'DDecl :: GHC.Types.TyCon+aa8336e758933a4b1edceb1a541bc82c+ $tc'DField :: GHC.Types.TyCon+ab721ec3cb894ed9cef03cb76869de1c+ $tc'FAbs :: GHC.Types.TyCon+c341d9b66de2c062e95f3c175e73c66b+ $tc'FApp :: GHC.Types.TyCon+8619b88bab6a4e5edac432039bfc5cc5+ $tc'FFrac :: GHC.Types.TyCon+cc352379664d6d39e6e87ff370e6343c+ $tc'FFunc :: GHC.Types.TyCon+ea09a83340239d79cafd6e993d088368+ $tc'FInt :: GHC.Types.TyCon+8149ff309f5242074f889d219454c7a5+ $tc'FNum :: GHC.Types.TyCon+c45fd0ebe05ffe1cc6bbe20e57ed39ca+ $tc'FObj :: GHC.Types.TyCon+c78cb6c2a701fa03fbe21ee85625cccd+ $tc'FReal :: GHC.Types.TyCon+4cf68fed543d83649bb8a7f32d0d97f8+ $tc'FTC :: GHC.Types.TyCon+4e2ee13e2593cbb2f154d65c74e06b39+ $tc'FVar :: GHC.Types.TyCon+eff8ddc829a5d15d42dfdbcd0b767f6d+ $tc'NoArgs :: GHC.Types.TyCon+b7e83c8abab8fb8af579ddbb70f31297+ $tc'Sub :: GHC.Types.TyCon+5ac96c4f3b7081fdb591e92936bb88f2+ $tc'TC :: GHC.Types.TyCon+90d540d4154debabf8a48b1e97d20fe7+ $tc'TCE :: GHC.Types.TyCon+208c89b75a7206f5a3e49cf11070598f+ $tc'TCInfo :: GHC.Types.TyCon+86ed92ed9f7c77dba03f9c4942c94278+ $tc'WithArgs :: GHC.Types.TyCon+c0bab16495f1adff39f1c5162dbf612f+ $tcDataCtor :: GHC.Types.TyCon+d1a5c0da78401e46ca7dc6d5bd724a17+ $tcDataDecl :: GHC.Types.TyCon+afbae00454fbd1201d95418dd2065842+ $tcDataField :: GHC.Types.TyCon+11c254ed4e8e245ed034d2438229b17c+ $tcFTycon :: GHC.Types.TyCon+fa5e6ad3bce1887f92987014df2e3d4b+ $tcSort :: GHC.Types.TyCon+9d070b482bfa59a7a6a7be60f7242c0f+ $tcSub :: GHC.Types.TyCon+aa749c47d74afbdd8dc3d4fcd2e5ee45+ $tcTCArgs :: GHC.Types.TyCon+d750c17fa7f9e3c00caf0cd24872e677+ $tcTCEmb :: GHC.Types.TyCon+82546d7d1a3a8e84d7ad1ba2fc11acee+ $tcTCInfo :: GHC.Types.TyCon+cfd6fe94ead6378f9158436f38656a4d+ $trModule :: GHC.Types.Module+90984d28a9f3c849d44b1ec37334f5cb+ data DataCtor+ = DCtor {dcName :: !Language.Fixpoint.Types.Names.LocSymbol,+ dcFields :: ![Language.Fixpoint.Types.Sorts.DataField]}+90984d28a9f3c849d44b1ec37334f5cb+ data DataDecl+ = DDecl {ddTyCon :: !Language.Fixpoint.Types.Sorts.FTycon,+ ddVars :: !GHC.Types.Int,+ ddCtors :: [Language.Fixpoint.Types.Sorts.DataCtor]}+842b037f4a3d7555ff8e2c17ccb73443+ data DataField+ = DField {dfName :: !Language.Fixpoint.Types.Names.LocSymbol,+ dfSort :: !Language.Fixpoint.Types.Sorts.Sort}+30d6fd7d99459ff88296e3b55c87b46c+ data FTycon+ = TC Language.Fixpoint.Types.Names.LocSymbol+ Language.Fixpoint.Types.Sorts.TCInfo+90984d28a9f3c849d44b1ec37334f5cb+ axiom Language.Fixpoint.Types.Sorts.Rep_DataCtor::+ GHC.Generics.Rep Language.Fixpoint.Types.Sorts.DataCtor+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "DataCtor"+ "Language.Fixpoint.Types.Sorts"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "DCtor" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "dcName")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.LocSymbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "dcFields")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 [Language.Fixpoint.Types.Sorts.DataField])))+90984d28a9f3c849d44b1ec37334f5cb+ axiom Language.Fixpoint.Types.Sorts.Rep_DataDecl::+ GHC.Generics.Rep Language.Fixpoint.Types.Sorts.DataDecl+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "DataDecl"+ "Language.Fixpoint.Types.Sorts"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "DDecl" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "ddTyCon")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Sorts.FTycon)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "ddVars")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "ddCtors")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ [Language.Fixpoint.Types.Sorts.DataCtor]))))+842b037f4a3d7555ff8e2c17ccb73443+ axiom Language.Fixpoint.Types.Sorts.Rep_DataField::+ GHC.Generics.Rep Language.Fixpoint.Types.Sorts.DataField+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "DataField"+ "Language.Fixpoint.Types.Sorts"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "DField" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "dfName")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.LocSymbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "dfSort")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Sorts.Sort)))+30d6fd7d99459ff88296e3b55c87b46c+ axiom Language.Fixpoint.Types.Sorts.Rep_FTycon::+ GHC.Generics.Rep Language.Fixpoint.Types.Sorts.FTycon+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "FTycon"+ "Language.Fixpoint.Types.Sorts"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "TC" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.LocSymbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Sorts.TCInfo)))+30d6fd7d99459ff88296e3b55c87b46c+ axiom Language.Fixpoint.Types.Sorts.Rep_Sort::+ GHC.Generics.Rep Language.Fixpoint.Types.Sorts.Sort+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Sort"+ "Language.Fixpoint.Types.Sorts"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "FInt" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "FReal" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1)+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "FNum" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "FFrac"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "FObj"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Names.Symbol)))))+ GHC.Generics.:+: ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "FVar" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "FFunc"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort)))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "FAbs" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "FTC"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.FTycon))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "FApp"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.Sort))))))+30d6fd7d99459ff88296e3b55c87b46c+ axiom Language.Fixpoint.Types.Sorts.Rep_Sub::+ GHC.Generics.Rep Language.Fixpoint.Types.Sorts.Sub+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Sub"+ "Language.Fixpoint.Types.Sorts"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.True)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Sub" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ [(GHC.Types.Int, Language.Fixpoint.Types.Sorts.Sort)])))+b6c1d568c46ea57cf9eafbf0f41c6b94+ axiom Language.Fixpoint.Types.Sorts.Rep_TCArgs::+ GHC.Generics.Rep Language.Fixpoint.Types.Sorts.TCArgs+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "TCArgs"+ "Language.Fixpoint.Types.Sorts"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "WithArgs" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "NoArgs" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1)+30d6fd7d99459ff88296e3b55c87b46c+ axiom Language.Fixpoint.Types.Sorts.Rep_TCEmb::+ GHC.Generics.Rep (Language.Fixpoint.Types.Sorts.TCEmb a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "TCEmb"+ "Language.Fixpoint.Types.Sorts"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.True)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "TCE" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ a+ (Language.Fixpoint.Types.Sorts.Sort,+ Language.Fixpoint.Types.Sorts.TCArgs)))))+a9651f66ee5c26936e6c2f16f203a1c4+ axiom Language.Fixpoint.Types.Sorts.Rep_TCInfo::+ GHC.Generics.Rep Language.Fixpoint.Types.Sorts.TCInfo+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "TCInfo"+ "Language.Fixpoint.Types.Sorts"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "TCInfo" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "tc_isNum")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "tc_isReal")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "tc_isString")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 GHC.Types.Bool))))+30d6fd7d99459ff88296e3b55c87b46c+ data Sort+ = FInt+ | FReal+ | FNum+ | FFrac+ | FObj !Language.Fixpoint.Types.Names.Symbol+ | FVar !GHC.Types.Int+ | FFunc !Language.Fixpoint.Types.Sorts.Sort+ !Language.Fixpoint.Types.Sorts.Sort+ | FAbs !GHC.Types.Int !Language.Fixpoint.Types.Sorts.Sort+ | FTC !Language.Fixpoint.Types.Sorts.FTycon+ | FApp !Language.Fixpoint.Types.Sorts.Sort+ !Language.Fixpoint.Types.Sorts.Sort+30d6fd7d99459ff88296e3b55c87b46c+ newtype Sub+ = Sub [(GHC.Types.Int, Language.Fixpoint.Types.Sorts.Sort)]+b6c1d568c46ea57cf9eafbf0f41c6b94+ data TCArgs = WithArgs | NoArgs+30d6fd7d99459ff88296e3b55c87b46c+ type role TCEmb nominal+ newtype TCEmb a+ = TCE (Data.HashMap.Base.HashMap+ a+ (Language.Fixpoint.Types.Sorts.Sort,+ Language.Fixpoint.Types.Sorts.TCArgs))+a9651f66ee5c26936e6c2f16f203a1c4+ data TCInfo+ = TCInfo {tc_isNum :: GHC.Types.Bool,+ tc_isReal :: GHC.Types.Bool,+ tc_isString :: GHC.Types.Bool}+1b1e54e2a1502a49099ea8537be4dd56+ basicSorts :: [Language.Fixpoint.Types.Sorts.Sort]+fb482949084196d18d148139ee7f05ff+ bitVecSort :: Language.Fixpoint.Types.Sorts.Sort+dd65fbe61e298d432b652ba1d8c095a0+ bkFFunc ::+ Language.Fixpoint.Types.Sorts.Sort+ -> GHC.Maybe.Maybe+ (GHC.Types.Int, [Language.Fixpoint.Types.Sorts.Sort])+16fb6d8210614fc05a3dd17e4b56e7de+ boolFTyCon :: Language.Fixpoint.Types.Sorts.FTycon+05be9e1ff80dff4f05fc2d8105076210+ boolSort :: Language.Fixpoint.Types.Sorts.Sort+6f54c9017b7440e93c35a09549fd60ca+ charSort :: Language.Fixpoint.Types.Sorts.Sort+90984d28a9f3c849d44b1ec37334f5cb+ dcFields ::+ Language.Fixpoint.Types.Sorts.DataCtor+ -> [Language.Fixpoint.Types.Sorts.DataField]+ RecSel Left Language.Fixpoint.Types.Sorts.DataCtor+90984d28a9f3c849d44b1ec37334f5cb+ dcName ::+ Language.Fixpoint.Types.Sorts.DataCtor+ -> Language.Fixpoint.Types.Names.LocSymbol+ RecSel Left Language.Fixpoint.Types.Sorts.DataCtor+90984d28a9f3c849d44b1ec37334f5cb+ ddCtors ::+ Language.Fixpoint.Types.Sorts.DataDecl+ -> [Language.Fixpoint.Types.Sorts.DataCtor]+ RecSel Left Language.Fixpoint.Types.Sorts.DataDecl+90984d28a9f3c849d44b1ec37334f5cb+ ddTyCon ::+ Language.Fixpoint.Types.Sorts.DataDecl+ -> Language.Fixpoint.Types.Sorts.FTycon+ RecSel Left Language.Fixpoint.Types.Sorts.DataDecl+90984d28a9f3c849d44b1ec37334f5cb+ ddVars :: Language.Fixpoint.Types.Sorts.DataDecl -> GHC.Types.Int+ RecSel Left Language.Fixpoint.Types.Sorts.DataDecl+842b037f4a3d7555ff8e2c17ccb73443+ dfName ::+ Language.Fixpoint.Types.Sorts.DataField+ -> Language.Fixpoint.Types.Names.LocSymbol+ RecSel Left Language.Fixpoint.Types.Sorts.DataField+842b037f4a3d7555ff8e2c17ccb73443+ dfSort ::+ Language.Fixpoint.Types.Sorts.DataField+ -> Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Types.Sorts.DataField+c49e03b92bfc3b317f317f42b9427882+ fApp ::+ Language.Fixpoint.Types.Sorts.Sort+ -> [Language.Fixpoint.Types.Sorts.Sort]+ -> Language.Fixpoint.Types.Sorts.Sort+d1730a0e7e76ba505e7fb32cccadc22b+ fAppTC ::+ Language.Fixpoint.Types.Sorts.FTycon+ -> [Language.Fixpoint.Types.Sorts.Sort]+ -> Language.Fixpoint.Types.Sorts.Sort+7b7c9027c8922a15fc7940a9ec0ef6cb+ fObj ::+ Language.Fixpoint.Types.Names.LocSymbol+ -> Language.Fixpoint.Types.Sorts.Sort+21d6ada3b337a5124b7098a77a4b8359+ fTyconSelfSort ::+ Language.Fixpoint.Types.Sorts.FTycon+ -> GHC.Types.Int -> Language.Fixpoint.Types.Sorts.Sort+633df8b8447e1a481b51fa09ec285390+ fTyconSort ::+ Language.Fixpoint.Types.Sorts.FTycon+ -> Language.Fixpoint.Types.Sorts.Sort+1a1d4e8a41d0680c0eae5cf4d96236f0+ fTyconSymbol ::+ Language.Fixpoint.Types.Sorts.FTycon+ -> Language.Fixpoint.Types.Spans.Located+ Language.Fixpoint.Types.Names.Symbol+704a7cd5c6c59ccb248291ac38658563+ funcSort :: Language.Fixpoint.Types.Sorts.Sort+f594877f5448823b341deb917c8c3252+ functionSort ::+ Language.Fixpoint.Types.Sorts.Sort+ -> GHC.Maybe.Maybe+ ([GHC.Types.Int], [Language.Fixpoint.Types.Sorts.Sort],+ Language.Fixpoint.Types.Sorts.Sort)+427efe970e81ec61d153671f94e1bbc6+ intFTyCon :: Language.Fixpoint.Types.Sorts.FTycon+ab1a8687c0d53db967e03c16ee505e9c+ intSort :: Language.Fixpoint.Types.Sorts.Sort+cfd506bfd2cff1e57e8dcb1d24cae9ab+ isFirstOrder ::+ Language.Fixpoint.Types.Sorts.Sort -> GHC.Types.Bool+ef853046dc3bd19f54ff63f86048f01e+ isListTC :: Language.Fixpoint.Types.Sorts.FTycon -> GHC.Types.Bool+185086e9ed1ab1d12d79b7e919aca7bb+ isNumeric :: Language.Fixpoint.Types.Sorts.Sort -> GHC.Types.Bool+676f1726c10c87f40ca1a0650d1b61c8+ isPolyInst ::+ Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort -> GHC.Types.Bool+b482e086efc3a429928da3008e154a37+ isReal :: Language.Fixpoint.Types.Sorts.Sort -> GHC.Types.Bool+3c267f62fc9e05bc4e545153ea826927+ isString :: Language.Fixpoint.Types.Sorts.Sort -> GHC.Types.Bool+300e5e0c35f513f011d66af81e99a681+ listFTyCon :: Language.Fixpoint.Types.Sorts.FTycon+8ffa7b4c807aa25962bf7825c7173d7b+ mapFTyCon :: Language.Fixpoint.Types.Sorts.FTycon+c204e11612f295b298016f3e4249de7a+ mapFVar ::+ (GHC.Types.Int -> GHC.Types.Int)+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+c383da3147fdba1ec21866e7d2b99fb8+ mapSort ::+ Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+2eb80517192d1035fdd148da555042ae+ mappendFTC ::+ Language.Fixpoint.Types.Sorts.FTycon+ -> Language.Fixpoint.Types.Sorts.FTycon+ -> Language.Fixpoint.Types.Sorts.FTycon+7fc888cdee141d3972072d0738f6e6fc+ mkFFunc ::+ GHC.Types.Int+ -> [Language.Fixpoint.Types.Sorts.Sort]+ -> Language.Fixpoint.Types.Sorts.Sort+0a7ab8f8c203859fcd432a2dfdd5abb2+ mkPoly ::+ GHC.Types.Int+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+e2cb2ad7e858df633905b445c4a9097a+ muSort ::+ [Language.Fixpoint.Types.Sorts.DataDecl]+ -> [Language.Fixpoint.Types.Sorts.DataDecl]+0f72d23411d7c3f3edbbdcd1c330f7b0+ numFTyCon :: Language.Fixpoint.Types.Sorts.FTycon+6788f88268a6f66794a22f221cad4068+ realFTyCon :: Language.Fixpoint.Types.Sorts.FTycon+459390a973b7f26d48daa507f727b0b4+ realSort :: Language.Fixpoint.Types.Sorts.Sort+b50624ec599b3dfe50370f2d324b07f2+ setFTyCon :: Language.Fixpoint.Types.Sorts.FTycon+bd8955fcea07424549befb5ca89dd160+ setSort ::+ Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+23d61dced12a09cf4058ece06537f20a+ sizeBv ::+ Language.Fixpoint.Types.Sorts.FTycon+ -> GHC.Maybe.Maybe GHC.Types.Int+c41d144241671a33236cba3988331ef8+ sortAbs :: Language.Fixpoint.Types.Sorts.Sort -> GHC.Types.Int+c593c45fcd6f7dd5c458c1019c6ceff2+ sortFTycon ::+ Language.Fixpoint.Types.Sorts.Sort+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Sorts.FTycon+b990d3b59e1236d7b5827572c5da5f3f+ sortSubst ::+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+c99941d4ded65186c0de5d73178fe143+ strFTyCon :: Language.Fixpoint.Types.Sorts.FTycon+c638fae801e8e1f254334aa30682ab3e+ strSort :: Language.Fixpoint.Types.Sorts.Sort+93c1f3a947f85ee0557577e72fb0c2a1+ symbolFTycon ::+ Language.Fixpoint.Types.Names.LocSymbol+ -> Language.Fixpoint.Types.Sorts.FTycon+b6634a7aa7fbcaa40d78d8348ad37962+ symbolNumInfoFTyCon ::+ Language.Fixpoint.Types.Names.LocSymbol+ -> GHC.Types.Bool+ -> GHC.Types.Bool+ -> Language.Fixpoint.Types.Sorts.FTycon+a9651f66ee5c26936e6c2f16f203a1c4+ tc_isNum :: Language.Fixpoint.Types.Sorts.TCInfo -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Sorts.TCInfo+a9651f66ee5c26936e6c2f16f203a1c4+ tc_isReal :: Language.Fixpoint.Types.Sorts.TCInfo -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Sorts.TCInfo+a9651f66ee5c26936e6c2f16f203a1c4+ tc_isString ::+ Language.Fixpoint.Types.Sorts.TCInfo -> GHC.Types.Bool+ RecSel Left Language.Fixpoint.Types.Sorts.TCInfo+c98392214ce18865fd59d5f2157eed2e+ tceFromList ::+ (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a) =>+ [(a,+ (Language.Fixpoint.Types.Sorts.Sort,+ Language.Fixpoint.Types.Sorts.TCArgs))]+ -> Language.Fixpoint.Types.Sorts.TCEmb a+f938cbf2b1e169f204a826502459422b+ tceInsert ::+ (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a) =>+ a+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.TCArgs+ -> Language.Fixpoint.Types.Sorts.TCEmb a+ -> Language.Fixpoint.Types.Sorts.TCEmb a+95ceeb66bd2f978f367568c570cadffb+ tceInsertWith ::+ (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a) =>+ (Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort)+ -> a+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.TCArgs+ -> Language.Fixpoint.Types.Sorts.TCEmb a+ -> Language.Fixpoint.Types.Sorts.TCEmb a+ba24d63235282b2af5b374d3f4fff5ab+ tceLookup ::+ (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a) =>+ a+ -> Language.Fixpoint.Types.Sorts.TCEmb a+ -> GHC.Maybe.Maybe+ (Language.Fixpoint.Types.Sorts.Sort,+ Language.Fixpoint.Types.Sorts.TCArgs)+fd9412cb209406f0bd423babdd51b745+ tceMap ::+ (GHC.Classes.Eq b, Data.Hashable.Class.Hashable b) =>+ (a -> b)+ -> Language.Fixpoint.Types.Sorts.TCEmb a+ -> Language.Fixpoint.Types.Sorts.TCEmb b+bdb28d8b627b92c630f35e254a2f038d+ tceMember ::+ (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a) =>+ a -> Language.Fixpoint.Types.Sorts.TCEmb a -> GHC.Types.Bool+94dabd1e812c8f02e6ee6f26485a43a6+ tceToList ::+ Language.Fixpoint.Types.Sorts.TCEmb a+ -> [(a,+ (Language.Fixpoint.Types.Sorts.Sort,+ Language.Fixpoint.Types.Sorts.TCArgs))]+ef7ce18bc22737d17abae86be1111da1+ unAbs ::+ Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+f4945d2eb7df5bb40d6a2a87a5c0fdb7+ unFApp ::+ Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Misc.ListNE Language.Fixpoint.Types.Sorts.Sort+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Sorts.DataCtor]+ = Language.Fixpoint.Types.Sorts.$fBinaryDataCtor+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Sorts.DataDecl]+ = Language.Fixpoint.Types.Sorts.$fBinaryDataDecl+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Sorts.DataField]+ = Language.Fixpoint.Types.Sorts.$fBinaryDataField+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Sorts.FTycon]+ = Language.Fixpoint.Types.Sorts.$fBinaryFTycon+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Types.Sorts.$fBinarySort+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Sorts.Sub]+ = Language.Fixpoint.Types.Sorts.$fBinarySub+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Sorts.TCArgs]+ = Language.Fixpoint.Types.Sorts.$fBinaryTCArgs+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Sorts.TCInfo]+ = Language.Fixpoint.Types.Sorts.$fBinaryTCInfo+instance Data.Data.Data [Language.Fixpoint.Types.Sorts.DataCtor]+ = Language.Fixpoint.Types.Sorts.$fDataDataCtor+instance Data.Data.Data [Language.Fixpoint.Types.Sorts.DataDecl]+ = Language.Fixpoint.Types.Sorts.$fDataDataDecl+instance Data.Data.Data [Language.Fixpoint.Types.Sorts.DataField]+ = Language.Fixpoint.Types.Sorts.$fDataDataField+instance Data.Data.Data [Language.Fixpoint.Types.Sorts.FTycon]+ = Language.Fixpoint.Types.Sorts.$fDataFTycon+instance Data.Data.Data [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Types.Sorts.$fDataSort+instance Data.Data.Data [Language.Fixpoint.Types.Sorts.TCArgs]+ = Language.Fixpoint.Types.Sorts.$fDataTCArgs+instance Data.Data.Data [Language.Fixpoint.Types.Sorts.TCEmb]+ = Language.Fixpoint.Types.Sorts.$fDataTCEmb+instance Data.Data.Data [Language.Fixpoint.Types.Sorts.TCInfo]+ = Language.Fixpoint.Types.Sorts.$fDataTCInfo+instance GHC.Classes.Eq [Language.Fixpoint.Types.Sorts.DataCtor]+ = Language.Fixpoint.Types.Sorts.$fEqDataCtor+instance GHC.Classes.Eq [Language.Fixpoint.Types.Sorts.DataDecl]+ = Language.Fixpoint.Types.Sorts.$fEqDataDecl+instance GHC.Classes.Eq [Language.Fixpoint.Types.Sorts.DataField]+ = Language.Fixpoint.Types.Sorts.$fEqDataField+instance GHC.Classes.Eq [Language.Fixpoint.Types.Sorts.FTycon]+ = Language.Fixpoint.Types.Sorts.$fEqFTycon+instance GHC.Classes.Eq [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Types.Sorts.$fEqSort+instance GHC.Classes.Eq [Language.Fixpoint.Types.Sorts.TCArgs]+ = Language.Fixpoint.Types.Sorts.$fEqTCArgs+instance GHC.Classes.Eq [Language.Fixpoint.Types.Sorts.TCEmb]+ = Language.Fixpoint.Types.Sorts.$fEqTCEmb+instance GHC.Classes.Eq [Language.Fixpoint.Types.Sorts.TCInfo]+ = Language.Fixpoint.Types.Sorts.$fEqTCInfo+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Sorts.DataCtor]+ = Language.Fixpoint.Types.Sorts.$fFixpointDataCtor+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Sorts.DataDecl]+ = Language.Fixpoint.Types.Sorts.$fFixpointDataDecl+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Sorts.DataField]+ = Language.Fixpoint.Types.Sorts.$fFixpointDataField+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Sorts.FTycon]+ = Language.Fixpoint.Types.Sorts.$fFixpointFTycon+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Types.Sorts.$fFixpointSort+instance GHC.Generics.Generic [Language.Fixpoint.Types.Sorts.DataCtor]+ = Language.Fixpoint.Types.Sorts.$fGenericDataCtor+instance GHC.Generics.Generic [Language.Fixpoint.Types.Sorts.DataDecl]+ = Language.Fixpoint.Types.Sorts.$fGenericDataDecl+instance GHC.Generics.Generic [Language.Fixpoint.Types.Sorts.DataField]+ = Language.Fixpoint.Types.Sorts.$fGenericDataField+instance GHC.Generics.Generic [Language.Fixpoint.Types.Sorts.FTycon]+ = Language.Fixpoint.Types.Sorts.$fGenericFTycon+instance GHC.Generics.Generic [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Types.Sorts.$fGenericSort+instance GHC.Generics.Generic [Language.Fixpoint.Types.Sorts.Sub]+ = Language.Fixpoint.Types.Sorts.$fGenericSub+instance GHC.Generics.Generic [Language.Fixpoint.Types.Sorts.TCArgs]+ = Language.Fixpoint.Types.Sorts.$fGenericTCArgs+instance GHC.Generics.Generic [Language.Fixpoint.Types.Sorts.TCEmb]+ = Language.Fixpoint.Types.Sorts.$fGenericTCEmb+instance GHC.Generics.Generic [Language.Fixpoint.Types.Sorts.TCInfo]+ = Language.Fixpoint.Types.Sorts.$fGenericTCInfo+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Sorts.FTycon]+ = Language.Fixpoint.Types.Sorts.$fHashableFTycon+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Types.Sorts.$fHashableSort+instance Language.Fixpoint.Types.Spans.Loc [Language.Fixpoint.Types.Sorts.FTycon]+ = Language.Fixpoint.Types.Sorts.$fLocFTycon+instance GHC.Base.Monoid [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Types.Sorts.$fMonoidSort+instance GHC.Base.Monoid [Language.Fixpoint.Types.Sorts.TCArgs]+ = Language.Fixpoint.Types.Sorts.$fMonoidTCArgs+instance GHC.Base.Monoid [Language.Fixpoint.Types.Sorts.TCEmb]+ = Language.Fixpoint.Types.Sorts.$fMonoidTCEmb+instance GHC.Base.Monoid [Language.Fixpoint.Types.Sorts.TCInfo]+ = Language.Fixpoint.Types.Sorts.$fMonoidTCInfo+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Sorts.DataCtor]+ = Language.Fixpoint.Types.Sorts.$fNFDataDataCtor+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Sorts.DataDecl]+ = Language.Fixpoint.Types.Sorts.$fNFDataDataDecl+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Sorts.DataField]+ = Language.Fixpoint.Types.Sorts.$fNFDataDataField+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Sorts.FTycon]+ = Language.Fixpoint.Types.Sorts.$fNFDataFTycon+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Types.Sorts.$fNFDataSort+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Sorts.Sub]+ = Language.Fixpoint.Types.Sorts.$fNFDataSub+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Sorts.TCArgs]+ = Language.Fixpoint.Types.Sorts.$fNFDataTCArgs+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Sorts.TCEmb]+ = Language.Fixpoint.Types.Sorts.$fNFDataTCEmb+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Sorts.TCInfo]+ = Language.Fixpoint.Types.Sorts.$fNFDataTCInfo+instance GHC.Classes.Ord [Language.Fixpoint.Types.Sorts.DataCtor]+ = Language.Fixpoint.Types.Sorts.$fOrdDataCtor+instance GHC.Classes.Ord [Language.Fixpoint.Types.Sorts.DataDecl]+ = Language.Fixpoint.Types.Sorts.$fOrdDataDecl+instance GHC.Classes.Ord [Language.Fixpoint.Types.Sorts.DataField]+ = Language.Fixpoint.Types.Sorts.$fOrdDataField+instance GHC.Classes.Ord [Language.Fixpoint.Types.Sorts.FTycon]+ = Language.Fixpoint.Types.Sorts.$fOrdFTycon+instance GHC.Classes.Ord [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Types.Sorts.$fOrdSort+instance GHC.Classes.Ord [Language.Fixpoint.Types.Sorts.TCArgs]+ = Language.Fixpoint.Types.Sorts.$fOrdTCArgs+instance GHC.Classes.Ord [Language.Fixpoint.Types.Sorts.TCInfo]+ = Language.Fixpoint.Types.Sorts.$fOrdTCInfo+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Sorts.DataCtor]+ = Language.Fixpoint.Types.Sorts.$fPPrintDataCtor+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Sorts.DataDecl]+ = Language.Fixpoint.Types.Sorts.$fPPrintDataDecl+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Sorts.DataField]+ = Language.Fixpoint.Types.Sorts.$fPPrintDataField+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Sorts.FTycon]+ = Language.Fixpoint.Types.Sorts.$fPPrintFTycon+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Sorts.TCArgs]+ = Language.Fixpoint.Types.Sorts.$fPPrintTCArgs+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Types.Sorts.$fSemigroupSort+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Sorts.TCArgs]+ = Language.Fixpoint.Types.Sorts.$fSemigroupTCArgs+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Sorts.TCEmb]+ = Language.Fixpoint.Types.Sorts.$fSemigroupTCEmb+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Sorts.TCInfo]+ = Language.Fixpoint.Types.Sorts.$fSemigroupTCInfo+instance GHC.Show.Show [Language.Fixpoint.Types.Sorts.DataCtor]+ = Language.Fixpoint.Types.Sorts.$fShowDataCtor+instance GHC.Show.Show [Language.Fixpoint.Types.Sorts.DataDecl]+ = Language.Fixpoint.Types.Sorts.$fShowDataDecl+instance GHC.Show.Show [Language.Fixpoint.Types.Sorts.DataField]+ = Language.Fixpoint.Types.Sorts.$fShowDataField+instance GHC.Show.Show [Language.Fixpoint.Types.Sorts.FTycon]+ = Language.Fixpoint.Types.Sorts.$fShowFTycon+instance GHC.Show.Show [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Types.Sorts.$fShowSort+instance GHC.Show.Show [Language.Fixpoint.Types.Sorts.TCArgs]+ = Language.Fixpoint.Types.Sorts.$fShowTCArgs+instance GHC.Show.Show [Language.Fixpoint.Types.Sorts.TCEmb]+ = Language.Fixpoint.Types.Sorts.$fShowTCEmb+instance GHC.Show.Show [Language.Fixpoint.Types.Sorts.TCInfo]+ = Language.Fixpoint.Types.Sorts.$fShowTCInfo+instance Language.Fixpoint.Types.Names.Symbolic [Language.Fixpoint.Types.Sorts.DataCtor]+ = Language.Fixpoint.Types.Sorts.$fSymbolicDataCtor+instance Language.Fixpoint.Types.Names.Symbolic [Language.Fixpoint.Types.Sorts.DataDecl]+ = Language.Fixpoint.Types.Sorts.$fSymbolicDataDecl+instance Language.Fixpoint.Types.Names.Symbolic [Language.Fixpoint.Types.Sorts.DataField]+ = Language.Fixpoint.Types.Sorts.$fSymbolicDataField+instance Language.Fixpoint.Types.Names.Symbolic [Language.Fixpoint.Types.Sorts.FTycon]+ = Language.Fixpoint.Types.Sorts.$fSymbolicFTycon+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Sorts.TCEmb]+ = Language.Fixpoint.Types.Sorts.Rep_TCEmb+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Sorts.TCArgs]+ = Language.Fixpoint.Types.Sorts.Rep_TCArgs+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Sorts.Sub]+ = Language.Fixpoint.Types.Sorts.Rep_Sub+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Sorts.DataDecl]+ = Language.Fixpoint.Types.Sorts.Rep_DataDecl+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Sorts.DataCtor]+ = Language.Fixpoint.Types.Sorts.Rep_DataCtor+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Sorts.DataField]+ = Language.Fixpoint.Types.Sorts.Rep_DataField+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Sorts.Sort]+ = Language.Fixpoint.Types.Sorts.Rep_Sort+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Sorts.FTycon]+ = Language.Fixpoint.Types.Sorts.Rep_FTycon+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Sorts.TCInfo]+ = Language.Fixpoint.Types.Sorts.Rep_TCInfo+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,454 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:25.350703 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans [orphan module] [family instance module] 8065+ interface hash: b78c88fc21201c1b433656ce525b02b9+ ABI hash: df3b309e6511df6300a1db0ccd338062+ export-list hash: 9e9118ba5257e743a1e1c46db3e4cd33+ orphan hash: 49449c227da8a58a69aae053dcd6b926+ flag hash: a11e1b2911cb886c01d81cfd252e8523+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Spans.atLoc+ Language.Fixpoint.Types.Spans.dummyLoc+ Language.Fixpoint.Types.Spans.dummyPos+ Language.Fixpoint.Types.Spans.dummySpan+ Language.Fixpoint.Types.Spans.locAt+ Language.Fixpoint.Types.Spans.panicSpan+ Language.Fixpoint.Types.Spans.sourcePosElts+ Language.Fixpoint.Types.Spans.srcLine+ Language.Fixpoint.Types.Spans.toSourcePos+ Language.Fixpoint.Types.Spans.Loc{Language.Fixpoint.Types.Spans.srcSpan}+ Language.Fixpoint.Types.Spans.Located{Language.Fixpoint.Types.Spans.Loc loc locE val}+ Language.Fixpoint.Types.Spans.SrcSpan{Language.Fixpoint.Types.Spans.SS sp_start sp_stop}+ Text.Parsec.Pos.SourcePos+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Types.PrettyPrint+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 parsec-3.1.13.0 pretty-1.1.3.6+ process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7 text-1.2.3.1+ time-1.8.0.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Data 2949b01dc3799f9122535900668dfcef+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.String fa00d4c51cd8d22ee4f54a25f9e9c97d+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Typeable 1095be85dd9009a6503a3981a259490e+import -/ base-4.12.0.0:Data.Typeable.Internal e1cb15df401654131814917774d4d7ed+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:Text.Printf d9e1f32eb8aa55bafa1cf4360210b275+import -/ binary-0.8.6.0:Data.Binary 47a89cefaa44e49e7fd21d133fce6a7e+import -/ binary-0.8.6.0:Data.Binary.Class 4a00b809573ad7c27e489f5b66886719+import -/ cereal-0.5.8.0:Data.Serialize 46eea0b64631e6bfa7ec81b0118ba8ea+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ pprintTidy bf75bee99d55ab15929b450195e64f3c+ toFix 9b9c41ae3aa868a1e0f4e73cde8032e0+import -/ parsec-3.1.13.0:Text.Parsec.Pos 61aa6625e3bc17c83ef95500ead7d960+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ syb-0.7:Data.Generics f4bddd07fe7227d2509acad55f9ff82d+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fBinaryLocated ::+ Data.Binary.Class.Binary a =>+ Data.Binary.Class.Binary (Language.Fixpoint.Types.Spans.Located a)+ DFunId+2c62550fcce7e3d0cc34a79128d68deb+ $fBinarySourcePos ::+ Data.Binary.Class.Binary Text.Parsec.Pos.SourcePos+ DFunId+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fDataLocated ::+ Data.Data.Data a =>+ Data.Data.Data (Language.Fixpoint.Types.Spans.Located a)+ DFunId+30cdf4122b891cc575df90039bdcbecb+ $fDataSrcSpan ::+ Data.Data.Data Language.Fixpoint.Types.Spans.SrcSpan+ DFunId+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fEqLocated ::+ GHC.Classes.Eq a =>+ GHC.Classes.Eq (Language.Fixpoint.Types.Spans.Located a)+ DFunId+30cdf4122b891cc575df90039bdcbecb+ $fEqSrcSpan :: GHC.Classes.Eq Language.Fixpoint.Types.Spans.SrcSpan+ DFunId+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fFixpointLocated ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint a =>+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ (Language.Fixpoint.Types.Spans.Located a)+ DFunId+97808256aa534c30c156e1db4ce6db7d+ $fFixpointSourcePos ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Text.Parsec.Pos.SourcePos+ DFunId+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fFoldableLocated ::+ Data.Foldable.Foldable Language.Fixpoint.Types.Spans.Located+ DFunId+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fFunctorLocated ::+ GHC.Base.Functor Language.Fixpoint.Types.Spans.Located+ DFunId+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fGenericLocated ::+ GHC.Generics.Generic (Language.Fixpoint.Types.Spans.Located a)+ DFunId+30cdf4122b891cc575df90039bdcbecb+ $fGenericSrcSpan ::+ GHC.Generics.Generic Language.Fixpoint.Types.Spans.SrcSpan+ DFunId+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fHashableLocated ::+ Data.Hashable.Class.Hashable a =>+ Data.Hashable.Class.Hashable+ (Language.Fixpoint.Types.Spans.Located a)+ DFunId+2bb67df438ffcf6fc9839e9a6916b318+ $fHashableSourcePos ::+ Data.Hashable.Class.Hashable Text.Parsec.Pos.SourcePos+ DFunId+30cdf4122b891cc575df90039bdcbecb+ $fHashableSrcSpan ::+ Data.Hashable.Class.Hashable Language.Fixpoint.Types.Spans.SrcSpan+ DFunId+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fIsStringLocated ::+ Data.String.IsString a =>+ Data.String.IsString (Language.Fixpoint.Types.Spans.Located a)+ DFunId+4962bb0bc274d9001b974c3326b63480+ $fLoc() :: Language.Fixpoint.Types.Spans.Loc ()+ DFunId+4962bb0bc274d9001b974c3326b63480+ $fLocLocated ::+ Language.Fixpoint.Types.Spans.Loc+ (Language.Fixpoint.Types.Spans.Located a)+ DFunId+4962bb0bc274d9001b974c3326b63480+ $fLocSourcePos ::+ Language.Fixpoint.Types.Spans.Loc Text.Parsec.Pos.SourcePos+ DFunId+4962bb0bc274d9001b974c3326b63480+ $fLocSrcSpan ::+ Language.Fixpoint.Types.Spans.Loc+ Language.Fixpoint.Types.Spans.SrcSpan+ DFunId+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fNFDataLocated ::+ Control.DeepSeq.NFData a =>+ Control.DeepSeq.NFData (Language.Fixpoint.Types.Spans.Located a)+ DFunId+a62e5792d7ff7a4b77cdfa5a87b13f13+ $fNFDataSourcePos ::+ Control.DeepSeq.NFData Text.Parsec.Pos.SourcePos+ DFunId+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fOrdLocated ::+ GHC.Classes.Ord a =>+ GHC.Classes.Ord (Language.Fixpoint.Types.Spans.Located a)+ DFunId+30cdf4122b891cc575df90039bdcbecb+ $fOrdSrcSpan ::+ GHC.Classes.Ord Language.Fixpoint.Types.Spans.SrcSpan+ DFunId+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fPPrintLocated ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Language.Fixpoint.Types.Spans.Located a)+ DFunId+d67ccac94b75a95e6b77157ff7733c93+ $fPPrintSourcePos ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Text.Parsec.Pos.SourcePos+ DFunId+30cdf4122b891cc575df90039bdcbecb+ $fPPrintSrcSpan ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Spans.SrcSpan+ DFunId+49a4d9ee22eb815ebef0b447c8479609+ $fSerializeSourcePos ::+ Data.Serialize.Serialize Text.Parsec.Pos.SourcePos+ DFunId+30cdf4122b891cc575df90039bdcbecb+ $fSerializeSrcSpan ::+ Data.Serialize.Serialize Language.Fixpoint.Types.Spans.SrcSpan+ DFunId+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fShowLocated ::+ GHC.Show.Show a =>+ GHC.Show.Show (Language.Fixpoint.Types.Spans.Located a)+ DFunId+30cdf4122b891cc575df90039bdcbecb+ $fShowSrcSpan ::+ GHC.Show.Show Language.Fixpoint.Types.Spans.SrcSpan+ DFunId+98c2e3118bdcfbfec2dfd5f953f55cfd+ $fTraversableLocated ::+ Data.Traversable.Traversable Language.Fixpoint.Types.Spans.Located+ DFunId+283ec2fd3b01f97411cbc2cd996a9340+ $tc'C:Loc :: GHC.Types.TyCon+6fad27dfd64a3ebf770fa69161e6d587+ $tc'Loc :: GHC.Types.TyCon+00b007f2df7c7ddc262d8478b60f9e4a+ $tc'SS :: GHC.Types.TyCon+849a90025fbf2a5bc5f7a3113d139b9b+ $tcLoc :: GHC.Types.TyCon+7253af796acc7d553716009bce9e7153+ $tcLocated :: GHC.Types.TyCon+0fc70d62b9c59710b5e7a4bc6ffbe516+ $tcSrcSpan :: GHC.Types.TyCon+e849ff3ff8b62920d2b41effdafe2c47+ $trModule :: GHC.Types.Module+4962bb0bc274d9001b974c3326b63480+ class Loc a where+ srcSpan :: a -> Language.Fixpoint.Types.Spans.SrcSpan+ {-# MINIMAL srcSpan #-}+98c2e3118bdcfbfec2dfd5f953f55cfd+ data Located a+ = Loc {loc :: !Text.Parsec.Pos.SourcePos,+ locE :: !Text.Parsec.Pos.SourcePos,+ val :: !a}+98c2e3118bdcfbfec2dfd5f953f55cfd+ axiom Language.Fixpoint.Types.Spans.Rep_Located::+ GHC.Generics.Rep (Language.Fixpoint.Types.Spans.Located a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Located"+ "Language.Fixpoint.Types.Spans"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Loc" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "loc")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Text.Parsec.Pos.SourcePos)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "locE")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Text.Parsec.Pos.SourcePos)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "val")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 a))))+30cdf4122b891cc575df90039bdcbecb+ axiom Language.Fixpoint.Types.Spans.Rep_SrcSpan::+ GHC.Generics.Rep Language.Fixpoint.Types.Spans.SrcSpan+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "SrcSpan"+ "Language.Fixpoint.Types.Spans"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons "SS" 'GHC.Generics.PrefixI 'GHC.Types.True)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "sp_start")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Text.Parsec.Pos.SourcePos)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "sp_stop")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Text.Parsec.Pos.SourcePos)))+30cdf4122b891cc575df90039bdcbecb+ data SrcSpan+ = SS {sp_start :: !Text.Parsec.Pos.SourcePos,+ sp_stop :: !Text.Parsec.Pos.SourcePos}+1d33f99909507b18efe9f42abbbb5952+ atLoc ::+ Language.Fixpoint.Types.Spans.Loc l =>+ l -> b -> Language.Fixpoint.Types.Spans.Located b+69f648f1c60987f6ccbe57104041fd71+ dummyLoc :: a -> Language.Fixpoint.Types.Spans.Located a+cec780948f0543a3aa56a856d0978b96+ dummyPos :: GHC.Base.String -> Text.Parsec.Pos.SourcePos+4c3a1f24b19908507cae45f533bfffe9+ dummySpan :: Language.Fixpoint.Types.Spans.SrcSpan+98c2e3118bdcfbfec2dfd5f953f55cfd+ loc ::+ Language.Fixpoint.Types.Spans.Located a+ -> Text.Parsec.Pos.SourcePos+ RecSel Left Language.Fixpoint.Types.Spans.Located+1236793dd545dd57dc332f3a463d437c+ locAt ::+ GHC.Base.String -> a -> Language.Fixpoint.Types.Spans.Located a+98c2e3118bdcfbfec2dfd5f953f55cfd+ locE ::+ Language.Fixpoint.Types.Spans.Located a+ -> Text.Parsec.Pos.SourcePos+ RecSel Left Language.Fixpoint.Types.Spans.Located+d3af73fa8bf2e90a4b0e843d56f553e6+ panicSpan ::+ GHC.Base.String -> Language.Fixpoint.Types.Spans.SrcSpan+7b9ace6ed7c9c38d2ddfa2f617e1a2d5+ sourcePosElts ::+ Text.Parsec.Pos.SourcePos+ -> (Text.Parsec.Pos.SourceName, Text.Parsec.Pos.Line,+ Text.Parsec.Pos.Column)+30cdf4122b891cc575df90039bdcbecb+ sp_start ::+ Language.Fixpoint.Types.Spans.SrcSpan -> Text.Parsec.Pos.SourcePos+ RecSel Left Language.Fixpoint.Types.Spans.SrcSpan+30cdf4122b891cc575df90039bdcbecb+ sp_stop ::+ Language.Fixpoint.Types.Spans.SrcSpan -> Text.Parsec.Pos.SourcePos+ RecSel Left Language.Fixpoint.Types.Spans.SrcSpan+47a043c390d048496b40f51356ff8384+ srcLine ::+ Language.Fixpoint.Types.Spans.Loc a => a -> GHC.Types.Int+d78052d3b064337bc822cf68e5d2fd66+ toSourcePos ::+ (Text.Parsec.Pos.SourceName, Text.Parsec.Pos.Line,+ Text.Parsec.Pos.Column)+ -> Text.Parsec.Pos.SourcePos+98c2e3118bdcfbfec2dfd5f953f55cfd+ val :: Language.Fixpoint.Types.Spans.Located a -> a+ RecSel Left Language.Fixpoint.Types.Spans.Located+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fBinaryLocated+instance [orphan] Data.Binary.Class.Binary [Text.Parsec.Pos.SourcePos]+ = Language.Fixpoint.Types.Spans.$fBinarySourcePos+instance Data.Data.Data [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fDataLocated+instance Data.Data.Data [Language.Fixpoint.Types.Spans.SrcSpan]+ = Language.Fixpoint.Types.Spans.$fDataSrcSpan+instance GHC.Classes.Eq [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fEqLocated+instance GHC.Classes.Eq [Language.Fixpoint.Types.Spans.SrcSpan]+ = Language.Fixpoint.Types.Spans.$fEqSrcSpan+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fFixpointLocated+instance [orphan] Language.Fixpoint.Types.PrettyPrint.Fixpoint [Text.Parsec.Pos.SourcePos]+ = Language.Fixpoint.Types.Spans.$fFixpointSourcePos+instance Data.Foldable.Foldable [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fFoldableLocated+instance GHC.Base.Functor [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fFunctorLocated+instance GHC.Generics.Generic [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fGenericLocated+instance GHC.Generics.Generic [Language.Fixpoint.Types.Spans.SrcSpan]+ = Language.Fixpoint.Types.Spans.$fGenericSrcSpan+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fHashableLocated+instance [orphan] Data.Hashable.Class.Hashable [Text.Parsec.Pos.SourcePos]+ = Language.Fixpoint.Types.Spans.$fHashableSourcePos+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Spans.SrcSpan]+ = Language.Fixpoint.Types.Spans.$fHashableSrcSpan+instance Data.String.IsString [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fIsStringLocated+instance Language.Fixpoint.Types.Spans.Loc [()]+ = Language.Fixpoint.Types.Spans.$fLoc()+instance Language.Fixpoint.Types.Spans.Loc [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fLocLocated+instance Language.Fixpoint.Types.Spans.Loc [Text.Parsec.Pos.SourcePos]+ = Language.Fixpoint.Types.Spans.$fLocSourcePos+instance Language.Fixpoint.Types.Spans.Loc [Language.Fixpoint.Types.Spans.SrcSpan]+ = Language.Fixpoint.Types.Spans.$fLocSrcSpan+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fNFDataLocated+instance [orphan] Control.DeepSeq.NFData [Text.Parsec.Pos.SourcePos]+ = Language.Fixpoint.Types.Spans.$fNFDataSourcePos+instance GHC.Classes.Ord [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fOrdLocated+instance GHC.Classes.Ord [Language.Fixpoint.Types.Spans.SrcSpan]+ = Language.Fixpoint.Types.Spans.$fOrdSrcSpan+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fPPrintLocated+instance [orphan] Language.Fixpoint.Types.PrettyPrint.PPrint [Text.Parsec.Pos.SourcePos]+ = Language.Fixpoint.Types.Spans.$fPPrintSourcePos+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Spans.SrcSpan]+ = Language.Fixpoint.Types.Spans.$fPPrintSrcSpan+instance [orphan] Data.Serialize.Serialize [Text.Parsec.Pos.SourcePos]+ = Language.Fixpoint.Types.Spans.$fSerializeSourcePos+instance Data.Serialize.Serialize [Language.Fixpoint.Types.Spans.SrcSpan]+ = Language.Fixpoint.Types.Spans.$fSerializeSrcSpan+instance GHC.Show.Show [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fShowLocated+instance GHC.Show.Show [Language.Fixpoint.Types.Spans.SrcSpan]+ = Language.Fixpoint.Types.Spans.$fShowSrcSpan+instance Data.Traversable.Traversable [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.$fTraversableLocated+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Spans.SrcSpan]+ = Language.Fixpoint.Types.Spans.Rep_SrcSpan+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Spans.Located]+ = Language.Fixpoint.Types.Spans.Rep_Located+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,373 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:32.476494 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions [orphan module] 8065+ interface hash: 03e4ca5bdd9c38d139a02883cc657327+ ABI hash: 68389730f57eb1bd783731c1e8e83435+ export-list hash: 49819ba83f4a612781a90fc7826a8b86+ orphan hash: 67388474745ee5eef32ebb05c489d239+ flag hash: 44f8084eb2d604b2f2a980aeb95a89a5+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Substitutions.filterSubst+ Language.Fixpoint.Types.Substitutions.isEmptySubst+ Language.Fixpoint.Types.Substitutions.mkSubst+ Language.Fixpoint.Types.Substitutions.subst1Except+ Language.Fixpoint.Types.Substitutions.substExcept+ Language.Fixpoint.Types.Substitutions.substfExcept+ Language.Fixpoint.Types.Substitutions.targetSubstSyms+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Types.Names Language.Fixpoint.Types.PrettyPrint+ Language.Fixpoint.Types.Refinements Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:Text.Printf d9e1f32eb8aa55bafa1cf4360210b275+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ errorstar e47c2d482124b43e020a405f809adcff+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ exports: 45d7959603a132b65636c5a341548000+ Symbol 3f986d27cdf6315dd770c516fc00a643+ dummySymbol 511b7e2d64aed867c4c005991f9f72f8+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ pprintTidy bf75bee99d55ab15929b450195e64f3c+ showFix 3e850f4dba10210e482ff12d7ed17f7e+ toFix 9b9c41ae3aa868a1e0f4e73cde8032e0+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ exports: c373b88351492ec6aa75dffded20541a+ EApp 54242238b0fd99173645e603ea6a95e1+ EBin 584c6077045554d53d7c9a89592b60d3+ ECoerc d62592d9495e238bd832577950db4048+ ECst 77d8fb760e457bfd124c455ed691c864+ EIte bcb7471d1eafba69c1a57099f120b1bb+ ELam e0029a0f9c90cfaf5ca8a8fc8de8a995+ ENeg c7c4772e5c9c737684dc4ada02f5ae77+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Expr 58dd7eff6040aa97f060415235c6cb01+ PAll 95061dd88b416f835271772df1b74807+ PAnd 668269c725f0f517f2cefead144acbec+ PAtom efd69e8b2834a0937ec103ca6d2f2b7d+ PExist c6ca2ca0202788949bf0d916db637f7a+ PGrad 550de568c0242ed5fa6ef66e4aa1194d+ PIff 2a17d6131a34fb2676761302524edfd8+ PImp 71d909aca81df6b76b372b30b2979f8d+ PKVar 00776deded6bdc1a9b45a9cd2ff73aa5+ PNot dd52d33c67ccd94ba2b9bc2daaf6153f+ POr 8896d8a5009f7964d0fb6a9c72eaff6c+ PTrue 1c366fec6a192dc993b90d2b711bd4f4+ RR bc18741bade52dfcbbbc2473e1b91821+ Reft 11628612f280bce553f9c182ec061ec6+ Reft 58dd7eff6040aa97f060415235c6cb01+ Reftable 738eabb2ee802fda7927d4314d5a74cc+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ Su c7f0aa4f362b23d4096b7fbf274dffd0+ Subable 60165a51c7f24051113a59802b59cd27+ Subst 58dd7eff6040aa97f060415235c6cb01+ conjuncts 62dbde6d56cf10a600838f12dff254d8+ falseReft 56dc7aa135c7f2cf2d6085fd13aa9f31+ flattenRefas b8215ffd161e9bc87acce9aab28f717b+ isTauto 2fb0b34f6b8aac8f204ebb27337a74a2+ isTautoPred b0ebfe363526526426c55e6ea6cc9f4d+ pAnd d997a1bd3b1f67d4020526858eca07c4+ ppTy 8a7045fe2d62924c4098d577aeba3312+ pprintReft 3e88a67daabcdb054a134b4aadd1cb16+ reftPred 9d7b055289a88730385e70810b114b97+ sr_reft 58dd7eff6040aa97f060415235c6cb01+ sr_sort 58dd7eff6040aa97f060415235c6cb01+ subst 8dc51beb28f3e734b2b3097edf7df9c8+ subst1 32fda17df52baa2dc57c3f6fcba8c1ae+ substa 4128f370b0314e7d7d083d0dc7d38a4c+ substf 2a7829ff8a455a2f5d2182c05514a458+ syms cedb5518769db9d49f4ce507184c5e1f+ toReft 77e93efea506581a890f1bcdd406ae31+ trueReft b1755155d9be8c8f361db2f542991fc4+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ exports: b866d80011faf2d8f77449fdc11dc733+ Sort 30d6fd7d99459ff88296e3b55c87b46c+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+ae1e1d3d04fd3f5f35c38072f47679b3+ $fFixpointReft ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Refinements.Reft+ DFunId+8e8b81889248d84d298fa469ea1c0e0d+ $fFixpointSortedReft ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+1fdae0a326baa1063cb6b634fc54f1dd+ $fMonoidExpr ::+ GHC.Base.Monoid Language.Fixpoint.Types.Refinements.Expr+ DFunId+766c52f37921b6cdb37f19ac244eda82+ $fMonoidReft ::+ GHC.Base.Monoid Language.Fixpoint.Types.Refinements.Reft+ DFunId+8b20eba8bc4ee989752ce60a5c49cf98+ $fMonoidSortedReft ::+ GHC.Base.Monoid Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+6f5b512e55729719012286d5a7df4656+ $fMonoidSubst ::+ GHC.Base.Monoid Language.Fixpoint.Types.Refinements.Subst+ DFunId+9d957d62bdf4a588f275b68b4ef7fe37+ $fPPrintReft ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Refinements.Reft+ DFunId+86ed8d11acfd54e7e6deffdc337f12b6+ $fPPrintSortedReft ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+e2f31c0ccbd00f69947c2f4e05951939+ $fReftable() :: Language.Fixpoint.Types.Refinements.Reftable ()+ DFunId+af604a6ef52b6a0163903219b5714ff8+ $fReftableReft ::+ Language.Fixpoint.Types.Refinements.Reftable+ Language.Fixpoint.Types.Refinements.Reft+ DFunId+a709e08568f87657fcc875b0e1977449+ $fReftableSortedReft ::+ Language.Fixpoint.Types.Refinements.Reftable+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+048234c4ca0f2cc9116698f55ef662f9+ $fSemigroupExpr ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Refinements.Expr+ DFunId+e59c4d70162ad06fcd33252726cdf880+ $fSemigroupReft ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Refinements.Reft+ DFunId+769edeb9be93bc3b693df0e8631fa196+ $fSemigroupSortedReft ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+24da7a6a00a40dc2c966e0634e530bb2+ $fSemigroupSubst ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Refinements.Subst+ DFunId+a2207580036546c7c9de84832319eb47+ $fShowReft ::+ GHC.Show.Show Language.Fixpoint.Types.Refinements.Reft+ DFunId+c70bdc8b5097e9af3da2b1c9a21d814a+ $fShowSortedReft ::+ GHC.Show.Show Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+54e19a77088452f61bf78a9f374a69a2+ $fSubable() :: Language.Fixpoint.Types.Refinements.Subable ()+ DFunId+1969ad72a568a46de12a373a0a24c800+ $fSubable(,) ::+ (Language.Fixpoint.Types.Refinements.Subable a,+ Language.Fixpoint.Types.Refinements.Subable b) =>+ Language.Fixpoint.Types.Refinements.Subable (a, b)+ DFunId+dd2e5e7e65b9b891cfc6629bad629934+ $fSubableExpr ::+ Language.Fixpoint.Types.Refinements.Subable+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+def2c1facc7a827293f0d167809c7918+ $fSubableHashMap ::+ Language.Fixpoint.Types.Refinements.Subable a =>+ Language.Fixpoint.Types.Refinements.Subable+ (Data.HashMap.Base.HashMap k a)+ DFunId+bf7d6c2bc5d0ec360f561abab0b0749e+ $fSubableMaybe ::+ Language.Fixpoint.Types.Refinements.Subable a =>+ Language.Fixpoint.Types.Refinements.Subable (GHC.Maybe.Maybe a)+ DFunId+ad5a136caacbd0785b7f08d3d1b50f9b+ $fSubableReft ::+ Language.Fixpoint.Types.Refinements.Subable+ Language.Fixpoint.Types.Refinements.Reft+ DFunId+b155157508fb72ed7e03f059a65e62d9+ $fSubableSortedReft ::+ Language.Fixpoint.Types.Refinements.Subable+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+5f706aec5db36d1a5f204902f2fb964c+ $fSubableSymbol ::+ Language.Fixpoint.Types.Refinements.Subable+ Language.Fixpoint.Types.Names.Symbol+ DFunId+0a44982ec5e57308b1f74d2e62efad16+ $fSubable[] ::+ Language.Fixpoint.Types.Refinements.Subable a =>+ Language.Fixpoint.Types.Refinements.Subable [a]+ DFunId+2234f7c84fcd380066219e63ba58616a+ $trModule :: GHC.Types.Module+a8845b356747c805d1596dd5efe45eb4+ filterSubst ::+ (Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Refinements.Expr -> GHC.Types.Bool)+ -> Language.Fixpoint.Types.Refinements.Subst+ -> Language.Fixpoint.Types.Refinements.Subst+b3b6c49fe47730d145bb45f196f54731+ isEmptySubst ::+ Language.Fixpoint.Types.Refinements.Subst -> GHC.Types.Bool+fa0e5a33f52a68ffd2f44ba8a067ca8c+ mkSubst ::+ [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.Expr)]+ -> Language.Fixpoint.Types.Refinements.Subst+ae4e04a9fe86d9ade3f611535a7f260c+ subst1Except ::+ Language.Fixpoint.Types.Refinements.Subable a =>+ [Language.Fixpoint.Types.Names.Symbol]+ -> a+ -> (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.Expr)+ -> a+1abce49e4e9f05aaea7ec2f0c6647e6f+ substExcept ::+ Language.Fixpoint.Types.Refinements.Subst+ -> [Language.Fixpoint.Types.Names.Symbol]+ -> Language.Fixpoint.Types.Refinements.Subst+016109889f0d23092e34c94006e42bbc+ substfExcept ::+ (Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Refinements.Expr)+ -> [Language.Fixpoint.Types.Names.Symbol]+ -> Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Refinements.Expr+f91740e29436bd17eec2f55bb31a870d+ targetSubstSyms ::+ Language.Fixpoint.Types.Refinements.Subst+ -> [Language.Fixpoint.Types.Names.Symbol]+instance [orphan] Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Substitutions.$fFixpointReft+instance [orphan] Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Substitutions.$fFixpointSortedReft+instance [orphan] GHC.Base.Monoid [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Substitutions.$fMonoidExpr+instance [orphan] GHC.Base.Monoid [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Substitutions.$fMonoidReft+instance [orphan] GHC.Base.Monoid [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Substitutions.$fMonoidSortedReft+instance [orphan] GHC.Base.Monoid [Language.Fixpoint.Types.Refinements.Subst]+ = Language.Fixpoint.Types.Substitutions.$fMonoidSubst+instance [orphan] Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Substitutions.$fPPrintReft+instance [orphan] Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Substitutions.$fPPrintSortedReft+instance [orphan] Language.Fixpoint.Types.Refinements.Reftable [()]+ = Language.Fixpoint.Types.Substitutions.$fReftable()+instance [orphan] Language.Fixpoint.Types.Refinements.Reftable [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Substitutions.$fReftableReft+instance [orphan] Language.Fixpoint.Types.Refinements.Reftable [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Substitutions.$fReftableSortedReft+instance [orphan] GHC.Base.Semigroup [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Substitutions.$fSemigroupExpr+instance [orphan] GHC.Base.Semigroup [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Substitutions.$fSemigroupReft+instance [orphan] GHC.Base.Semigroup [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Substitutions.$fSemigroupSortedReft+instance [orphan] GHC.Base.Semigroup [Language.Fixpoint.Types.Refinements.Subst]+ = Language.Fixpoint.Types.Substitutions.$fSemigroupSubst+instance [orphan] GHC.Show.Show [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Substitutions.$fShowReft+instance [orphan] GHC.Show.Show [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Substitutions.$fShowSortedReft+instance [orphan] Language.Fixpoint.Types.Refinements.Subable [()]+ = Language.Fixpoint.Types.Substitutions.$fSubable()+instance [orphan] Language.Fixpoint.Types.Refinements.Subable [(,)]+ = Language.Fixpoint.Types.Substitutions.$fSubable(,)+instance [orphan] Language.Fixpoint.Types.Refinements.Subable [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Substitutions.$fSubableExpr+instance [orphan] Language.Fixpoint.Types.Refinements.Subable [Data.HashMap.Base.HashMap]+ = Language.Fixpoint.Types.Substitutions.$fSubableHashMap+instance [orphan] Language.Fixpoint.Types.Refinements.Subable [GHC.Maybe.Maybe]+ = Language.Fixpoint.Types.Substitutions.$fSubableMaybe+instance [orphan] Language.Fixpoint.Types.Refinements.Subable [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Substitutions.$fSubableReft+instance [orphan] Language.Fixpoint.Types.Refinements.Subable [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Substitutions.$fSubableSortedReft+instance [orphan] Language.Fixpoint.Types.Refinements.Subable [Language.Fixpoint.Types.Names.Symbol]+ = Language.Fixpoint.Types.Substitutions.$fSubableSymbol+instance [orphan] Language.Fixpoint.Types.Refinements.Subable [[]]+ = Language.Fixpoint.Types.Substitutions.$fSubable[]+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,202 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:32.224666 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Templates 8065+ interface hash: 0c8afa53a24e9b7a2f996975e57e4f2c+ ABI hash: 46d5acca1a4b5a91c1a3f7aba53b295b+ export-list hash: 3b06582f59435b3bf7b3ebed147e24cf+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 44f8084eb2d604b2f2a980aeb95a89a5+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Templates.anything+ Language.Fixpoint.Types.Templates.isAnyTemplates+ Language.Fixpoint.Types.Templates.isEmptyTemplates+ Language.Fixpoint.Types.Templates.makeTemplates+ Language.Fixpoint.Types.Templates.matchesTemplates+ Language.Fixpoint.Types.Templates.HasTemplates|{Language.Fixpoint.Types.Templates.filterUnMatched}+ Language.Fixpoint.Types.Templates.Templates+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Types.Names Language.Fixpoint.Types.PrettyPrint+ Language.Fixpoint.Types.Refinements Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ exports: 45d7959603a132b65636c5a341548000+ Symbol 3f986d27cdf6315dd770c516fc00a643+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ exports: c373b88351492ec6aa75dffded20541a+ EApp 54242238b0fd99173645e603ea6a95e1+ EBin 584c6077045554d53d7c9a89592b60d3+ ECoerc d62592d9495e238bd832577950db4048+ ECst 77d8fb760e457bfd124c455ed691c864+ EIte bcb7471d1eafba69c1a57099f120b1bb+ ELam e0029a0f9c90cfaf5ca8a8fc8de8a995+ ENeg c7c4772e5c9c737684dc4ada02f5ae77+ ETAbs 6c85c26f9de90ebed31639fcdf59cab4+ ETApp c6b0114335eb572da40fed762c8d9566+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Expr 58dd7eff6040aa97f060415235c6cb01+ PAll 95061dd88b416f835271772df1b74807+ PAnd 668269c725f0f517f2cefead144acbec+ PAtom efd69e8b2834a0937ec103ca6d2f2b7d+ PExist c6ca2ca0202788949bf0d916db637f7a+ PGrad 550de568c0242ed5fa6ef66e4aa1194d+ PIff 2a17d6131a34fb2676761302524edfd8+ PImp 71d909aca81df6b76b372b30b2979f8d+ PNot dd52d33c67ccd94ba2b9bc2daaf6153f+ POr 8896d8a5009f7964d0fb6a9c72eaff6c+ Reft 11628612f280bce553f9c182ec061ec6+ Reft 58dd7eff6040aa97f060415235c6cb01+ conjuncts 62dbde6d56cf10a600838f12dff254d8+ pAnd d997a1bd3b1f67d4020526858eca07c4+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+660a52dc43a23478cbacb71c8fa43325+ $fHasTemplatesExpr ::+ Language.Fixpoint.Types.Templates.HasTemplates+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+660a52dc43a23478cbacb71c8fa43325+ $fHasTemplatesReft ::+ Language.Fixpoint.Types.Templates.HasTemplates+ Language.Fixpoint.Types.Refinements.Reft+ DFunId+fb08dfdab4ffd26b5783b1ac17035eef+ $fMonoidTemplates ::+ GHC.Base.Monoid Language.Fixpoint.Types.Templates.Templates+ DFunId+fb08dfdab4ffd26b5783b1ac17035eef+ $fPPrintTemplates ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Templates.Templates+ DFunId+fb08dfdab4ffd26b5783b1ac17035eef+ $fSemigroupTemplates ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Templates.Templates+ DFunId+fb08dfdab4ffd26b5783b1ac17035eef+ $fShowTemplates ::+ GHC.Show.Show Language.Fixpoint.Types.Templates.Templates+ DFunId+009263abd3b811d859801e6d96e719f7+ $tc'C:HasTemplates :: GHC.Types.TyCon+711031fda67afec1fc6866413e35dc95+ $tc'TAll :: GHC.Types.TyCon+9263b1b98addcdfbd0d3eadfa8ab6576+ $tc'TExprs :: GHC.Types.TyCon+61980817ef5bfcad5470a00a650a6092+ $tcHasTemplates :: GHC.Types.TyCon+21b0200ed1c57cd959babebb7eb23634+ $tcTemplates :: GHC.Types.TyCon+5f54d32b76e909652c47fd64c52bd704+ $trModule :: GHC.Types.Module+660a52dc43a23478cbacb71c8fa43325+ class HasTemplates a where+ filterUnMatched :: Language.Fixpoint.Types.Templates.Templates+ -> a -> a+ {-# MINIMAL filterUnMatched #-}+ee2d93f68a4c62ab29dbb173333b09f9+ type Template =+ ([Language.Fixpoint.Types.Names.Symbol],+ Language.Fixpoint.Types.Refinements.Expr)+fb08dfdab4ffd26b5783b1ac17035eef+ data Templates+ = TAll | TExprs [Language.Fixpoint.Types.Templates.Template]+9aaf6a46604fa305619494f0280aa3a6+ anything :: Language.Fixpoint.Types.Templates.Templates+2fd54a198041f591e483db629d06c319+ isAnyTemplates ::+ Language.Fixpoint.Types.Templates.Templates -> GHC.Types.Bool+c7704877ac90a273313391b775ed39b4+ isEmptyTemplates ::+ Language.Fixpoint.Types.Templates.Templates -> GHC.Types.Bool+39a85ec15979bb7c860b36de82cd23f4+ makeTemplates ::+ [([Language.Fixpoint.Types.Names.Symbol],+ Language.Fixpoint.Types.Refinements.Expr)]+ -> Language.Fixpoint.Types.Templates.Templates+4e49672162582bf33808ba473a2e2947+ matchesTemplates ::+ Language.Fixpoint.Types.Templates.Templates+ -> Language.Fixpoint.Types.Refinements.Expr -> GHC.Types.Bool+instance Language.Fixpoint.Types.Templates.HasTemplates [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Templates.$fHasTemplatesExpr+instance Language.Fixpoint.Types.Templates.HasTemplates [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Templates.$fHasTemplatesReft+instance GHC.Base.Monoid [Language.Fixpoint.Types.Templates.Templates]+ = Language.Fixpoint.Types.Templates.$fMonoidTemplates+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Templates.Templates]+ = Language.Fixpoint.Types.Templates.$fPPrintTemplates+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Templates.Templates]+ = Language.Fixpoint.Types.Templates.$fSemigroupTemplates+instance GHC.Show.Show [Language.Fixpoint.Types.Templates.Templates]+ = Language.Fixpoint.Types.Templates.$fShowTemplates+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,795 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:34.615181 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories [family instance module] 8065+ interface hash: 15748e22b144467ec4a4f583f1e60f62+ ABI hash: 2d31db6b0cdc7b0f2231db238b021516+ export-list hash: a69c86f8cdfe4a6b4b2b705830bc822b+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: a8d312fd55b5f61264898b19cf4e15f8+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Theories.insertSymEnv+ Language.Fixpoint.Types.Theories.insertsSymEnv+ Language.Fixpoint.Types.Theories.isIntSmtSort+ Language.Fixpoint.Types.Theories.sortSmtSort+ Language.Fixpoint.Types.Theories.symEnv+ Language.Fixpoint.Types.Theories.symEnvSort+ Language.Fixpoint.Types.Theories.symEnvTheory+ Language.Fixpoint.Types.Theories.symbolAtName+ Language.Fixpoint.Types.Theories.symbolAtSmtName+ Language.Fixpoint.Types.Theories.Raw+ Language.Fixpoint.Types.Theories.Sem{Language.Fixpoint.Types.Theories.Ctor Language.Fixpoint.Types.Theories.Field Language.Fixpoint.Types.Theories.Test Language.Fixpoint.Types.Theories.Theory Language.Fixpoint.Types.Theories.Uninterp}+ Language.Fixpoint.Types.Theories.SmtSort{Language.Fixpoint.Types.Theories.SBitVec Language.Fixpoint.Types.Theories.SBool Language.Fixpoint.Types.Theories.SData Language.Fixpoint.Types.Theories.SInt Language.Fixpoint.Types.Theories.SMap Language.Fixpoint.Types.Theories.SReal Language.Fixpoint.Types.Theories.SSet Language.Fixpoint.Types.Theories.SString Language.Fixpoint.Types.Theories.SVar}+ Language.Fixpoint.Types.Theories.SymEnv{Language.Fixpoint.Types.Theories.SymEnv seAppls seData seLits seSort seTheory}+ Language.Fixpoint.Types.Theories.TheorySymbol{Language.Fixpoint.Types.Theories.Thy tsInterp tsRaw tsSort tsSym}+module dependencies: Language.Fixpoint.Misc+ 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+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Data 2949b01dc3799f9122535900668dfcef+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Typeable 1095be85dd9009a6503a3981a259490e+import -/ base-4.12.0.0:Data.Typeable.Internal e1cb15df401654131814917774d4d7ed+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ binary-0.8.6.0:Data.Binary 47a89cefaa44e49e7fd21d133fce6a7e+import -/ binary-0.8.6.0:Data.Binary.Class 4a00b809573ad7c27e489f5b66886719+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ hashable-1.2.7.0:Data.Hashable 52de7ce057cbb2207689571a9d126e28+import -/ hashable-1.2.7.0:Data.Hashable.Class b7859f24482b682acf3c154276b2252b+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ intersperse 3560fd9d33e532745e7669346fe553d7+ sortNub 7d73d874da71f31bd97dc544f8572fc4+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ exports: ab8867d60d15ba2af38632b8e3ed1bf3+ SEnv 7b76b1b3898bd64fc8c2187c261c0f80+ emptySEnv 9f2c7c962f68c35c8835c06a06f1db76+ fromListSEnv 22654f2135f1b607f7ee82962c09eb4c+ insertSEnv 4288c53866870f2766a71eff8924b8fb+ lookupSEnv 94599d47b6378649795b045198f42e89+ unionSEnv 9082cf3e67e0349ea8ea2b1196c1cc9c+import -/ Language.Fixpoint.Types.Errors 31e8527559b26e3ce8fcf2acaba869c3+ exports: 89a9dc85e57ecc980170ae7cb32d2921+ panic 87059ab6cc1a67158dab0a23bc2c22e7+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ exports: 45d7959603a132b65636c5a341548000+ Symbol 3f986d27cdf6315dd770c516fc00a643+ Symbolic 2eef5be3f02dd72d878415fe4e78ea18+ bitVecName 00019ed7902409f02e42ac9147024c0f+ intSymbol a4ae136aedf5d0fada743997e9c6751f+ mapConName d689532bc106bd19f9aeb509fed810cd+ setConName 3b13e60e763424621a6d71f4ff2b3095+ symbol 8093c1d4f5a85b247a3a96c3fce3245c+ toIntName 324143c445406dc6dceb017ac99fb75a+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ Fixpoint 98d26628e0637967f879c1c12cfa20b7+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ Tidy 222d036ecc7fd8f220064937c0399cf9+ pprint 955dc9d031db587300edf6146ac33be4+ pprintTidy bf75bee99d55ab15929b450195e64f3c+ showpp a9f79fc9a75f72593341c16b4b8ac492+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ exports: b866d80011faf2d8f77449fdc11dc733+ DataDecl 90984d28a9f3c849d44b1ec37334f5cb+ FFunc a2098452dd53c51f7531db6145200e8d+ FInt feec19063de9031ab717875a0a60c7b0+ FReal 39b6469449782575f5c1edbea6d3e1cc+ FTC e5d6113e0ae80db3702c5a83dedd8a7f+ FTycon 30d6fd7d99459ff88296e3b55c87b46c+ FVar a3c34a432d4203ec59fb1483b26cb260+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ boolSort 05be9e1ff80dff4f05fc2d8105076210+ ddVars 90984d28a9f3c849d44b1ec37334f5cb+ isString 3c267f62fc9e05bc4e545153ea826927+ mkFFunc 7fc888cdee141d3972072d0738f6e6fc+ sizeBv 23d61dced12a09cf4058ece06537f20a+ sortAbs c41d144241671a33236cba3988331ef8+ unAbs ef7ce18bc22737d17abae86be1111da1+ unFApp f4945d2eb7df5bb40d6a2a87a5c0fdb7+import -/ Text.PrettyPrint.HughesPJ.Compat 491482a68b656322a284b5eee89aaeb7+ exports: b9ce07b355a8008b66354a61d479f549+ <-> a6bccb4500bca89f567c047995747774+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ syb-0.7:Data.Generics f4bddd07fe7227d2509acad55f9ff82d+import -/ text-1.2.3.1:Data.Text.Internal.Lazy 60724f417edac0a71b3efdb9a450a954+import -/ text-1.2.3.1:Data.Text.Lazy 5dfd4775189d1cf6b5f168bbf44e9081+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+810e2965561391114a602ece3df70281+ $fBinarySem ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Theories.Sem+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fBinarySmtSort ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Theories.SmtSort+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fBinarySymEnv ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Theories.SymEnv+ DFunId+810e2965561391114a602ece3df70281+ $fBinaryTheorySymbol ::+ Data.Binary.Class.Binary+ Language.Fixpoint.Types.Theories.TheorySymbol+ DFunId+810e2965561391114a602ece3df70281+ $fDataSem :: Data.Data.Data Language.Fixpoint.Types.Theories.Sem+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fDataSmtSort ::+ Data.Data.Data Language.Fixpoint.Types.Theories.SmtSort+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fDataSymEnv ::+ Data.Data.Data Language.Fixpoint.Types.Theories.SymEnv+ DFunId+810e2965561391114a602ece3df70281+ $fDataTheorySymbol ::+ Data.Data.Data Language.Fixpoint.Types.Theories.TheorySymbol+ DFunId+810e2965561391114a602ece3df70281+ $fEqSem :: GHC.Classes.Eq Language.Fixpoint.Types.Theories.Sem+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fEqSmtSort ::+ GHC.Classes.Eq Language.Fixpoint.Types.Theories.SmtSort+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fEqSymEnv ::+ GHC.Classes.Eq Language.Fixpoint.Types.Theories.SymEnv+ DFunId+810e2965561391114a602ece3df70281+ $fEqTheorySymbol ::+ GHC.Classes.Eq Language.Fixpoint.Types.Theories.TheorySymbol+ DFunId+810e2965561391114a602ece3df70281+ $fFixpointTheorySymbol ::+ Language.Fixpoint.Types.PrettyPrint.Fixpoint+ Language.Fixpoint.Types.Theories.TheorySymbol+ DFunId+810e2965561391114a602ece3df70281+ $fGenericSem ::+ GHC.Generics.Generic Language.Fixpoint.Types.Theories.Sem+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fGenericSmtSort ::+ GHC.Generics.Generic Language.Fixpoint.Types.Theories.SmtSort+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fGenericSymEnv ::+ GHC.Generics.Generic Language.Fixpoint.Types.Theories.SymEnv+ DFunId+810e2965561391114a602ece3df70281+ $fGenericTheorySymbol ::+ GHC.Generics.Generic Language.Fixpoint.Types.Theories.TheorySymbol+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fHashableSmtSort ::+ Data.Hashable.Class.Hashable+ Language.Fixpoint.Types.Theories.SmtSort+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fMonoidSymEnv ::+ GHC.Base.Monoid Language.Fixpoint.Types.Theories.SymEnv+ DFunId+810e2965561391114a602ece3df70281+ $fNFDataSem ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Theories.Sem+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fNFDataSmtSort ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Theories.SmtSort+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fNFDataSymEnv ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Theories.SymEnv+ DFunId+810e2965561391114a602ece3df70281+ $fNFDataTheorySymbol ::+ Control.DeepSeq.NFData+ Language.Fixpoint.Types.Theories.TheorySymbol+ DFunId+810e2965561391114a602ece3df70281+ $fOrdSem :: GHC.Classes.Ord Language.Fixpoint.Types.Theories.Sem+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fOrdSmtSort ::+ GHC.Classes.Ord Language.Fixpoint.Types.Theories.SmtSort+ DFunId+810e2965561391114a602ece3df70281+ $fOrdTheorySymbol ::+ GHC.Classes.Ord Language.Fixpoint.Types.Theories.TheorySymbol+ DFunId+810e2965561391114a602ece3df70281+ $fPPrintSem ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Theories.Sem+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fPPrintSmtSort ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Theories.SmtSort+ DFunId+810e2965561391114a602ece3df70281+ $fPPrintTheorySymbol ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Theories.TheorySymbol+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fSemigroupSymEnv ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Theories.SymEnv+ DFunId+810e2965561391114a602ece3df70281+ $fShowSem :: GHC.Show.Show Language.Fixpoint.Types.Theories.Sem+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fShowSmtSort ::+ GHC.Show.Show Language.Fixpoint.Types.Theories.SmtSort+ DFunId+0506688674ca55c28cc4df4c4dbdb2df+ $fShowSymEnv ::+ GHC.Show.Show Language.Fixpoint.Types.Theories.SymEnv+ DFunId+810e2965561391114a602ece3df70281+ $fShowTheorySymbol ::+ GHC.Show.Show Language.Fixpoint.Types.Theories.TheorySymbol+ DFunId+e9e1ddb0534d6a0552362e634f01bde9+ $tc'Ctor :: GHC.Types.TyCon+e03ad529fb4c2a614827d64d7647a976+ $tc'Field :: GHC.Types.TyCon+6bfb3816c48f2d07ff39ba6ec39c25b4+ $tc'SBitVec :: GHC.Types.TyCon+34820e362a9554c411ec7cb5bd43f81f+ $tc'SBool :: GHC.Types.TyCon+b4de3fdd3988e532a2068d371a8b5956+ $tc'SData :: GHC.Types.TyCon+9ddcc33825ef8bb35ac5315baf08b499+ $tc'SInt :: GHC.Types.TyCon+1b761d3779d38cc42098ac099a435750+ $tc'SMap :: GHC.Types.TyCon+8200d48a10140f978984dc61e8e53daa+ $tc'SReal :: GHC.Types.TyCon+36a3b838b13dd0797fd0c66fe74287ed+ $tc'SSet :: GHC.Types.TyCon+6d235bcb4b4c537f65a899c9617fed17+ $tc'SString :: GHC.Types.TyCon+30fc68cad410ec0b6d75b3592ba42134+ $tc'SVar :: GHC.Types.TyCon+9ecf4c7509d73d29157f7a0079f19d05+ $tc'SymEnv :: GHC.Types.TyCon+a9abf8cd551861d2cde7dbf9f2f9cbd7+ $tc'Test :: GHC.Types.TyCon+6f5455c5f1defd8d48c2608d13900099+ $tc'Theory :: GHC.Types.TyCon+5915c2d0be3098f35436ecdeed5c87bf+ $tc'Thy :: GHC.Types.TyCon+fbea8a03a7e3b8585c10dd989fd14d12+ $tc'Uninterp :: GHC.Types.TyCon+5369726de153787aa7099b665c4a700c+ $tcSem :: GHC.Types.TyCon+5c10e0f01f4819b21fd4ebfacb5f5495+ $tcSmtSort :: GHC.Types.TyCon+6ae6fa8c6af1a906ccd4d6f50a1abe76+ $tcSymEnv :: GHC.Types.TyCon+368caf188911f32f30b4ebbe4f111fa2+ $tcTheorySymbol :: GHC.Types.TyCon+ef8986f28033b2e9e9820e08bfbb563f+ $trModule :: GHC.Types.Module+0506688674ca55c28cc4df4c4dbdb2df+ type FuncSort =+ (Language.Fixpoint.Types.Theories.SmtSort,+ Language.Fixpoint.Types.Theories.SmtSort)+a1cf5f50209455d2ca3b8e19aad75c5a+ type Raw = Data.Text.Internal.Lazy.Text+810e2965561391114a602ece3df70281+ axiom Language.Fixpoint.Types.Theories.Rep_Sem::+ GHC.Generics.Rep Language.Fixpoint.Types.Theories.Sem+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Sem"+ "Language.Fixpoint.Types.Theories"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Uninterp" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Ctor" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1)+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Test" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Field"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Theory"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ GHC.Generics.U1)))+0506688674ca55c28cc4df4c4dbdb2df+ axiom Language.Fixpoint.Types.Theories.Rep_SmtSort::+ GHC.Generics.Rep Language.Fixpoint.Types.Theories.SmtSort+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "SmtSort"+ "Language.Fixpoint.Types.Theories"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SInt" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SBool" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1)+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SReal" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SString"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ GHC.Generics.U1))+ GHC.Generics.:+: ((GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SSet" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SMap" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1)+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SBitVec"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Int))+ GHC.Generics.:+: (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SVar"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ GHC.Types.Int))+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SData"+ 'GHC.Generics.PrefixI+ 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Sorts.FTycon)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ [Language.Fixpoint.Types.Theories.SmtSort]))))))+0506688674ca55c28cc4df4c4dbdb2df+ axiom Language.Fixpoint.Types.Theories.Rep_SymEnv::+ GHC.Generics.Rep Language.Fixpoint.Types.Theories.SymEnv+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "SymEnv"+ "Language.Fixpoint.Types.Theories"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "SymEnv" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "seSort")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort))+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "seTheory")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Theories.TheorySymbol)))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "seData")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.DataDecl))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "seLits")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort))+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just+ "seAppls")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ (Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Theories.FuncSort+ GHC.Types.Int))))))+810e2965561391114a602ece3df70281+ axiom Language.Fixpoint.Types.Theories.Rep_TheorySymbol::+ GHC.Generics.Rep Language.Fixpoint.Types.Theories.TheorySymbol+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "TheorySymbol"+ "Language.Fixpoint.Types.Theories"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Thy" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "tsSym")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Names.Symbol)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "tsRaw")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Theories.Raw))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "tsSort")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Sorts.Sort)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "tsInterp")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ Language.Fixpoint.Types.Theories.Sem))))+810e2965561391114a602ece3df70281+ data Sem = Uninterp | Ctor | Test | Field | Theory+0506688674ca55c28cc4df4c4dbdb2df+ data SmtSort+ = SInt+ | SBool+ | SReal+ | SString+ | SSet+ | SMap+ | SBitVec !GHC.Types.Int+ | SVar !GHC.Types.Int+ | SData !Language.Fixpoint.Types.Sorts.FTycon+ ![Language.Fixpoint.Types.Theories.SmtSort]+0506688674ca55c28cc4df4c4dbdb2df+ data SymEnv+ = SymEnv {seSort :: !(Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort),+ seTheory :: !(Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Theories.TheorySymbol),+ seData :: !(Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.DataDecl),+ seLits :: !(Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort),+ seAppls :: !(Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Theories.FuncSort GHC.Types.Int)}+810e2965561391114a602ece3df70281+ data TheorySymbol+ = Thy {tsSym :: !Language.Fixpoint.Types.Names.Symbol,+ tsRaw :: !Language.Fixpoint.Types.Theories.Raw,+ tsSort :: !Language.Fixpoint.Types.Sorts.Sort,+ tsInterp :: !Language.Fixpoint.Types.Theories.Sem}+4e094436da1e3d3eea8a9ff801f624d5+ insertSymEnv ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Theories.SymEnv+ -> Language.Fixpoint.Types.Theories.SymEnv+bfa10c0f122029fd8b483144c484096e+ insertsSymEnv ::+ Language.Fixpoint.Types.Theories.SymEnv+ -> [(Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Sorts.Sort)]+ -> Language.Fixpoint.Types.Theories.SymEnv+041ba075145d45bba8fd02c6ed18518a+ isIntSmtSort ::+ Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.DataDecl+ -> Language.Fixpoint.Types.Sorts.Sort -> GHC.Types.Bool+0506688674ca55c28cc4df4c4dbdb2df+ seAppls ::+ Language.Fixpoint.Types.Theories.SymEnv+ -> Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Theories.FuncSort GHC.Types.Int+ RecSel Left Language.Fixpoint.Types.Theories.SymEnv+0506688674ca55c28cc4df4c4dbdb2df+ seData ::+ Language.Fixpoint.Types.Theories.SymEnv+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.DataDecl+ RecSel Left Language.Fixpoint.Types.Theories.SymEnv+0506688674ca55c28cc4df4c4dbdb2df+ seLits ::+ Language.Fixpoint.Types.Theories.SymEnv+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Types.Theories.SymEnv+0506688674ca55c28cc4df4c4dbdb2df+ seSort ::+ Language.Fixpoint.Types.Theories.SymEnv+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Types.Theories.SymEnv+0506688674ca55c28cc4df4c4dbdb2df+ seTheory ::+ Language.Fixpoint.Types.Theories.SymEnv+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Theories.TheorySymbol+ RecSel Left Language.Fixpoint.Types.Theories.SymEnv+4fef6a945014c08fdd9da90cda8a95e3+ sortSmtSort ::+ GHC.Types.Bool+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.DataDecl+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Theories.SmtSort+1992706f8fadb6cc07f433cceb88b481+ symEnv ::+ Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Theories.TheorySymbol+ -> [Language.Fixpoint.Types.Sorts.DataDecl]+ -> Language.Fixpoint.Types.Environments.SEnv+ Language.Fixpoint.Types.Sorts.Sort+ -> [Language.Fixpoint.Types.Sorts.Sort]+ -> Language.Fixpoint.Types.Theories.SymEnv+4e4e9cdbc3a9475a23f86b15dfd87974+ symEnvSort ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Theories.SymEnv+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Sorts.Sort+b4df3d48b26aea68a082338a9b46e1f3+ symEnvTheory ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Theories.SymEnv+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Theories.TheorySymbol+bd64b79fb7384a9bc331801c046897dc+ symbolAtName ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Theories.SymEnv+ -> a+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Names.Symbol+671cfc927c8973dd2b729af0d27af1b0+ symbolAtSmtName ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Theories.SymEnv+ -> a+ -> Language.Fixpoint.Types.Theories.FuncSort+ -> Language.Fixpoint.Types.Names.Symbol+810e2965561391114a602ece3df70281+ tsInterp ::+ Language.Fixpoint.Types.Theories.TheorySymbol+ -> Language.Fixpoint.Types.Theories.Sem+ RecSel Left Language.Fixpoint.Types.Theories.TheorySymbol+810e2965561391114a602ece3df70281+ tsRaw ::+ Language.Fixpoint.Types.Theories.TheorySymbol+ -> Language.Fixpoint.Types.Theories.Raw+ RecSel Left Language.Fixpoint.Types.Theories.TheorySymbol+810e2965561391114a602ece3df70281+ tsSort ::+ Language.Fixpoint.Types.Theories.TheorySymbol+ -> Language.Fixpoint.Types.Sorts.Sort+ RecSel Left Language.Fixpoint.Types.Theories.TheorySymbol+810e2965561391114a602ece3df70281+ tsSym ::+ Language.Fixpoint.Types.Theories.TheorySymbol+ -> Language.Fixpoint.Types.Names.Symbol+ RecSel Left Language.Fixpoint.Types.Theories.TheorySymbol+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Theories.Sem]+ = Language.Fixpoint.Types.Theories.$fBinarySem+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Theories.SmtSort]+ = Language.Fixpoint.Types.Theories.$fBinarySmtSort+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Theories.SymEnv]+ = Language.Fixpoint.Types.Theories.$fBinarySymEnv+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Theories.TheorySymbol]+ = Language.Fixpoint.Types.Theories.$fBinaryTheorySymbol+instance Data.Data.Data [Language.Fixpoint.Types.Theories.Sem]+ = Language.Fixpoint.Types.Theories.$fDataSem+instance Data.Data.Data [Language.Fixpoint.Types.Theories.SmtSort]+ = Language.Fixpoint.Types.Theories.$fDataSmtSort+instance Data.Data.Data [Language.Fixpoint.Types.Theories.SymEnv]+ = Language.Fixpoint.Types.Theories.$fDataSymEnv+instance Data.Data.Data [Language.Fixpoint.Types.Theories.TheorySymbol]+ = Language.Fixpoint.Types.Theories.$fDataTheorySymbol+instance GHC.Classes.Eq [Language.Fixpoint.Types.Theories.Sem]+ = Language.Fixpoint.Types.Theories.$fEqSem+instance GHC.Classes.Eq [Language.Fixpoint.Types.Theories.SmtSort]+ = Language.Fixpoint.Types.Theories.$fEqSmtSort+instance GHC.Classes.Eq [Language.Fixpoint.Types.Theories.SymEnv]+ = Language.Fixpoint.Types.Theories.$fEqSymEnv+instance GHC.Classes.Eq [Language.Fixpoint.Types.Theories.TheorySymbol]+ = Language.Fixpoint.Types.Theories.$fEqTheorySymbol+instance Language.Fixpoint.Types.PrettyPrint.Fixpoint [Language.Fixpoint.Types.Theories.TheorySymbol]+ = Language.Fixpoint.Types.Theories.$fFixpointTheorySymbol+instance GHC.Generics.Generic [Language.Fixpoint.Types.Theories.Sem]+ = Language.Fixpoint.Types.Theories.$fGenericSem+instance GHC.Generics.Generic [Language.Fixpoint.Types.Theories.SmtSort]+ = Language.Fixpoint.Types.Theories.$fGenericSmtSort+instance GHC.Generics.Generic [Language.Fixpoint.Types.Theories.SymEnv]+ = Language.Fixpoint.Types.Theories.$fGenericSymEnv+instance GHC.Generics.Generic [Language.Fixpoint.Types.Theories.TheorySymbol]+ = Language.Fixpoint.Types.Theories.$fGenericTheorySymbol+instance Data.Hashable.Class.Hashable [Language.Fixpoint.Types.Theories.SmtSort]+ = Language.Fixpoint.Types.Theories.$fHashableSmtSort+instance GHC.Base.Monoid [Language.Fixpoint.Types.Theories.SymEnv]+ = Language.Fixpoint.Types.Theories.$fMonoidSymEnv+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Theories.Sem]+ = Language.Fixpoint.Types.Theories.$fNFDataSem+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Theories.SmtSort]+ = Language.Fixpoint.Types.Theories.$fNFDataSmtSort+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Theories.SymEnv]+ = Language.Fixpoint.Types.Theories.$fNFDataSymEnv+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Theories.TheorySymbol]+ = Language.Fixpoint.Types.Theories.$fNFDataTheorySymbol+instance GHC.Classes.Ord [Language.Fixpoint.Types.Theories.Sem]+ = Language.Fixpoint.Types.Theories.$fOrdSem+instance GHC.Classes.Ord [Language.Fixpoint.Types.Theories.SmtSort]+ = Language.Fixpoint.Types.Theories.$fOrdSmtSort+instance GHC.Classes.Ord [Language.Fixpoint.Types.Theories.TheorySymbol]+ = Language.Fixpoint.Types.Theories.$fOrdTheorySymbol+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Theories.Sem]+ = Language.Fixpoint.Types.Theories.$fPPrintSem+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Theories.SmtSort]+ = Language.Fixpoint.Types.Theories.$fPPrintSmtSort+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Theories.TheorySymbol]+ = Language.Fixpoint.Types.Theories.$fPPrintTheorySymbol+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Theories.SymEnv]+ = Language.Fixpoint.Types.Theories.$fSemigroupSymEnv+instance GHC.Show.Show [Language.Fixpoint.Types.Theories.Sem]+ = Language.Fixpoint.Types.Theories.$fShowSem+instance GHC.Show.Show [Language.Fixpoint.Types.Theories.SmtSort]+ = Language.Fixpoint.Types.Theories.$fShowSmtSort+instance GHC.Show.Show [Language.Fixpoint.Types.Theories.SymEnv]+ = Language.Fixpoint.Types.Theories.$fShowSymEnv+instance GHC.Show.Show [Language.Fixpoint.Types.Theories.TheorySymbol]+ = Language.Fixpoint.Types.Theories.$fShowTheorySymbol+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Theories.SymEnv]+ = Language.Fixpoint.Types.Theories.Rep_SymEnv+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Theories.SmtSort]+ = Language.Fixpoint.Types.Theories.Rep_SmtSort+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Theories.TheorySymbol]+ = Language.Fixpoint.Types.Theories.Rep_TheorySymbol+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Theories.Sem]+ = Language.Fixpoint.Types.Theories.Rep_Sem+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,265 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:32.001002 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers [family instance module] 8065+ interface hash: f2da831115a114988e383ba7fbb930b4+ ABI hash: 8abd2355db756b37b9b5fb3b0ce44e32+ export-list hash: 2bb69e357ec17911b5073b7a3bd31064+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 27d4733cb5234a6111752e8b6f54d51b+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Triggers.defaultTrigger+ Language.Fixpoint.Types.Triggers.makeTriggers+ Language.Fixpoint.Types.Triggers.noTrigger+ Language.Fixpoint.Types.Triggers.Trigger{Language.Fixpoint.Types.Triggers.LeftHandSide Language.Fixpoint.Types.Triggers.NoTrigger}+ Language.Fixpoint.Types.Triggers.Triggered{Language.Fixpoint.Types.Triggers.TR}+module dependencies: Language.Fixpoint.Misc+ Language.Fixpoint.Types.Names Language.Fixpoint.Types.PrettyPrint+ Language.Fixpoint.Types.Refinements Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ binary-0.8.6.0:Data.Binary 47a89cefaa44e49e7fd21d133fce6a7e+import -/ binary-0.8.6.0:Data.Binary.Class 4a00b809573ad7c27e489f5b66886719+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ errorstar e47c2d482124b43e020a405f809adcff+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ pprintTidy bf75bee99d55ab15929b450195e64f3c+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ exports: c373b88351492ec6aa75dffded20541a+ ECst 77d8fb760e457bfd124c455ed691c864+ Eq 3f11ae5b47578ad5a2c554235bd0e66b+ Expr 58dd7eff6040aa97f060415235c6cb01+ PAll 95061dd88b416f835271772df1b74807+ PAtom efd69e8b2834a0937ec103ca6d2f2b7d+ PExist c6ca2ca0202788949bf0d916db637f7a+ PFalse e43985c1fbf5446eb7e361fefcd63600+ PIff 2a17d6131a34fb2676761302524edfd8+ Ueq c1bef9e1715331b850d7aab346e55603+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+d4e347d662ffae46e19beccd9e71f8e0+ $fBinaryTrigger ::+ Data.Binary.Class.Binary Language.Fixpoint.Types.Triggers.Trigger+ DFunId+d4e347d662ffae46e19beccd9e71f8e0+ $fBinaryTriggered ::+ Data.Binary.Class.Binary a =>+ Data.Binary.Class.Binary+ (Language.Fixpoint.Types.Triggers.Triggered a)+ DFunId+d4e347d662ffae46e19beccd9e71f8e0+ $fEqTrigger ::+ GHC.Classes.Eq Language.Fixpoint.Types.Triggers.Trigger+ DFunId+d4e347d662ffae46e19beccd9e71f8e0+ $fEqTriggered ::+ GHC.Classes.Eq a =>+ GHC.Classes.Eq (Language.Fixpoint.Types.Triggers.Triggered a)+ DFunId+d4e347d662ffae46e19beccd9e71f8e0+ $fFunctorTriggered ::+ GHC.Base.Functor Language.Fixpoint.Types.Triggers.Triggered+ DFunId+d4e347d662ffae46e19beccd9e71f8e0+ $fGenericTrigger ::+ GHC.Generics.Generic Language.Fixpoint.Types.Triggers.Trigger+ DFunId+d4e347d662ffae46e19beccd9e71f8e0+ $fGenericTriggered ::+ GHC.Generics.Generic (Language.Fixpoint.Types.Triggers.Triggered a)+ DFunId+d4e347d662ffae46e19beccd9e71f8e0+ $fNFDataTrigger ::+ Control.DeepSeq.NFData Language.Fixpoint.Types.Triggers.Trigger+ DFunId+d4e347d662ffae46e19beccd9e71f8e0+ $fNFDataTriggered ::+ Control.DeepSeq.NFData a =>+ Control.DeepSeq.NFData+ (Language.Fixpoint.Types.Triggers.Triggered a)+ DFunId+d4e347d662ffae46e19beccd9e71f8e0+ $fPPrintTrigger ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Types.Triggers.Trigger+ DFunId+d4e347d662ffae46e19beccd9e71f8e0+ $fPPrintTriggered ::+ Language.Fixpoint.Types.PrettyPrint.PPrint a =>+ Language.Fixpoint.Types.PrettyPrint.PPrint+ (Language.Fixpoint.Types.Triggers.Triggered a)+ DFunId+d4e347d662ffae46e19beccd9e71f8e0+ $fShowTrigger ::+ GHC.Show.Show Language.Fixpoint.Types.Triggers.Trigger+ DFunId+d4e347d662ffae46e19beccd9e71f8e0+ $fShowTriggered ::+ GHC.Show.Show a =>+ GHC.Show.Show (Language.Fixpoint.Types.Triggers.Triggered a)+ DFunId+6f0e08bf9385ff601bd30c736fd66767+ $tc'LeftHandSide :: GHC.Types.TyCon+0fc7152f627ce9212d5435290aec170d+ $tc'NoTrigger :: GHC.Types.TyCon+e2015ad559e9d3fd486fac181d3aa70d+ $tc'TR :: GHC.Types.TyCon+7403955a8b6fc78b36a800b6ffac68f7+ $tcTrigger :: GHC.Types.TyCon+d8c8d5b4fd914ae8d66cd2cb91dc63db+ $tcTriggered :: GHC.Types.TyCon+0925bacf6cc98924dcc224b39831fc10+ $trModule :: GHC.Types.Module+d4e347d662ffae46e19beccd9e71f8e0+ axiom Language.Fixpoint.Types.Triggers.Rep_Trigger::+ GHC.Generics.Rep Language.Fixpoint.Types.Triggers.Trigger+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Trigger"+ "Language.Fixpoint.Types.Triggers"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "NoTrigger" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1+ GHC.Generics.:+: GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "LeftHandSide" 'GHC.Generics.PrefixI 'GHC.Types.False)+ GHC.Generics.U1)+d4e347d662ffae46e19beccd9e71f8e0+ axiom Language.Fixpoint.Types.Triggers.Rep_Triggered::+ GHC.Generics.Rep (Language.Fixpoint.Types.Triggers.Triggered a)+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Triggered"+ "Language.Fixpoint.Types.Triggers"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "TR" 'GHC.Generics.PrefixI 'GHC.Types.False)+ (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 Language.Fixpoint.Types.Triggers.Trigger)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ 'GHC.Maybe.Nothing+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 a)))+d4e347d662ffae46e19beccd9e71f8e0+ data Trigger = NoTrigger | LeftHandSide+d4e347d662ffae46e19beccd9e71f8e0+ data Triggered a = TR Language.Fixpoint.Types.Triggers.Trigger a+4058e0f11e13b32584b6b19bdbd8c5de+ defaultTrigger :: e -> Language.Fixpoint.Types.Triggers.Triggered e+2aac80cb129f655dea3c920779f3cb46+ makeTriggers ::+ Language.Fixpoint.Types.Triggers.Triggered+ Language.Fixpoint.Types.Refinements.Expr+ -> [Language.Fixpoint.Types.Refinements.Expr]+3fdfd21876571394f38804c7b904aca5+ noTrigger :: e -> Language.Fixpoint.Types.Triggers.Triggered e+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Triggers.Trigger]+ = Language.Fixpoint.Types.Triggers.$fBinaryTrigger+instance Data.Binary.Class.Binary [Language.Fixpoint.Types.Triggers.Triggered]+ = Language.Fixpoint.Types.Triggers.$fBinaryTriggered+instance GHC.Classes.Eq [Language.Fixpoint.Types.Triggers.Trigger]+ = Language.Fixpoint.Types.Triggers.$fEqTrigger+instance GHC.Classes.Eq [Language.Fixpoint.Types.Triggers.Triggered]+ = Language.Fixpoint.Types.Triggers.$fEqTriggered+instance GHC.Base.Functor [Language.Fixpoint.Types.Triggers.Triggered]+ = Language.Fixpoint.Types.Triggers.$fFunctorTriggered+instance GHC.Generics.Generic [Language.Fixpoint.Types.Triggers.Trigger]+ = Language.Fixpoint.Types.Triggers.$fGenericTrigger+instance GHC.Generics.Generic [Language.Fixpoint.Types.Triggers.Triggered]+ = Language.Fixpoint.Types.Triggers.$fGenericTriggered+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Triggers.Trigger]+ = Language.Fixpoint.Types.Triggers.$fNFDataTrigger+instance Control.DeepSeq.NFData [Language.Fixpoint.Types.Triggers.Triggered]+ = Language.Fixpoint.Types.Triggers.$fNFDataTriggered+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Triggers.Trigger]+ = Language.Fixpoint.Types.Triggers.$fPPrintTrigger+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Types.Triggers.Triggered]+ = Language.Fixpoint.Types.Triggers.$fPPrintTriggered+instance GHC.Show.Show [Language.Fixpoint.Types.Triggers.Trigger]+ = Language.Fixpoint.Types.Triggers.$fShowTrigger+instance GHC.Show.Show [Language.Fixpoint.Types.Triggers.Triggered]+ = Language.Fixpoint.Types.Triggers.$fShowTriggered+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Triggers.Triggered]+ = Language.Fixpoint.Types.Triggers.Rep_Triggered+family instance GHC.Generics.Rep [Language.Fixpoint.Types.Triggers.Trigger]+ = Language.Fixpoint.Types.Triggers.Rep_Trigger+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,151 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:38.913208 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Utils 8065+ interface hash: caf149a947afdbec4697c4f71db75456+ ABI hash: c4558c8f9797d9736e70827b8d56a1d3+ export-list hash: e9205816eb780ec89a55756a02ecd902+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 44f8084eb2d604b2f2a980aeb95a89a5+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Utils.kvarDomain+ Language.Fixpoint.Types.Utils.reftFreeVars+ Language.Fixpoint.Types.Utils.sortedReftConcKVars+module dependencies: Language.Fixpoint.Misc+ 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.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2 unix-2.7.2.2+ unordered-containers-0.2.9.0+orphans: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ fst3 f5278b30747d6e9b343f3260d38ec0b3+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ exports: 12c9708cdb7cc8f94e739104f060796e+ SInfo 90ef96c47f269969affd7c3639af34f3+ WfC ad7a627c031dc594c719d4e423bdd067+ bs 90ef96c47f269969affd7c3639af34f3+ wenv ad7a627c031dc594c719d4e423bdd067+ wrft ad7a627c031dc594c719d4e423bdd067+ ws 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ exports: ab8867d60d15ba2af38632b8e3ed1bf3+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ envCs e423fff58f01e321ca4ef94ca8a41936+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ exports: 45d7959603a132b65636c5a341548000+ Symbol 3f986d27cdf6315dd770c516fc00a643+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ exports: c373b88351492ec6aa75dffded20541a+ KVS 93a3c362a3cff61075fd60c9e14bbc15+ KVSub d1b959feb3e6e165694f06ccc1e60f00+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ PGrad 550de568c0242ed5fa6ef66e4aa1194d+ PKVar 00776deded6bdc1a9b45a9cd2ff73aa5+ Pred 551c7d373a23dab3c0a93d27c12c8930+ Reft 11628612f280bce553f9c182ec061ec6+ Reft 58dd7eff6040aa97f060415235c6cb01+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ eVar 78f3007f3bb9a0c61a30d1ab8e58f084+ reftConjuncts 527dc5e5e7463d3cd54501ed54246c2b+ sr_reft 58dd7eff6040aa97f060415235c6cb01+ sr_sort 58dd7eff6040aa97f060415235c6cb01+ subst1 32fda17df52baa2dc57c3f6fcba8c1ae+ syms cedb5518769db9d49f4ce507184c5e1f+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+5870ed348139807182920a546980089e+ $trModule :: GHC.Types.Module+4dd9061c4d8b811598a3e279499607fc+ kvarDomain ::+ Language.Fixpoint.Types.Constraints.SInfo a+ -> Language.Fixpoint.Types.Refinements.KVar+ -> [Language.Fixpoint.Types.Names.Symbol]+6f7479b9a5de918c0c29df54be0eb764+ reftFreeVars ::+ Language.Fixpoint.Types.Refinements.Reft+ -> Data.HashSet.HashSet Language.Fixpoint.Types.Names.Symbol+acb146290271390388026ab060798d93+ sortedReftConcKVars ::+ Language.Fixpoint.Types.Names.Symbol+ -> Language.Fixpoint.Types.Refinements.SortedReft+ -> ([Language.Fixpoint.Types.Refinements.Pred],+ [Language.Fixpoint.Types.Refinements.KVSub],+ [Language.Fixpoint.Types.Refinements.KVSub])+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,528 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:39.269247 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Visitor 8065+ interface hash: 3d59429d11dd28a20b18b30bc28c7c8b+ ABI hash: f18ce5f6a562022e9c59dbca8db1edad+ export-list hash: 483fcd13e73dd85ffa64d4931a72ac90+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 7c4c731287e9eb692dd8c287947d8a8b+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Types.Visitor.applyCoSub+ Language.Fixpoint.Types.Visitor.defaultVisitor+ Language.Fixpoint.Types.Visitor.eapps+ Language.Fixpoint.Types.Visitor.envKVars+ Language.Fixpoint.Types.Visitor.envKVarsN+ Language.Fixpoint.Types.Visitor.fold+ Language.Fixpoint.Types.Visitor.foldDataDecl+ Language.Fixpoint.Types.Visitor.foldSort+ Language.Fixpoint.Types.Visitor.isConcC+ Language.Fixpoint.Types.Visitor.isKvarC+ Language.Fixpoint.Types.Visitor.kvars+ Language.Fixpoint.Types.Visitor.lamSize+ Language.Fixpoint.Types.Visitor.mapExpr+ Language.Fixpoint.Types.Visitor.mapGVars'+ Language.Fixpoint.Types.Visitor.mapKVarSubsts+ Language.Fixpoint.Types.Visitor.mapKVars+ Language.Fixpoint.Types.Visitor.mapKVars'+ Language.Fixpoint.Types.Visitor.mapMExpr+ Language.Fixpoint.Types.Visitor.mapSort+ Language.Fixpoint.Types.Visitor.rhsKVars+ Language.Fixpoint.Types.Visitor.size+ Language.Fixpoint.Types.Visitor.stripCasts+ Language.Fixpoint.Types.Visitor.trans+ Language.Fixpoint.Types.Visitor.CoSub+ Language.Fixpoint.Types.Visitor.SymConsts{Language.Fixpoint.Types.Visitor.symConsts}+ Language.Fixpoint.Types.Visitor.Visitable{Language.Fixpoint.Types.Visitor.visit}+ Language.Fixpoint.Types.Visitor.Visitor{Language.Fixpoint.Types.Visitor.Visitor accExpr ctxExpr txExpr}+module dependencies: Language.Fixpoint.Misc 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.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Utils.Files Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0 integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2+ parsec-3.1.13.0 pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3+ stm-2.5.0.0 syb-0.7 text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Semigroup 77d0b010ed701f8a1da4f6d7b4d5812e+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ <$$> f244c7fc8096aeb8cdce308fe12a467d+ count 0e218eb0bd335b3db6cb1b4f7471e024+ sortNub 7d73d874da71f31bd97dc544f8572fc4+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ AxiomEnv 90ef96c47f269969affd7c3639af34f3+ Equation 1b8c537886bd491bbeaae4b7cdcd5c8f+ GInfo 90ef96c47f269969affd7c3639af34f3+ Rewrite 7df085a191521cbf745e28451770fe1d+ SimpC 03dcffeea2a5199db7c9ff0154825bc0+ SubC 1844afeba4cbd3ee9cea173e868f8ce9+ TaggedC ec47f4df806fb3eb50e32a07ab4ee371+ _crhs 03dcffeea2a5199db7c9ff0154825bc0+ ae 90ef96c47f269969affd7c3639af34f3+ aenvEqs 90ef96c47f269969affd7c3639af34f3+ aenvSimpl 90ef96c47f269969affd7c3639af34f3+ bs 90ef96c47f269969affd7c3639af34f3+ clhs 00dbb4f04b49ed91a7500360192dbe82+ cm 90ef96c47f269969affd7c3639af34f3+ crhs 9701eec311803b00e8ff03aadeb150fa+ eqBody 1b8c537886bd491bbeaae4b7cdcd5c8f+ qBody 9aae2bcc537b45559d03a4eee2bb72e5+ quals 90ef96c47f269969affd7c3639af34f3+ slhs 1844afeba4cbd3ee9cea173e868f8ce9+ smBody 7df085a191521cbf745e28451770fe1d+ srhs 1844afeba4cbd3ee9cea173e868f8ce9+import -/ Language.Fixpoint.Types.Environments 5f649aef2fe87979164c56acf3750e20+ BindEnv 97a88bb9b7d5b682cdead95f91d87a04+ beBinds 97a88bb9b7d5b682cdead95f91d87a04+import -/ Language.Fixpoint.Types.Names 24bdf320bdb18d7e1da06545fbe0099a+ Symbol 3f986d27cdf6315dd770c516fc00a643+import -/ Language.Fixpoint.Types.Refinements e312fbfecbcc511c18b2a4b463f3a6dc+ EApp 54242238b0fd99173645e603ea6a95e1+ EBin 584c6077045554d53d7c9a89592b60d3+ ECoerc d62592d9495e238bd832577950db4048+ ECon 5baa7919e17f9fc7e290e6ec391edfe0+ ECst 77d8fb760e457bfd124c455ed691c864+ EIte bcb7471d1eafba69c1a57099f120b1bb+ ELam e0029a0f9c90cfaf5ca8a8fc8de8a995+ ENeg c7c4772e5c9c737684dc4ada02f5ae77+ ESym 1e9d62c909ab81c24aa5b70ea45dd385+ ETAbs 6c85c26f9de90ebed31639fcdf59cab4+ ETApp c6b0114335eb572da40fed762c8d9566+ EVar dbcccd19fa06e8cd413d3f8989324ef6+ Expr 58dd7eff6040aa97f060415235c6cb01+ KVar f4ebd74e51621c4f10e9fc003e3885a9+ PAll 95061dd88b416f835271772df1b74807+ PAnd 668269c725f0f517f2cefead144acbec+ PAtom efd69e8b2834a0937ec103ca6d2f2b7d+ PExist c6ca2ca0202788949bf0d916db637f7a+ PGrad 550de568c0242ed5fa6ef66e4aa1194d+ PIff 2a17d6131a34fb2676761302524edfd8+ PImp 71d909aca81df6b76b372b30b2979f8d+ PKVar 00776deded6bdc1a9b45a9cd2ff73aa5+ PNot dd52d33c67ccd94ba2b9bc2daaf6153f+ POr 8896d8a5009f7964d0fb6a9c72eaff6c+ RR bc18741bade52dfcbbbc2473e1b91821+ Reft 11628612f280bce553f9c182ec061ec6+ Reft 58dd7eff6040aa97f060415235c6cb01+ SortedReft 58dd7eff6040aa97f060415235c6cb01+ Subst 58dd7eff6040aa97f060415235c6cb01+ SymConst 70bf9d44b2d107fffacade38f4990bd9+ conjuncts 62dbde6d56cf10a600838f12dff254d8+ sr_reft 58dd7eff6040aa97f060415235c6cb01+ subst 8dc51beb28f3e734b2b3097edf7df9c8+import -/ Language.Fixpoint.Types.Sorts d0243918454a124f22fcf2431757efd6+ DataCtor 90984d28a9f3c849d44b1ec37334f5cb+ DataDecl 90984d28a9f3c849d44b1ec37334f5cb+ FAbs 8827fd69dabe452c42c2c745dfa98689+ FApp 1d71c4ce8486fd8718c15888c11af1b5+ FFunc a2098452dd53c51f7531db6145200e8d+ FObj 1bb5d6e74aaa46fc1c29e2a322aa25fa+ Sort 30d6fd7d99459ff88296e3b55c87b46c+ dcFields 90984d28a9f3c849d44b1ec37334f5cb+ ddCtors 90984d28a9f3c849d44b1ec37334f5cb+ dfSort 842b037f4a3d7555ff8e2c17ccb73443+import -/ mtl-2.2.2:Control.Monad.State.Class 243c828469104fb94563be0ea268f418+import -/ mtl-2.2.2:Control.Monad.State.Strict 002b59b64e6c924e7580467701dff139+import -/ transformers-0.5.6.2:Control.Monad.Trans.State.Strict acaa441e4b4c8edd4a30c00b2a2d825f+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+import -/ unordered-containers-0.2.9.0:Data.HashSet cbd07cbc3d5c6a0b2f41f60d9e126613+55959aac6b8d0ee02bb5d6d5b0e8ceb7+ $fMonoidMInt ::+ GHC.Base.Monoid Language.Fixpoint.Types.Visitor.MInt+ DFunId+55959aac6b8d0ee02bb5d6d5b0e8ceb7+ $fSemigroupMInt ::+ GHC.Base.Semigroup Language.Fixpoint.Types.Visitor.MInt+ DFunId+a6b45242487b1eb1d67c83e820c5232f+ $fSymConstsExpr ::+ Language.Fixpoint.Types.Visitor.SymConsts+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+a6b45242487b1eb1d67c83e820c5232f+ $fSymConstsGInfo ::+ Language.Fixpoint.Types.Visitor.SymConsts (c a) =>+ Language.Fixpoint.Types.Visitor.SymConsts+ (Language.Fixpoint.Types.Constraints.GInfo c a)+ DFunId+a6b45242487b1eb1d67c83e820c5232f+ $fSymConstsReft ::+ Language.Fixpoint.Types.Visitor.SymConsts+ Language.Fixpoint.Types.Refinements.Reft+ DFunId+a6b45242487b1eb1d67c83e820c5232f+ $fSymConstsSimpC ::+ Language.Fixpoint.Types.Visitor.SymConsts+ (Language.Fixpoint.Types.Constraints.SimpC a)+ DFunId+a6b45242487b1eb1d67c83e820c5232f+ $fSymConstsSizedEnv ::+ Language.Fixpoint.Types.Visitor.SymConsts+ Language.Fixpoint.Types.Environments.BindEnv+ DFunId+a6b45242487b1eb1d67c83e820c5232f+ $fSymConstsSortedReft ::+ Language.Fixpoint.Types.Visitor.SymConsts+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+a6b45242487b1eb1d67c83e820c5232f+ $fSymConstsSubC ::+ Language.Fixpoint.Types.Visitor.SymConsts+ (Language.Fixpoint.Types.Constraints.SubC a)+ DFunId+538848ccf7d607090eacca8d17c97af6+ $fVisitable(,) ::+ Language.Fixpoint.Types.Visitor.Visitable+ (Language.Fixpoint.Types.Names.Symbol,+ Language.Fixpoint.Types.Refinements.SortedReft)+ DFunId+538848ccf7d607090eacca8d17c97af6+ $fVisitableAxiomEnv ::+ Language.Fixpoint.Types.Visitor.Visitable+ Language.Fixpoint.Types.Constraints.AxiomEnv+ DFunId+538848ccf7d607090eacca8d17c97af6+ $fVisitableEquation ::+ Language.Fixpoint.Types.Visitor.Visitable+ Language.Fixpoint.Types.Constraints.Equation+ DFunId+538848ccf7d607090eacca8d17c97af6+ $fVisitableExpr ::+ Language.Fixpoint.Types.Visitor.Visitable+ Language.Fixpoint.Types.Refinements.Expr+ DFunId+538848ccf7d607090eacca8d17c97af6+ $fVisitableGInfo ::+ Language.Fixpoint.Types.Visitor.Visitable (c a) =>+ Language.Fixpoint.Types.Visitor.Visitable+ (Language.Fixpoint.Types.Constraints.GInfo c a)+ DFunId+538848ccf7d607090eacca8d17c97af6+ $fVisitableReft ::+ Language.Fixpoint.Types.Visitor.Visitable+ Language.Fixpoint.Types.Refinements.Reft+ DFunId+538848ccf7d607090eacca8d17c97af6+ $fVisitableRewrite ::+ Language.Fixpoint.Types.Visitor.Visitable+ Language.Fixpoint.Types.Constraints.Rewrite+ DFunId+538848ccf7d607090eacca8d17c97af6+ $fVisitableSimpC ::+ Language.Fixpoint.Types.Visitor.Visitable+ (Language.Fixpoint.Types.Constraints.SimpC a)+ DFunId+538848ccf7d607090eacca8d17c97af6+ $fVisitableSizedEnv ::+ Language.Fixpoint.Types.Visitor.Visitable+ Language.Fixpoint.Types.Environments.BindEnv+ DFunId+538848ccf7d607090eacca8d17c97af6+ $fVisitableSortedReft ::+ Language.Fixpoint.Types.Visitor.Visitable+ Language.Fixpoint.Types.Refinements.SortedReft+ DFunId+538848ccf7d607090eacca8d17c97af6+ $fVisitableSubC ::+ Language.Fixpoint.Types.Visitor.Visitable+ (Language.Fixpoint.Types.Constraints.SubC a)+ DFunId+48d5c9097ee0ae097c9ec32b58eccc8f+ $tc'C:SymConsts :: GHC.Types.TyCon+9096884b7f1c9c478fc8141ef71284a3+ $tc'MInt :: GHC.Types.TyCon+1ab994912c6d8f21c6987a6866edb4ca+ $tc'Visitor :: GHC.Types.TyCon+0b76d8e4659e9891262811e93f42db84+ $tcMInt :: GHC.Types.TyCon+2b52f4fa5b5fb8a8fb4b3549e431c619+ $tcSymConsts :: GHC.Types.TyCon+ccd7f410a13c9d9ce9d83ec6ff142fc6+ $tcVisitable :: GHC.Types.TyCon+913912f331d7f6ec0ff5a8f3c45ddff2+ $tcVisitor :: GHC.Types.TyCon+fa8a6db75f6f31b4d23032618519384d+ $trModule :: GHC.Types.Module+ae19ecb7b9cebeebc678aeb4d5e66971+ type CoSub =+ Data.HashMap.Base.HashMap+ Language.Fixpoint.Types.Names.Symbol+ Language.Fixpoint.Types.Sorts.Sort+55959aac6b8d0ee02bb5d6d5b0e8ceb7+ newtype MInt = MInt GHC.Integer.Type.Integer+a6b45242487b1eb1d67c83e820c5232f+ class SymConsts a where+ symConsts :: a -> [Language.Fixpoint.Types.Refinements.SymConst]+ {-# MINIMAL symConsts #-}+79e0b3deb238afa746360f641b4cc9ee+ type VisitM acc =+ Control.Monad.Trans.State.Strict.State acc :: * -> *+538848ccf7d607090eacca8d17c97af6+ class Visitable t where+ visit :: GHC.Base.Monoid a =>+ Language.Fixpoint.Types.Visitor.Visitor a c+ -> c -> t -> Language.Fixpoint.Types.Visitor.VisitM a t+ {-# MINIMAL visit #-}+b907595a56c63aacc071b11708504163+ data Visitor acc ctx+ = Visitor {ctxExpr :: ctx+ -> Language.Fixpoint.Types.Refinements.Expr -> ctx,+ txExpr :: ctx+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr,+ accExpr :: ctx -> Language.Fixpoint.Types.Refinements.Expr -> acc}+b907595a56c63aacc071b11708504163+ accExpr ::+ Language.Fixpoint.Types.Visitor.Visitor acc ctx+ -> ctx -> Language.Fixpoint.Types.Refinements.Expr -> acc+ RecSel Left Language.Fixpoint.Types.Visitor.Visitor+1907ecc976e7280789f011571d4309c9+ applyCoSub ::+ Language.Fixpoint.Types.Visitor.CoSub+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+b907595a56c63aacc071b11708504163+ ctxExpr ::+ Language.Fixpoint.Types.Visitor.Visitor acc ctx+ -> ctx -> Language.Fixpoint.Types.Refinements.Expr -> ctx+ RecSel Left Language.Fixpoint.Types.Visitor.Visitor+702ceebf65ec7e45cbc2b67c3c0c84d3+ defaultVisitor ::+ GHC.Base.Monoid acc =>+ Language.Fixpoint.Types.Visitor.Visitor acc ctx+287bde89c4deb7bf73c8d44f307b54f7+ eapps ::+ Language.Fixpoint.Types.Visitor.Visitable t =>+ t -> [Language.Fixpoint.Types.Refinements.Expr]+784f60e3e785577497db1a4d2900625e+ envKVars ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ Language.Fixpoint.Types.Environments.BindEnv+ -> c a -> [Language.Fixpoint.Types.Refinements.KVar]+d41a77b81a8cda60e8ad71df46f5b649+ envKVarsN ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ Language.Fixpoint.Types.Environments.BindEnv+ -> c a+ -> [(Language.Fixpoint.Types.Refinements.KVar, GHC.Types.Int)]+3ff20672dabf1b7d83dceb37cbf5293a+ fold ::+ (Language.Fixpoint.Types.Visitor.Visitable t, GHC.Base.Monoid a) =>+ Language.Fixpoint.Types.Visitor.Visitor a ctx -> ctx -> a -> t -> a+fa01ba3dae0c84e0cae8da375e05be82+ foldDataDecl ::+ (a -> Language.Fixpoint.Types.Sorts.Sort -> a)+ -> a -> Language.Fixpoint.Types.Sorts.DataDecl -> a+4addac03f919de23a8aa78ec914cc93b+ foldSort ::+ (a -> Language.Fixpoint.Types.Sorts.Sort -> a)+ -> a -> Language.Fixpoint.Types.Sorts.Sort -> a+2f660a3d29daa78cb1b3ea5a2a1db8d7+ isConcC ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ c a -> GHC.Types.Bool+ec2c3f4b035e45ed20df6c5d4f616a6c+ isKvarC ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ c a -> GHC.Types.Bool+c0e50d3c638d80582ef2ff4559ccde96+ kvars ::+ Language.Fixpoint.Types.Visitor.Visitable t =>+ t -> [Language.Fixpoint.Types.Refinements.KVar]+704f087ce4b84daca7b73940090972c4+ lamSize ::+ Language.Fixpoint.Types.Visitor.Visitable t =>+ t -> GHC.Integer.Type.Integer+5174372ce3f7640f1d33ad4800d0ce6d+ mapExpr ::+ Language.Fixpoint.Types.Visitor.Visitable t =>+ (Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr)+ -> t -> t+8c97587b713809af4b9e9ba86ff22a20+ mapGVars' ::+ Language.Fixpoint.Types.Visitor.Visitable t =>+ ((Language.Fixpoint.Types.Refinements.KVar,+ Language.Fixpoint.Types.Refinements.Subst)+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Refinements.Expr)+ -> t -> t+e04782062e21c8e7f96200bce79c4edc+ mapKVarSubsts ::+ Language.Fixpoint.Types.Visitor.Visitable t =>+ (Language.Fixpoint.Types.Refinements.KVar+ -> Language.Fixpoint.Types.Refinements.Subst+ -> Language.Fixpoint.Types.Refinements.Subst)+ -> t -> t+af441d27aeda370329d09896076c30f8+ mapKVars ::+ Language.Fixpoint.Types.Visitor.Visitable t =>+ (Language.Fixpoint.Types.Refinements.KVar+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Refinements.Expr)+ -> t -> t+6814396b5739534d36f265a08441444e+ mapKVars' ::+ Language.Fixpoint.Types.Visitor.Visitable t =>+ ((Language.Fixpoint.Types.Refinements.KVar,+ Language.Fixpoint.Types.Refinements.Subst)+ -> GHC.Maybe.Maybe Language.Fixpoint.Types.Refinements.Expr)+ -> t -> t+6293e52d58f2fec83e2af187562c44a6+ mapMExpr ::+ GHC.Base.Monad m =>+ (Language.Fixpoint.Types.Refinements.Expr+ -> m Language.Fixpoint.Types.Refinements.Expr)+ -> Language.Fixpoint.Types.Refinements.Expr+ -> m Language.Fixpoint.Types.Refinements.Expr+6348e503c5fed42606b27aaced2038fe+ mapSort ::+ (Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort)+ -> Language.Fixpoint.Types.Sorts.Sort+ -> Language.Fixpoint.Types.Sorts.Sort+c3fdeb202ac602acd77641047c2b5ffa+ rhsKVars ::+ Language.Fixpoint.Types.Constraints.TaggedC c a =>+ c a -> [Language.Fixpoint.Types.Refinements.KVar]+e20258e6177f0e053e92d5fce6e9f05f+ size ::+ Language.Fixpoint.Types.Visitor.Visitable t =>+ t -> GHC.Integer.Type.Integer+2e0061e71ddda5abcf68bb484630ae3e+ stripCasts :: Language.Fixpoint.Types.Visitor.Visitable t => t -> t+95b3f331427c9bad5e5eba78717c7663+ trans ::+ (Language.Fixpoint.Types.Visitor.Visitable t, GHC.Base.Monoid a) =>+ Language.Fixpoint.Types.Visitor.Visitor a ctx -> ctx -> a -> t -> t+b907595a56c63aacc071b11708504163+ txExpr ::+ Language.Fixpoint.Types.Visitor.Visitor acc ctx+ -> ctx+ -> Language.Fixpoint.Types.Refinements.Expr+ -> Language.Fixpoint.Types.Refinements.Expr+ RecSel Left Language.Fixpoint.Types.Visitor.Visitor+instance GHC.Base.Monoid [Language.Fixpoint.Types.Visitor.MInt]+ = Language.Fixpoint.Types.Visitor.$fMonoidMInt+instance GHC.Base.Semigroup [Language.Fixpoint.Types.Visitor.MInt]+ = Language.Fixpoint.Types.Visitor.$fSemigroupMInt+instance Language.Fixpoint.Types.Visitor.SymConsts [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Visitor.$fSymConstsExpr+instance Language.Fixpoint.Types.Visitor.SymConsts [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Visitor.$fSymConstsGInfo+instance Language.Fixpoint.Types.Visitor.SymConsts [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Visitor.$fSymConstsReft+instance Language.Fixpoint.Types.Visitor.SymConsts [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Types.Visitor.$fSymConstsSimpC+instance Language.Fixpoint.Types.Visitor.SymConsts [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Visitor.$fSymConstsSizedEnv+instance Language.Fixpoint.Types.Visitor.SymConsts [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Visitor.$fSymConstsSortedReft+instance Language.Fixpoint.Types.Visitor.SymConsts [Language.Fixpoint.Types.Constraints.SubC]+ = Language.Fixpoint.Types.Visitor.$fSymConstsSubC+instance Language.Fixpoint.Types.Visitor.Visitable [(,)]+ = Language.Fixpoint.Types.Visitor.$fVisitable(,)+instance Language.Fixpoint.Types.Visitor.Visitable [Language.Fixpoint.Types.Constraints.AxiomEnv]+ = Language.Fixpoint.Types.Visitor.$fVisitableAxiomEnv+instance Language.Fixpoint.Types.Visitor.Visitable [Language.Fixpoint.Types.Constraints.Equation]+ = Language.Fixpoint.Types.Visitor.$fVisitableEquation+instance Language.Fixpoint.Types.Visitor.Visitable [Language.Fixpoint.Types.Refinements.Expr]+ = Language.Fixpoint.Types.Visitor.$fVisitableExpr+instance Language.Fixpoint.Types.Visitor.Visitable [Language.Fixpoint.Types.Constraints.GInfo]+ = Language.Fixpoint.Types.Visitor.$fVisitableGInfo+instance Language.Fixpoint.Types.Visitor.Visitable [Language.Fixpoint.Types.Refinements.Reft]+ = Language.Fixpoint.Types.Visitor.$fVisitableReft+instance Language.Fixpoint.Types.Visitor.Visitable [Language.Fixpoint.Types.Constraints.Rewrite]+ = Language.Fixpoint.Types.Visitor.$fVisitableRewrite+instance Language.Fixpoint.Types.Visitor.Visitable [Language.Fixpoint.Types.Constraints.SimpC]+ = Language.Fixpoint.Types.Visitor.$fVisitableSimpC+instance Language.Fixpoint.Types.Visitor.Visitable [Language.Fixpoint.Types.Environments.SizedEnv]+ = Language.Fixpoint.Types.Visitor.$fVisitableSizedEnv+instance Language.Fixpoint.Types.Visitor.Visitable [Language.Fixpoint.Types.Refinements.SortedReft]+ = Language.Fixpoint.Types.Visitor.$fVisitableSortedReft+instance Language.Fixpoint.Types.Visitor.Visitable [Language.Fixpoint.Types.Constraints.SubC]+ = Language.Fixpoint.Types.Visitor.$fVisitableSubC+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,247 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:22.843401 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Utils.Files 8065+ interface hash: be8b55ae20111318469d4c2cd6d22eb6+ ABI hash: b2b779ebebf03f66af4a684b17d25d25+ export-list hash: 061e3dd63eb42c6c413f2db46ae3d0cb+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 4b16e365336fc5de55264750fcd32533+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Utils.Files.copyFiles+ Language.Fixpoint.Utils.Files.extFileName+ Language.Fixpoint.Utils.Files.extFileNameR+ Language.Fixpoint.Utils.Files.extModuleName+ Language.Fixpoint.Utils.Files.getFileInDirs+ Language.Fixpoint.Utils.Files.getFixpointPath+ Language.Fixpoint.Utils.Files.getZ3LibPath+ Language.Fixpoint.Utils.Files.isBinary+ Language.Fixpoint.Utils.Files.isExtFile+ Language.Fixpoint.Utils.Files.tempDirectory+ Language.Fixpoint.Utils.Files.withExt+ Language.Fixpoint.Utils.Files.Ext{Language.Fixpoint.Utils.Files.Annot Language.Fixpoint.Utils.Files.Auto Language.Fixpoint.Utils.Files.BinFq Language.Fixpoint.Utils.Files.BinSpec Language.Fixpoint.Utils.Files.Cache Language.Fixpoint.Utils.Files.Cgi Language.Fixpoint.Utils.Files.Cst Language.Fixpoint.Utils.Files.Dat Language.Fixpoint.Utils.Files.Dot Language.Fixpoint.Utils.Files.Fq Language.Fixpoint.Utils.Files.Hquals Language.Fixpoint.Utils.Files.Hs Language.Fixpoint.Utils.Files.HsBoot Language.Fixpoint.Utils.Files.Html Language.Fixpoint.Utils.Files.Js Language.Fixpoint.Utils.Files.Json Language.Fixpoint.Utils.Files.LHs Language.Fixpoint.Utils.Files.Min Language.Fixpoint.Utils.Files.MinKVars Language.Fixpoint.Utils.Files.MinQuals Language.Fixpoint.Utils.Files.Mkdn Language.Fixpoint.Utils.Files.Out Language.Fixpoint.Utils.Files.PAss Language.Fixpoint.Utils.Files.Part Language.Fixpoint.Utils.Files.Pred Language.Fixpoint.Utils.Files.Result Language.Fixpoint.Utils.Files.Saved Language.Fixpoint.Utils.Files.Smt2 Language.Fixpoint.Utils.Files.Spec Language.Fixpoint.Utils.Files.Ts Language.Fixpoint.Utils.Files.Vim}+module dependencies: Language.Fixpoint.Misc+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 bytestring-0.10.8.2 cmdargs-0.10.20+ colour-2.3.5 containers-0.6.0.1 deepseq-1.4.4.0 directory-1.3.3.0+ filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 pretty-1.1.3.6 process-1.6.5.0 stm-2.5.0.0+ text-1.2.3.1 time-1.8.0.2 unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Exception 041da5b6267cf6b639ff5716d5b299a9+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.Maybe 9b76a39e833465c3c5b3c078b431417f+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:Data.Traversable d2c09bff1e4f0c871306c3ff8aa4dc36+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.IO 898d4ddbf00eb4732e5f462760aa42ae+import -/ base-4.12.0.0:GHC.IO.Exception 77722984940ee6ccf9e2f7dab10b83a4+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ directory-1.3.3.0:System.Directory 49a915596c61b7c4c6db58cd4e1272c2+import -/ filepath-1.4.2.1:System.FilePath 15c54060cebd29621bfc77f7f6fce3ff+import -/ filepath-1.4.2.1:System.FilePath.Posix 807571ae31e154c61d0c6bb61ff8b097+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ errorstar e47c2d482124b43e020a405f809adcff+2200547bd69549ec4bc703e1fe4c80e1+ $fEqExt :: GHC.Classes.Eq Language.Fixpoint.Utils.Files.Ext+ DFunId+2200547bd69549ec4bc703e1fe4c80e1+ $fOrdExt :: GHC.Classes.Ord Language.Fixpoint.Utils.Files.Ext+ DFunId+2200547bd69549ec4bc703e1fe4c80e1+ $fShowExt :: GHC.Show.Show Language.Fixpoint.Utils.Files.Ext+ DFunId+e836b71d57151f8e670b073a0d5a78e7+ $tc'Annot :: GHC.Types.TyCon+ee97a1fe34312bca16322d03082e4ea0+ $tc'Auto :: GHC.Types.TyCon+14b704ab0118cc89cf05fe4237dd3c69+ $tc'BinFq :: GHC.Types.TyCon+47c816b0f88ed662ace2cb5a644cfd71+ $tc'BinSpec :: GHC.Types.TyCon+b15e89ee15c9b5509319edd990836753+ $tc'Cache :: GHC.Types.TyCon+1778232d4dfdbbab831e0a056f0e8261+ $tc'Cgi :: GHC.Types.TyCon+daec3fb1afb7112e7b9095c64070bbc5+ $tc'Cst :: GHC.Types.TyCon+2d0ec01cad4c2fafcef5ec7dfc70e8c4+ $tc'Dat :: GHC.Types.TyCon+33d118bb5c8ec7bf657d1ce6a88c46a1+ $tc'Dot :: GHC.Types.TyCon+7dbd88322977c74aef74209d6bb4e17b+ $tc'Fq :: GHC.Types.TyCon+b1f14ea99a828d3fc08939c7ed792cf3+ $tc'Hquals :: GHC.Types.TyCon+50e7137b729159332b953463a2ba68c8+ $tc'Hs :: GHC.Types.TyCon+ef67b45444660ab73f40177fa27371b5+ $tc'HsBoot :: GHC.Types.TyCon+8f97e4b6250b90fe06343ac23b12eebb+ $tc'Html :: GHC.Types.TyCon+d7c30b0e2268c0e9c8d7a377b4e87a9c+ $tc'Js :: GHC.Types.TyCon+de94a85ef1995e5b1aa18653588a78a9+ $tc'Json :: GHC.Types.TyCon+b90ad95b55e487ea14b43eb428ced465+ $tc'LHs :: GHC.Types.TyCon+aef5a2d295cded66bb1cfc158ea841c4+ $tc'Min :: GHC.Types.TyCon+a4bc410f788d6c54e17dab8d9f962ce1+ $tc'MinKVars :: GHC.Types.TyCon+90898817faa5d679c03d1e8728717cb9+ $tc'MinQuals :: GHC.Types.TyCon+2e43419c91a611a88e4251e09104435e+ $tc'Mkdn :: GHC.Types.TyCon+0b4c436ce36a4af553a78b7fa711093d+ $tc'Out :: GHC.Types.TyCon+f3d68606b4d131bb5262d04436d2f5ea+ $tc'PAss :: GHC.Types.TyCon+c86c01e266797f6865b59f3edca1ee79+ $tc'Part :: GHC.Types.TyCon+e19ae30eda9bc1f8719218ba28e60b87+ $tc'Pred :: GHC.Types.TyCon+05f7a39135ab2576d3f6924c51ccc491+ $tc'Result :: GHC.Types.TyCon+5ed086b4ec00ddc83822184ac2e55c1e+ $tc'Saved :: GHC.Types.TyCon+dfee058070b2e18e4e19506717334217+ $tc'Smt2 :: GHC.Types.TyCon+54e01b2db9997965e5a7bed9e900b782+ $tc'Spec :: GHC.Types.TyCon+e76b15a7cf1e7cba364c298126bd97f0+ $tc'Ts :: GHC.Types.TyCon+be395eb879fd7b0566eaa68ad8f4b236+ $tc'Vim :: GHC.Types.TyCon+ded402fa0f0c1cdddfd2a6e4787f0bfb+ $tcExt :: GHC.Types.TyCon+a38a536fb124fdc4d0dc5fdae64d0826+ $trModule :: GHC.Types.Module+2200547bd69549ec4bc703e1fe4c80e1+ data Ext+ = Cgi+ | Fq+ | Out+ | Html+ | Annot+ | Vim+ | Hs+ | HsBoot+ | LHs+ | Js+ | Ts+ | Spec+ | BinSpec+ | Hquals+ | Result+ | Cst+ | Mkdn+ | Json+ | Saved+ | Cache+ | Dot+ | Part GHC.Types.Int+ | Auto GHC.Types.Int+ | Pred+ | PAss+ | Dat+ | BinFq+ | Smt2+ | Min+ | MinQuals+ | MinKVars+a016e354873fa57613fedef69d4e260d+ copyFiles ::+ [GHC.IO.FilePath] -> GHC.IO.FilePath -> GHC.Types.IO ()+86adcb1270446909c1fa5137dc51787e+ extFileName ::+ Language.Fixpoint.Utils.Files.Ext+ -> GHC.IO.FilePath -> GHC.IO.FilePath+f802b03968786dfc557af4347ff15b72+ extFileNameR ::+ Language.Fixpoint.Utils.Files.Ext+ -> GHC.IO.FilePath -> GHC.IO.FilePath+8e3d69730108401ed93ff2e0c82b5303+ extModuleName ::+ GHC.Base.String+ -> Language.Fixpoint.Utils.Files.Ext -> GHC.IO.FilePath+28cc3ddc1d45217cec77cffe6c661bd8+ getFileInDirs ::+ GHC.IO.FilePath+ -> [GHC.IO.FilePath]+ -> GHC.Types.IO (GHC.Maybe.Maybe GHC.IO.FilePath)+421c8b1d8e10c200901e276e45c55999+ getFixpointPath :: GHC.Types.IO GHC.IO.FilePath+2dec4fc8ca25e227c2a448d3f21af4d4+ getZ3LibPath :: GHC.Types.IO GHC.IO.FilePath+37556bf16c847289b917ecc01530f9ab+ isBinary :: GHC.IO.FilePath -> GHC.Types.Bool+a97178d6c6d438d85e0d395b244a7fdf+ isExtFile ::+ Language.Fixpoint.Utils.Files.Ext+ -> GHC.IO.FilePath -> GHC.Types.Bool+86958c16e3aeb89b5e9764945d725b17+ tempDirectory :: GHC.IO.FilePath -> GHC.IO.FilePath+92bff4ec21055788580bcf004630f86b+ withExt ::+ GHC.IO.FilePath+ -> Language.Fixpoint.Utils.Files.Ext -> GHC.IO.FilePath+instance GHC.Classes.Eq [Language.Fixpoint.Utils.Files.Ext]+ = Language.Fixpoint.Utils.Files.$fEqExt+instance GHC.Classes.Ord [Language.Fixpoint.Utils.Files.Ext]+ = Language.Fixpoint.Utils.Files.$fOrdExt+instance GHC.Show.Show [Language.Fixpoint.Utils.Files.Ext]+ = Language.Fixpoint.Utils.Files.$fShowExt+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,273 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:50.3052 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Utils.Statistics [family instance module] 8065+ interface hash: 8718681d79b76428b329d7686760fe33+ ABI hash: a8be1c26046998f1d95064c036444766+ export-list hash: ba4945ac0b49e3ad40e9d67f9559776c+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 1ba6e3bfc392dcfee9b2ca9002d76b23+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Utils.Statistics.statistics+module dependencies: Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Misc+ Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types+ Language.Fixpoint.SortCheck 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.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Text.PrettyPrint.HughesPJ.Compat+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0 async-2.2.1+ base-4.12.0.0 binary-0.8.6.0 boxes-0.1.5 bytestring-0.10.8.2+ cereal-0.5.8.0 cmdargs-0.10.20 colour-2.3.5 containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0 double-conversion-2.0.2.0+ fgl-5.7.0.1 filepath-1.4.2.1 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 intern-0.9.2 mtl-2.2.2 parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 split-0.2.3.3 stm-2.5.0.0 syb-0.7+ text-1.2.3.1 text-format-0.3.2 time-1.8.0.2 transformers-0.5.6.2+ unix-2.7.2.2 unordered-containers-0.2.9.0+orphans: transformers-0.5.6.2:Control.Monad.Trans.Error+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Smt.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ cmdargs-0.10.20:System.Console.CmdArgs.Explicit.Help+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Substitutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ syb-0.7:Data.Generics.Instances colour-2.3.5:Data.Colour+ time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ stm-2.5.0.0:Control.Monad.STM+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show base-4.12.0.0:GHC.Float+ base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.Graph+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ fgl-5.7.0.1:Data.Graph.Inductive.PatriciaTree+ intern-0.9.2:Data.Interned.Internal.Text+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Graph.Types+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Config+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Constraints+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Environments+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Errors+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Names+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Refinements+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Solutions+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Sorts+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Spans+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Theories+ liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Types.Triggers+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ text-1.2.3.1:Data.Text+ text-1.2.3.1:Data.Text.Lazy+ unordered-containers-0.2.9.0:Data.HashMap.Base+ unordered-containers-0.2.9.0:Data.HashSet+import -/ base-4.12.0.0:Control.Arrow cda881e865dd3141fb08ed18f2efcca7+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.Functor 069b2025a03e32fd228e74a86a58a075+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Generics 2b3b2e72be66983021f8ad0c2edcf290+import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a+import -/ base-4.12.0.0:GHC.Real af2b985dd29515c375fb78b2c9298d42+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.IO c961e5ee6731c0683a6e879272c9e9f6+import -/ deepseq-1.4.4.0:Control.DeepSeq fdfe6dfd16074b891b8750f3dc0819a3+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+import -/ integer-gmp-1.0.2.0:GHC.Integer.Type 6d87087aea24143d2650f78480d954a3+import -/ Language.Fixpoint.Graph 59334fea55dc8d64130719f78eeb5109+ exports: 70a8f3bb9be3a7f9430fb829908b4dcf+import -/ Language.Fixpoint.Graph.Partition 10b792bb9300a0bfeef35f9a6335155b+ partition' 604dec4b5afaf691202e7ed2938aa872+import -/ Language.Fixpoint.Misc 1a50b0be98f5d556c823a27b0843feb5+ exports: c71e07620cb71e48240d161f1a37aa5e+ Loud 20d9cfe47287517748c900396beb2597+ applyNonNull 40b42461aae0e8b66421eafcc31fc750+ donePhase 8c86f9b1cc5432363fae6c5796ca46cf+import -/ Language.Fixpoint.Types 9cb1a9068dc49504c64c97f35a33862f+ exports: 62d26edd591b195eabce115b8380fe6e+import -/ Language.Fixpoint.Types.Config 134020671d47a57ffc8e89be204594cd+ exports: b55741973d8e26ddd46c69a42379ac12+ Config 3988ec36858b82afed711ea7ff67ff00+import -/ Language.Fixpoint.Types.Constraints 5290ca1fe775ef899496b3cb4cf11436+ FInfo b6d52641b5c0c13c0e61844e2114eb16+ Result 9b37020b88a84332f42c4a4efcccc0c2+ cm 90ef96c47f269969affd7c3639af34f3+import -/ Language.Fixpoint.Types.PrettyPrint 2104c549ff18167e86668f84d86b14a0+ exports: 83877bba67b408c83589a0ff3bac0070+ PPrint 1f29b3f207492ffa2323c20e2c1b7b4a+ pprint 955dc9d031db587300edf6146ac33be4+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+import -/ unordered-containers-0.2.9.0:Data.HashMap.Base 1ebd58c91fc697de98c663daee05aafc+import -/ unordered-containers-0.2.9.0:Data.HashMap.Strict e1685ce3be897bf737e3d6453c27576b+d371c7cc8e33fe67f4d4a2fc285b570b+ $fGenericStats ::+ GHC.Generics.Generic Language.Fixpoint.Utils.Statistics.Stats+ DFunId+d371c7cc8e33fe67f4d4a2fc285b570b+ $fNFDataStats ::+ Control.DeepSeq.NFData Language.Fixpoint.Utils.Statistics.Stats+ DFunId+d371c7cc8e33fe67f4d4a2fc285b570b+ $fPPrintStats ::+ Language.Fixpoint.Types.PrettyPrint.PPrint+ Language.Fixpoint.Utils.Statistics.Stats+ DFunId+d371c7cc8e33fe67f4d4a2fc285b570b+ $fShowStats ::+ GHC.Show.Show Language.Fixpoint.Utils.Statistics.Stats+ DFunId+9bbff84eceafe0126ad7e4092eabfd77+ $tc'Stats :: GHC.Types.TyCon+6a647a82bb11841729124149c423ec8a+ $tcStats :: GHC.Types.TyCon+bb85908b7c01e430a94d07b43455c54c+ $trModule :: GHC.Types.Module+d371c7cc8e33fe67f4d4a2fc285b570b+ axiom Language.Fixpoint.Utils.Statistics.Rep_Stats::+ GHC.Generics.Rep Language.Fixpoint.Utils.Statistics.Stats+ = GHC.Generics.D1+ ('GHC.Generics.MetaData+ "Stats"+ "Language.Fixpoint.Utils.Statistics"+ "liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep"+ 'GHC.Types.False)+ (GHC.Generics.C1+ ('GHC.Generics.MetaCons+ "Stats" 'GHC.Generics.PrefixI 'GHC.Types.True)+ ((GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "cSizes")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 [GHC.Types.Float])+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "cFreq")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.NoSourceStrictness+ 'GHC.Generics.DecidedLazy)+ (GHC.Generics.Rec0 [(GHC.Types.Float, GHC.Types.Int)])+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "cTotal")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Float)))+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "cMean")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Float)+ GHC.Generics.:*: (GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "cMax")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0 GHC.Types.Float)+ GHC.Generics.:*: GHC.Generics.S1+ ('GHC.Generics.MetaSel+ ('GHC.Maybe.Just "cSpeed")+ 'GHC.Generics.NoSourceUnpackedness+ 'GHC.Generics.SourceStrict+ 'GHC.Generics.DecidedStrict)+ (GHC.Generics.Rec0+ GHC.Types.Float)))))+d371c7cc8e33fe67f4d4a2fc285b570b+ data Stats+ = Stats {cSizes :: [GHC.Types.Float],+ cFreq :: [(GHC.Types.Float, GHC.Types.Int)],+ cTotal :: !GHC.Types.Float,+ cMean :: !GHC.Types.Float,+ cMax :: !GHC.Types.Float,+ cSpeed :: !GHC.Types.Float}+d371c7cc8e33fe67f4d4a2fc285b570b+ cFreq ::+ Language.Fixpoint.Utils.Statistics.Stats+ -> [(GHC.Types.Float, GHC.Types.Int)]+ RecSel Left Language.Fixpoint.Utils.Statistics.Stats+d371c7cc8e33fe67f4d4a2fc285b570b+ cMax :: Language.Fixpoint.Utils.Statistics.Stats -> GHC.Types.Float+ RecSel Left Language.Fixpoint.Utils.Statistics.Stats+d371c7cc8e33fe67f4d4a2fc285b570b+ cMean ::+ Language.Fixpoint.Utils.Statistics.Stats -> GHC.Types.Float+ RecSel Left Language.Fixpoint.Utils.Statistics.Stats+d371c7cc8e33fe67f4d4a2fc285b570b+ cSizes ::+ Language.Fixpoint.Utils.Statistics.Stats -> [GHC.Types.Float]+ RecSel Left Language.Fixpoint.Utils.Statistics.Stats+d371c7cc8e33fe67f4d4a2fc285b570b+ cSpeed ::+ Language.Fixpoint.Utils.Statistics.Stats -> GHC.Types.Float+ RecSel Left Language.Fixpoint.Utils.Statistics.Stats+d371c7cc8e33fe67f4d4a2fc285b570b+ cTotal ::+ Language.Fixpoint.Utils.Statistics.Stats -> GHC.Types.Float+ RecSel Left Language.Fixpoint.Utils.Statistics.Stats+f3a176c0c1d38972b14ed90674e8b5ea+ statistics ::+ Language.Fixpoint.Types.Config.Config+ -> Language.Fixpoint.Types.Constraints.FInfo a+ -> GHC.Types.IO+ (Language.Fixpoint.Types.Constraints.Result+ (GHC.Integer.Type.Integer, a))+instance GHC.Generics.Generic [Language.Fixpoint.Utils.Statistics.Stats]+ = Language.Fixpoint.Utils.Statistics.$fGenericStats+instance Control.DeepSeq.NFData [Language.Fixpoint.Utils.Statistics.Stats]+ = Language.Fixpoint.Utils.Statistics.$fNFDataStats+instance Language.Fixpoint.Types.PrettyPrint.PPrint [Language.Fixpoint.Utils.Statistics.Stats]+ = Language.Fixpoint.Utils.Statistics.$fPPrintStats+instance GHC.Show.Show [Language.Fixpoint.Utils.Statistics.Stats]+ = Language.Fixpoint.Utils.Statistics.$fShowStats+family instance GHC.Generics.Rep [Language.Fixpoint.Utils.Statistics.Stats]+ = Language.Fixpoint.Utils.Statistics.Rep_Stats+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,119 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:20.842084 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Utils.Trie 8065+ interface hash: a89a2f0b9085554e21d5daf931eb6703+ ABI hash: 803578399f61dcd14fb86eebd2ed8020+ export-list hash: af39141901e86f37f89c036856df8a13+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: db7ab8c706416191fecb6434a682f1b8+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Utils.Trie.empty+ Language.Fixpoint.Utils.Trie.fold+ Language.Fixpoint.Utils.Trie.foldM+ Language.Fixpoint.Utils.Trie.fromList+ Language.Fixpoint.Utils.Trie.insert+ Language.Fixpoint.Utils.Trie.Branch{Language.Fixpoint.Utils.Trie.Bind Language.Fixpoint.Utils.Trie.Val}+ Language.Fixpoint.Utils.Trie.Trie{Language.Fixpoint.Utils.Trie.Node}+module dependencies:+package dependencies: base-4.12.0.0* ghc-prim-0.5.3+ integer-gmp-1.0.2.0+orphans: base-4.12.0.0:GHC.Float base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity base-4.12.0.0:Data.Monoid+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:GHC.Generics+ base-4.12.0.0:GHC.IO.Exception+import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979+import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.Err ea5e313ef4146b40b5d8b27aa168e736+import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+8b961868e491541352bed6006163b298+ $fEqBranch ::+ GHC.Classes.Eq a =>+ GHC.Classes.Eq (Language.Fixpoint.Utils.Trie.Branch a)+ DFunId+8b961868e491541352bed6006163b298+ $fEqTrie ::+ GHC.Classes.Eq a =>+ GHC.Classes.Eq (Language.Fixpoint.Utils.Trie.Trie a)+ DFunId+8b961868e491541352bed6006163b298+ $fShowBranch ::+ GHC.Show.Show a =>+ GHC.Show.Show (Language.Fixpoint.Utils.Trie.Branch a)+ DFunId+8b961868e491541352bed6006163b298+ $fShowTrie ::+ GHC.Show.Show a =>+ GHC.Show.Show (Language.Fixpoint.Utils.Trie.Trie a)+ DFunId+cef6ef0fbc43d73161cd248bb9e0cbf6+ $tc'Bind :: GHC.Types.TyCon+094129e471ed12c5170cf5eda82b0b89+ $tc'Node :: GHC.Types.TyCon+b548ec4c285abcd3885ca3a63a2b218e+ $tc'Val :: GHC.Types.TyCon+237296c53c343e7003549b6bbe63ee01+ $tcBranch :: GHC.Types.TyCon+f7e50b3346bfcddecdf192ce5523553b+ $tcTrie :: GHC.Types.TyCon+0bf6c9f63413d14f67b37bab7cedd9c0+ $trModule :: GHC.Types.Module+8b961868e491541352bed6006163b298+ data Branch a+ = Bind !Language.Fixpoint.Utils.Trie.Key+ !(Language.Fixpoint.Utils.Trie.Trie a)+ | Val a+6f203c314893d9e1cb931073b3319f3a+ type Key = GHC.Types.Int+6efa38f2f3bd9c5e433c9a2f2d13b73f+ type Path = [Language.Fixpoint.Utils.Trie.Key]+8b961868e491541352bed6006163b298+ data Trie a = Node ![Language.Fixpoint.Utils.Trie.Branch a]+93b53981bfe2085ffe2497c3d04b6793+ empty :: Language.Fixpoint.Utils.Trie.Trie a+a892b1d7b24abba08c77f3c3c9b66811+ fold ::+ (acc -> Language.Fixpoint.Utils.Trie.Path -> a -> acc)+ -> acc -> Language.Fixpoint.Utils.Trie.Trie a -> acc+12aabac5bf45d3e5e6b0a627ba164316+ foldM ::+ GHC.Base.Monad m =>+ (acc -> Language.Fixpoint.Utils.Trie.Path -> a -> m acc)+ -> acc -> Language.Fixpoint.Utils.Trie.Trie a -> m acc+3b22c384040e87487ee22b024bbd6987+ fromList ::+ [(Language.Fixpoint.Utils.Trie.Path, a)]+ -> Language.Fixpoint.Utils.Trie.Trie a+16cf27307d01a4f194d6a2d4d9fef334+ insert ::+ Language.Fixpoint.Utils.Trie.Path+ -> a+ -> Language.Fixpoint.Utils.Trie.Trie a+ -> Language.Fixpoint.Utils.Trie.Trie a+instance [safe] GHC.Classes.Eq [Language.Fixpoint.Utils.Trie.Branch]+ = Language.Fixpoint.Utils.Trie.$fEqBranch+instance [safe] GHC.Classes.Eq [Language.Fixpoint.Utils.Trie.Trie]+ = Language.Fixpoint.Utils.Trie.$fEqTrie+instance [safe] GHC.Show.Show [Language.Fixpoint.Utils.Trie.Branch]+ = Language.Fixpoint.Utils.Trie.$fShowBranch+instance [safe] GHC.Show.Show [Language.Fixpoint.Utils.Trie.Trie]+ = Language.Fixpoint.Utils.Trie.$fShowTrie+trusted: safe+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,104 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:21.297118 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Text.PrettyPrint.HughesPJ.Compat 8065+ interface hash: 362d62796def27d25a5e465da99b5b4f+ ABI hash: 491482a68b656322a284b5eee89aaeb7+ export-list hash: b9ce07b355a8008b66354a61d479f549+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 90502bf9941feeb9e7979b73f6f85063+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Text.PrettyPrint.HughesPJ.Compat.<->+ Text.PrettyPrint.Annotated.HughesPJ.style+ Text.PrettyPrint.HughesPJ.$$+ Text.PrettyPrint.HughesPJ.$+$+ Text.PrettyPrint.HughesPJ.<+>+ Text.PrettyPrint.HughesPJ.braces+ Text.PrettyPrint.HughesPJ.brackets+ Text.PrettyPrint.HughesPJ.cat+ Text.PrettyPrint.HughesPJ.char+ Text.PrettyPrint.HughesPJ.colon+ Text.PrettyPrint.HughesPJ.comma+ Text.PrettyPrint.HughesPJ.double+ Text.PrettyPrint.HughesPJ.doubleQuotes+ Text.PrettyPrint.HughesPJ.empty+ Text.PrettyPrint.HughesPJ.equals+ Text.PrettyPrint.HughesPJ.fcat+ Text.PrettyPrint.HughesPJ.float+ Text.PrettyPrint.HughesPJ.fsep+ Text.PrettyPrint.HughesPJ.fullRender+ Text.PrettyPrint.HughesPJ.hang+ Text.PrettyPrint.HughesPJ.hcat+ Text.PrettyPrint.HughesPJ.hsep+ Text.PrettyPrint.HughesPJ.int+ Text.PrettyPrint.HughesPJ.integer+ Text.PrettyPrint.HughesPJ.isEmpty+ Text.PrettyPrint.HughesPJ.lbrace+ Text.PrettyPrint.HughesPJ.lbrack+ Text.PrettyPrint.HughesPJ.lparen+ Text.PrettyPrint.HughesPJ.maybeBraces+ Text.PrettyPrint.HughesPJ.maybeBrackets+ Text.PrettyPrint.HughesPJ.maybeDoubleQuotes+ Text.PrettyPrint.HughesPJ.maybeParens+ Text.PrettyPrint.HughesPJ.maybeQuotes+ Text.PrettyPrint.HughesPJ.nest+ Text.PrettyPrint.HughesPJ.parens+ Text.PrettyPrint.HughesPJ.ptext+ Text.PrettyPrint.HughesPJ.punctuate+ Text.PrettyPrint.HughesPJ.quotes+ Text.PrettyPrint.HughesPJ.rational+ Text.PrettyPrint.HughesPJ.rbrace+ Text.PrettyPrint.HughesPJ.rbrack+ Text.PrettyPrint.HughesPJ.reduceDoc+ Text.PrettyPrint.HughesPJ.render+ Text.PrettyPrint.HughesPJ.renderStyle+ Text.PrettyPrint.HughesPJ.rparen+ Text.PrettyPrint.HughesPJ.semi+ Text.PrettyPrint.HughesPJ.sep+ Text.PrettyPrint.HughesPJ.sizedText+ Text.PrettyPrint.HughesPJ.space+ Text.PrettyPrint.HughesPJ.text+ Text.PrettyPrint.HughesPJ.vcat+ Text.PrettyPrint.HughesPJ.zeroWidthText+ Text.PrettyPrint.Annotated.HughesPJ.Mode{Text.PrettyPrint.Annotated.HughesPJ.LeftMode Text.PrettyPrint.Annotated.HughesPJ.OneLineMode Text.PrettyPrint.Annotated.HughesPJ.PageMode Text.PrettyPrint.Annotated.HughesPJ.ZigZagMode}+ Text.PrettyPrint.Annotated.HughesPJ.Style{Text.PrettyPrint.Annotated.HughesPJ.Style lineLength mode ribbonsPerLine}+ Text.PrettyPrint.Annotated.HughesPJ.TextDetails{Text.PrettyPrint.Annotated.HughesPJ.Chr Text.PrettyPrint.Annotated.HughesPJ.PStr Text.PrettyPrint.Annotated.HughesPJ.Str}+ Text.PrettyPrint.HughesPJ.Doc+module dependencies:+package dependencies: array-0.5.3.0 base-4.12.0.0* deepseq-1.4.4.0+ ghc-prim-0.5.3 integer-gmp-1.0.2.0 pretty-1.1.3.6+orphans: base-4.12.0.0:GHC.Float base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Generics+ base-4.12.0.0:GHC.IO.Exception+ pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ+ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ pretty-1.1.3.6:Text.PrettyPrint.HughesPJ ef695c6d575f5332a78b2f4f2292e474+fixities infixl 6 <->+d0b2438439135f84e1bcc88d64f69c3e+ $trModule :: GHC.Types.Module+a6bccb4500bca89f567c047995747774+ (<->) ::+ Text.PrettyPrint.HughesPJ.Doc+ -> Text.PrettyPrint.HughesPJ.Doc -> Text.PrettyPrint.HughesPJ.Doc+trusted: safe+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,98 @@++==================== FINAL INTERFACE ====================+2019-09-22 14:52:20.632339 UTC++interface liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep:Language.Fixpoint.Utils.Progress 8065+ interface hash: b693c37c7e83b967f60fe450a4b3310c+ ABI hash: 826d6a56464397a59b3a0f2598d33de7+ export-list hash: 6850e83719e0c11e0074fbcdfbd4871d+ orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e+ flag hash: 4bb59a543269398995ccceb30d7824e5+ opt_hash: d0a78e7b344f95c7406be35c9b75e196+ hpc_hash: 93b885adfe0da089cdf634904fd59f71+ plugin_hash: ad164012d6b1e14942349d58b1132007+ sig of: Nothing+ used TH splices: False+ where+exports:+ Language.Fixpoint.Utils.Progress.progressClose+ Language.Fixpoint.Utils.Progress.progressInit+ Language.Fixpoint.Utils.Progress.progressTick+ Language.Fixpoint.Utils.Progress.withProgress+module dependencies:+package dependencies: ansi-terminal-0.8.2 array-0.5.3.0+ ascii-progress-0.3.3.0 async-2.2.1 base-4.12.0.0 binary-0.8.6.0+ bytestring-0.10.8.2 cmdargs-0.10.20 colour-2.3.5+ concurrent-output-1.10.9 containers-0.6.0.1 data-default-0.7.1.1+ data-default-class-0.1.2.0 data-default-instances-containers-0.0.1+ data-default-instances-dlist-0.0.1+ data-default-instances-old-locale-0.0.1 deepseq-1.4.4.0+ directory-1.3.3.0 dlist-0.8.0.6 exceptions-0.10.2 filepath-1.4.2.1+ ghc-boot-th-8.6.5 ghc-prim-0.5.3 hashable-1.2.7.0+ integer-gmp-1.0.2.0 mtl-2.2.2 old-locale-1.0.0.7 process-1.6.5.0+ stm-2.5.0.0 template-haskell-2.14.0.0 terminal-size-0.3.2.1+ text-1.2.3.1 time-1.8.0.2 transformers-0.5.6.2 unix-2.7.2.2+orphans: data-default-instances-containers-0.0.1:Data.Default.Instances.Containers+ data-default-instances-dlist-0.0.1:Data.Default.Instances.DList+ data-default-instances-old-locale-0.0.1:Data.Default.Instances.OldLocale+ colour-2.3.5:Data.Colour time-1.8.0.2:Data.Time.Format.Parse+ time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime+ time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime+ time-1.8.0.2:Data.Time.Calendar.Gregorian+ hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy+ text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic+ bytestring-0.10.8.2:Data.ByteString.Builder+ text-1.2.3.1:Data.Text.Show stm-2.5.0.0:Control.Monad.STM+ transformers-0.5.6.2:Control.Monad.Trans.Error+ base-4.12.0.0:GHC.Float base-4.12.0.0:GHC.Base+family instance modules: base-4.12.0.0:Control.Applicative+ base-4.12.0.0:Data.Complex base-4.12.0.0:Data.Functor.Compose+ base-4.12.0.0:Data.Functor.Const+ base-4.12.0.0:Data.Functor.Identity+ base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum+ base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup+ base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version+ base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts+ base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception+ containers-0.6.0.1:Data.IntMap.Internal+ containers-0.6.0.1:Data.IntSet.Internal+ containers-0.6.0.1:Data.Map.Internal+ containers-0.6.0.1:Data.Sequence.Internal+ containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree+ dlist-0.8.0.6:Data.DList ghc-boot-th-8.6.5:GHC.ForeignSrcLang.Type+ ghc-boot-th-8.6.5:GHC.LanguageExtensions.Type+ template-haskell-2.14.0.0:Language.Haskell.TH.Syntax+ terminal-size-0.3.2.1:System.Console.Terminal.Common+ text-1.2.3.1:Data.Text text-1.2.3.1:Data.Text.Lazy+import -/ ascii-progress-0.3.3.0:System.Console.AsciiProgress 4260cc834d32acce95853feeeed020b6+import -/ ascii-progress-0.3.3.0:System.Console.AsciiProgress.Internal 91a06654f46756516b59d9d7491ca3d5+import -/ base-4.12.0.0:Control.Monad 07eaec7fd256019b318d048d00f45b1c+import -/ base-4.12.0.0:Data.IORef e8e1ce7d64831ebb3853a1cd9fb4e228+import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26+import -/ base-4.12.0.0:GHC.IO.Unsafe f9f58d6cf129f44ee29b8f10a48eb26c+import -/ base-4.12.0.0:GHC.IORef c4811a8ca9fa1f2f983a2e196af9a59c+import -/ base-4.12.0.0:GHC.Real af2b985dd29515c375fb78b2c9298d42+import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb+import -/ base-4.12.0.0:System.IO.Unsafe e8c0e3a0a9cf9814796832fe86e2e8a6+import -/ cmdargs-0.10.20:System.Console.CmdArgs.Verbosity fa5402dbe76d4158a9bd93730fac6d67+import -/ concurrent-output-1.10.9:System.Console.Regions 0aa8a468c18f7c4092b02b3221f24296+import -/ data-default-class-0.1.2.0:Data.Default.Class 371bcf6e798e02ee6b54bbb6964034d0+import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d+import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b+55801f2988e801a21e823410f442e0b2+ $trModule :: GHC.Types.Module+ec8ad95e48762209d846c439d2ce6615+ progressClose :: GHC.Types.IO ()+1d6ca9a4d95c3679b12d27674572203c+ progressInit :: GHC.Types.Int -> GHC.Types.IO ()+0ccb985e47cb835d2bf679c5ff93fb6b+ progressTick :: GHC.Types.IO ()+8d2751f40705437b1b2bb822db3b7ec9+ withProgress :: GHC.Types.Int -> GHC.Types.IO a -> GHC.Types.IO a+trusted: none+require own pkg trusted: False+module header:+ Nothing+declaration docs:+arg docs:+
@@ -0,0 +1,84 @@+name: liquid-fixpoint+version: 0.8.0.2+id: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep+key: liquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep+license: BSD-3-Clause+copyright: 2010-17 Ranjit Jhala, University of California, San Diego.+maintainer: jhala@cs.ucsd.edu+author: Ranjit Jhala, Niki Vazou, Eric Seidel+homepage: https://github.com/ucsd-progsys/liquid-fixpoint+synopsis: Predicate Abstraction-based Horn-Clause/Implication Constraint Solver+description:+ This package implements an SMTLIB based Horn-Clause\/Logical Implication constraint+ solver used for Liquid Types.+ .+ The package includes:+ .+ 1. Types for Expressions, Predicates, Constraints, Solutions+ 2. Code for solving constraints+ .+ Requirements+ .+ In addition to the .cabal dependencies you require+ .+ * A Z3 (<http://z3.codeplex.com>) or CVC4 (<http://cvc4.cs.nyu.edu>) binary.+category: Language+abi: inplace+exposed: True+exposed-modules:+ Language.Fixpoint.Defunctionalize Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types Language.Fixpoint.Horn.Parse+ Language.Fixpoint.Horn.Solve Language.Fixpoint.Horn.Transformations+ Language.Fixpoint.Horn.Types Language.Fixpoint.Minimize+ Language.Fixpoint.Misc Language.Fixpoint.Parse+ Language.Fixpoint.Smt.Bitvector Language.Fixpoint.Smt.Interface+ Language.Fixpoint.Smt.Serialize Language.Fixpoint.Smt.Theories+ Language.Fixpoint.Smt.Types Language.Fixpoint.Solver+ Language.Fixpoint.Solver.Eliminate+ Language.Fixpoint.Solver.GradualSolution+ Language.Fixpoint.Solver.Instantiate Language.Fixpoint.Solver.Monad+ Language.Fixpoint.Solver.Sanitize Language.Fixpoint.Solver.Solution+ Language.Fixpoint.Solver.Solve Language.Fixpoint.Solver.TrivialSort+ Language.Fixpoint.Solver.UniqifyBinds+ Language.Fixpoint.Solver.UniqifyKVars+ Language.Fixpoint.Solver.Worklist Language.Fixpoint.SortCheck+ Language.Fixpoint.Types Language.Fixpoint.Types.Config+ Language.Fixpoint.Types.Constraints+ Language.Fixpoint.Types.Environments Language.Fixpoint.Types.Errors+ Language.Fixpoint.Types.Graduals Language.Fixpoint.Types.Names+ Language.Fixpoint.Types.PrettyPrint+ Language.Fixpoint.Types.Refinements+ Language.Fixpoint.Types.Solutions Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files+ Language.Fixpoint.Utils.Progress Language.Fixpoint.Utils.Statistics+ Language.Fixpoint.Utils.Trie Text.PrettyPrint.HughesPJ.Compat+hidden-modules: Paths_liquid_fixpoint+import-dirs: /Users/niki/liquidtypes/liquidhaskell/liquid-fixpoint/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build+library-dirs: /Users/niki/liquidtypes/liquidhaskell/liquid-fixpoint/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build+dynamic-library-dirs: /Users/niki/liquidtypes/liquidhaskell/liquid-fixpoint/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build+data-dir: /Users/niki/liquidtypes/liquidhaskell/liquid-fixpoint+hs-libraries: HSliquid-fixpoint-0.8.0.2-FcQLKVO4y2e40hxwxPr9ep+depends:+ ansi-terminal-0.8.2-3u77sgUYOmx5VpFzqliI58 array-0.5.3.0+ ascii-progress-0.3.3.0-89B0q4Fa9f07yD5oF5x2bt+ async-2.2.1-4fWSSJ8SFccIxQJVItkRnX+ attoparsec-0.13.2.2-Gf0jC2VdURHABoErxGt3qQ base-4.12.0.0+ binary-0.8.6.0 boxes-0.1.5-6io6BrPg87q1hhW2bdiQAI+ cereal-0.5.8.0-6rtfJLvNbgP66iuaPkuxJC+ cmdargs-0.10.20-EiFbtpfcdyUCuIuL5dHJuW containers-0.6.0.1+ deepseq-1.4.4.0 directory-1.3.3.0+ fgl-5.7.0.1-CpDtOA8pKQl6hGnWjlttIk filepath-1.4.2.1 ghc-prim-0.5.3+ hashable-1.2.7.0-CWI8VZuQTAYWIQTQQtqCV+ intern-0.9.2-1k5HlC2OR4dJna2fS2KnK5 mtl-2.2.2+ parallel-3.2.2.0-EGl5SOk48TWHAD161C93aQ parsec-3.1.13.0+ pretty-1.1.3.6 process-1.6.5.0 syb-0.7-KRW1LCxdMiCJrmhxCvzo37+ text-1.2.3.1 text-format-0.3.2-744dVgaHKrAx4heuHeP2Z+ transformers-0.5.6.2+ unordered-containers-0.2.9.0-BRWkoSTuML1cQdpep6Oin+haddock-interfaces: /Users/niki/liquidtypes/liquidhaskell/liquid-fixpoint/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/doc/html/liquid-fixpoint/liquid-fixpoint.haddock+haddock-html: /Users/niki/liquidtypes/liquidhaskell/liquid-fixpoint/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/doc/html/liquid-fixpoint
binary file changed (absent → 10768 bytes)
binary file changed (absent → 340804 bytes)
binary file changed (absent → 53114 bytes)
binary file changed (absent → 77117 bytes)
binary file changed (absent → 50 bytes)
binary file changed (absent → 12159 bytes)
@@ -0,0 +1,46 @@+# CHANGES++## NEXT++- Fix bugs in PLE+- Move to GHC 8.6.4 ++## 0.8.0.1 ++- Support for HORN-NNF format clauses, see `tests/horn/{pos,neg}/*.smt2`+- Support for "existential binders", see `tests/pos/ebind-*.fq` for example.+ This only works with `--eliminate`.+- Move to GHC 8.4.3 ++## 0.7.0.0++- New `eliminate` based solver (see ICFP 2017 paper for algorithm)+- Proof by Logical Evaluation see `tests/proof`+- SMTLIB2 ADTs to make data constructors injective +- Uniformly support polymorphic functions via `apply` and elaborate++## 0.3.0.0++- Make interpreted mul and div the default, when `solver = z3`+- Use `higherorder` flag to allow higher order binders into the environment ++## 0.2.2.0++- Added support for theory of Arrays `Map_t`, `Map_select`, `Map_store`++- Added support for theory of Bitvectors -- see `Language.Fixpoint.Smt.Bitvector`++- Added support for string literals++## 0.2.1.0++- Pre-compiled binaries of the underlying ocaml solver are now+ provided for Linux, Mac OSX, and Windows.++ No more need to install Ocaml!++## 0.2.0.0++- Parsing has been improved to require *much* fewer parentheses.++- Experimental support for Z3's theory of real numbers with the `--real` flag.
@@ -1,12 +1,8 @@-GHC=~/.stack/programs/x86_64-osx/ghc-8.0.2/bin/ghc -cabal:- cabal sandbox init- cabal install --enable-tests -w $(GHC)- cabal configure -w $(GHC)- cabal test- tags: hasktags -c src/ hasktags -e src/ hasktags -x -c src/++ghcid:+ stack exec -- ghcid --command="stack ghci --ghci-options=-fno-code"
@@ -0,0 +1,319 @@+Liquid Fixpoint [](https://hackage.haskell.org/package/liquid-fixpoint) [](http://packdeps.haskellers.com/feed?needle=liquid-fixpoint) +[](https://circleci.com/gh/ucsd-progsys/liquid-fixpoint)+===============++++++This package implements a Horn-Clause/Logical Implication constraint solver used+for various Liquid Types. The solver uses SMTLIB2 to implement an algorithm similar to:+++ [Houdini](https://users.soe.ucsc.edu/~cormac/papers/fme01.pdf)++ [Cartesian predicate abstraction](http://swt.informatik.uni-freiburg.de/berit/papers/boolean-and-cartesian-....pdf)+++Requirements+------------++In addition to the .cabal dependencies you require an SMTLIB2 compatible solver binary:++- [Z3](http://z3.codeplex.com)+- [CVC4](http://cvc4.cs.nyu.edu)+- [MathSat](http://mathsat.fbk.eu/download.html)++If on Windows, please make sure to place the binary and any associated DLLs somewhere+in your path.++How To Build and Install+------------------------++Simply do:++ git clone https://github.com/ucsd-progsys/liquid-fixpoint.git+ cd liquid-fixpoint+ stack install++or (`cabal` instead of `stack` if you prefer.)+++Using SMTLIB-based SMT Solvers+------------------------------++You can use one of several SMTLIB2 compliant solvers, by:++ fixpoint --smtsolver=z3 path/to/file.hs++Currently, we support++ * Z3+ * CVC4+ * MathSat++++Configuration Management+------------------------++It is very important that the version of Liquid Fixpoint be maintained properly.++Suppose that the current version of Liquid Haskell is `A.B.C.D`:+++ After a release to hackage is made, if any of the components `B`, `C`, or `D` are missing, they shall be added and set to `0`. Then the `D` component of Liquid Fixpoint shall be incremented by `1`. The version of Liquid Fixpoint is now `A.B.C.(D + 1)`+++ The first time a new function or type is exported from Liquid Fixpoint, if any of the components `B`, or `C` are missing, they shall be added and set to `0`. Then the `C` component shall be incremented by `1`, and the `D` component shall stripped. The version of Liquid Fixpoint is now `A.B.(C + 1)`+++ The first time the signature of an exported function or type is changed, or an exported function or type is removed (this includes functions or types that Liquid Fixpoint re-exports from its own dependencies), if the `B` component is missing, it shall be added and set to `0`. Then the `B` component shall be incremented by `1`, and the `C` and `D` components shall be stripped. The version of Liquid Fixpoint is now `A.(B + 1)`+++ The `A` component shall be updated at the sole discretion of the project owners.++It is recommended to use the [Bumper](https://hackage.haskell.org/package/bumper) utility to manage the versioning of Liquid Fixpoint. Bumper will automatically do the correct update to the cabal file. Additionally, it will update any packages that you have the source for that depend on Liquid Fixpoint.++To update Liquid Fixpoint and Liquid Haskell, first clone Liquid Haskell and Liquid Fixpoint to a common location:++```+git clone https://github.com/ucsd-progsys/liquidhaskell.git+git clone https://github.com/ucsd-progsys/liquid-fixpoint.git+```++To increment the `D` component of Liquid Fixpoint:++```+./path/to/bumper -3 liquid-fixpoint+```++This will update the `D` component of Liquid Fixpoint. If necessary, this will update the `Build-Depends` of Liquid Haskell. If the `Build-Depends` was updated, Liquid Haskell's `D` component will be incremented.++To increment the `C` component of Liquid Fixpoint, and strip the `D` component:++```+./path/to/bumper --minor liquid-fixpoint+```++As before, this will update Liquid Fixpoint and, if necessary, Liquid Haskell.++To increment the `B` component of Liquid Fixpoint, and strip the `D` and `C` components:++```+./path/to/bumper --major liquid-fixpoint+```++As before, this will update Liquid Fixpoint and, if necessary, Liquid Haskell++SMTLIB2 Interface+-----------------++There is a new SMTLIB2 interface directly from Haskell:+++ Language.Fixpoint.SmtLib2++See `tests/smt2/{Smt.hs, foo.smt2}` for an example of how to use it.++Options+-------++`--higherorder` allows higher order binders into the environment++`--extsolver` runs the **deprecated** external solver.++`--parts` Partitions an `FInfo` into a `[FInfo]` and emits a bunch of files. So:++ $ fixpoint -n -p path/to/foo.fq++will now emit files:++ path/to/.liquid/foo.1.fq+ path/to/.liquid/foo.2.fq+ . . .+ path/to/.liquid/foo.k.fq++and also a dot file with the constraint dependency graph:++ path/to/.liquid/foo.fq.dot+++## FInfo Invariants++### Binders++This is the field++```+ , bs :: !BindEnv -- ^ Bind |-> (Symbol, SortedReft)+```++or in the .fq files as++```+bind 1 x : ...+bind 2 y : ...+```++* Each `BindId` must be a distinct `Int`,+* Each `BindId` that appears in a constraint+ environment i.e. inside _any_ `IBindEnv`+ must appear inside the `bs`++### Environments++* Each constraint's environment is a set of `BindId`+ which must be defined in the `bindInfo`. Furthermore++* Each constraint should not have _duplicate_ names in its+ environment, that is if you have two binders++```+ bind 1 x : ...+ bind 12 x : ...+```++ Then a single `IBindEnv` should only mention _at most_+ one of `1` or `12`.++* There is also a "tree-shape" property that its a bit hard+ to describe ... TODO ++### LHS++Each `slhs` of a constraint is a `SortedReft`.++- Each `SortredReft` is basically a `Reft` -- a logical predicate.+ The important bit is that a `KVar` i.e. terms of the formalized++```+ $k1[x1:=y1][x2:=y2]...[xn:=yn]+```++ That is represented in the `Expr` type as++```+ | PKVar !KVar !Subst+```++ must appear _only_ at the **top-level** that is not under _any_+ other operators, i.e. not as a sub-`Expr` of other expressions.+++- This is basically a predicate that needs to be "well sorted"+ with respect to the `BindId`, intuitively++```+ x:int, y:int |- x + y : int+```++ is well sorted. but++```+ x:int |- x + y : int+```++ is not, and++```+ x:int, y: list |- x + y : int+```++ is not. The exact definition is formalized in `Language.Fixpoint.SortCheck`+++### RHS++Similarly each `rhs` of a `SubC` must either be a single `$k[...]` or an plain `$k`-free `Expr`.++### Global vs. Distinct Literals++```+ , gLits :: !(SEnv Sort) -- ^ Global Constant symbols+ , dLits :: !(SEnv Sort) +```++The _global_ literals `gLits` are symbols that+are in scope _everywhere_ i.e. need not be separately+defined in individual environments. These include things like++- uninterpreted _measure_ functions `len`, `height`,+- uninterpreted _data constructor_ literals `True`, `False`++Suppose you have an enumerated type like:++```+data Day = Sun | Mon | Tue | Wed | ... | Sat+```++You can model the above values in fixpoint as:++```+constant lit#Sun : Day+constant lit#Mon : Day+constant lit#Tue : Day+constant lit#Wed : Day+```++The _distinct_ literals are a subset of the above where we+want to tell the SMT solver that the values are *distinct*+i.e. **not equal** to each other, for example, you can+**additionally** specify this as:++```+distinct lit#Sun : Day+distinct lit#Mon : Day+distinct lit#Tue : Day+distinct lit#Wed : Day+```++The above two are represented programmatically by generating+suitable `Symbol` values (for the literals see `litSymbol`)+and `Sort` values as `FTC FTycon` and then making an `SEnv`+from the `[(Symbol, Sort)]`.++### Sorts++> What's the difference between an FTC and an FObj?++In early versions of fixpoint, there was support for +three sorts for expressions (`Expr`) that were sent +to the SMT solver:++1. `int`+2. `bool`+3. "other"++The `FObj` sort was introduced to represent essentially _all_ +non-int and non-bool values (e.g. tuples, lists, trees, pointers...)++However, we later realized that it is valuable to keep _more_+precise information for `Expr`s and so we introduced the `FTC`+(fixpoint type constructor), which lets us represent the above+respectively as:++- `FTC "String" []` -- in Haskell `String`+- `FTC "Tuple" [FInt, Bool]` -- in Haskell `(Int, Bool)`+- `FTC "List" [FTC "List" [FInt]]` -- in Haskell `[[Int]]`++> There is a comment that says FObj's are uninterpretted types;+> so probably a type the SMT solver doesn't know about?+> Does that then make FTC types that the SMT solver does+> know about (bools, ints, lists, sets, etc.)?++The SMT solver knows about `bool`, `int` and `set` (also `bitvector` +and `map`) but _all_ other types are _currently_ represented as plain +`Int` inside the SMT solver. However, we _will be_ changing this +to make use of SMT support for ADTs ...++To sum up: the `FObj` is there for historical reasons; it has been +subsumed by `FTC` which is what I recomend you use. However `FObj` +is there if you want a simple "unitype" / "any" type for terms +that are not "interpreted".++## Qualifier Patterns ++```haskell+λ> doParse' (qualParamP sortP) "" "z as (mon . $1) : int"+QP {qpSym = "z", qpPat = PatPrefix "mon" 1, qpSort = FInt}+λ> doParse' (qualParamP sortP) "" "z as ($1 . mon) : int"+QP {qpSym = "z", qpPat = PatSuffix 1 "mon", qpSort = FInt}+λ> doParse' (qualParamP sortP) "" "z as mon : int"+QP {qpSym = "z", qpPat = PatExact "mon", qpSort = FInt}+λ> doParse' (qualParamP sortP) "" "z : int"+QP {qpSym = "z", qpPat = PatNone, qpSort = FInt}+```
@@ -0,0 +1,18 @@+# TODO++## PLE2++```haskell+data GuardEquation = ...++guardEquation :: Equation -> GuardEquation+```+++## Example++## LH1424 GADTs/Coerce++- [*] Define coerce-consts (c.f. applySorts)+- [*] Encode coerce with coerce-consts+- [*] Encode trivial coerce- without ...
binary file changed (absent → 6148 bytes)
binary file changed (absent → 120 bytes)
@@ -1,10 +1,32 @@-import Language.Fixpoint.Solver (solveFQ)-import Language.Fixpoint.Types.Config (getOpts)-import System.Exit-import Language.Fixpoint.Misc (writeLoud) +import Language.Fixpoint.Solver (solveFQ)+import Language.Fixpoint.Horn.Solve (solveHorn)+import qualified Language.Fixpoint.Misc as Misc +import qualified Language.Fixpoint.Types as F +import qualified Language.Fixpoint.Types.Config as F +import qualified Language.Fixpoint.Utils.Files as F +import System.Exit+import qualified Control.Exception as Ex ++main :: IO () main = do- cfg <- getOpts- writeLoud $ "Options: " ++ show cfg- e <- solveFQ cfg+ cfg <- F.getOpts+ Misc.writeLoud ("Options: " ++ show cfg)+ e <- solveQuery cfg exitWith e++---------------------------------------------------------------------------+solveQuery :: F.Config -> IO ExitCode+solveQuery cfg = solver cfg `Ex.catch` errorExit+ where + solver + | isHorn cfg = solveHorn + | otherwise = solveFQ ++isHorn :: F.Config -> Bool +isHorn = F.isExtFile F.Smt2 . F.srcFile++errorExit :: F.Error -> IO ExitCode+errorExit e = do+ Misc.colorStrLn Misc.Sad ("Oops, unexpected error: " ++ F.showpp e)+ return (ExitFailure 2)
@@ -0,0 +1,32 @@+{ fetchgitLocal }:+{ mkDerivation, ansi-terminal, array, ascii-progress, async+, attoparsec, base, bifunctors, binary, boxes, bytestring, cereal+, cmdargs, containers, deepseq, directory, filemanip, filepath+, ghc-prim, hashable, intern, located-base, mtl, parallel, parsec, pretty+, process, stdenv, syb, tasty, tasty-hunit, tasty-rerun, text+, text-format, transformers, unordered-containers, z3+, dotgen, fgl, fgl-visualize+}:+mkDerivation {+ pname = "liquid-fixpoint";+ version = "9.9.9.9";+ src = fetchgitLocal ./.;+ isLibrary = true;+ isExecutable = true;+ libraryHaskellDepends = [+ ansi-terminal array ascii-progress async attoparsec base bifunctors+ binary boxes bytestring cereal cmdargs containers deepseq directory+ filemanip filepath ghc-prim hashable intern located-base mtl parallel parsec+ pretty process syb text text-format transformers+ unordered-containers+ dotgen fgl fgl-visualize+ ];+ executableHaskellDepends = [ base ];+ testHaskellDepends = [+ base directory filepath process tasty tasty-hunit tasty-rerun text+ ];+ testSystemDepends = [ z3 ];+ homepage = "https://github.com/ucsd-progsys/liquid-fixpoint";+ description = "Predicate Abstraction-based Horn-Clause/Implication Constraint Solver";+ license = stdenv.lib.licenses.bsd3;+}
@@ -1,237 +1,191 @@-name: liquid-fixpoint-version: 0.7.0.7-Copyright: 2010-17 Ranjit Jhala, University of California, San Diego.-synopsis: Predicate Abstraction-based Horn-Clause/Implication Constraint Solver-homepage: https://github.com/ucsd-progsys/liquid-fixpoint-license: BSD3-license-file: LICENSE-author: Ranjit Jhala, Niki Vazou, Eric Seidel-maintainer: jhala@cs.ucsd.edu-category: Language-build-type: Simple-cabal-version: >=1.10-Tested-With: GHC == 7.10.3, GHC == 8.0.1----description: This package is a Haskell wrapper to the SMTLIB-based- Horn-Clause/Logical Implication constraint solver used- for Liquid Types.- .- The package includes:- .- 1. Types for Expressions, Predicates, Constraints, Solutions- .- 2. Code for solving constraints- .- Requirements- .- In addition to the .cabal dependencies you require- .- - A Z3 (<http://z3.codeplex.com>) or CVC4 (<http://cvc4.cs.nyu.edu>) binary.--Extra-Source-Files: tests/neg/*.fq- , tests/pos/*.fq- , unix/Language/Fixpoint/Utils/*.hs- , win/Language/Fixpoint/Utils/*.hs- , tests/logs/cur/pin- , Makefile+name: liquid-fixpoint+version: 0.8.0.2+synopsis: Predicate Abstraction-based Horn-Clause/Implication Constraint Solver+description:+ This package implements an SMTLIB based Horn-Clause\/Logical Implication constraint+ solver used for Liquid Types.+ .+ The package includes:+ .+ 1. Types for Expressions, Predicates, Constraints, Solutions+ 2. Code for solving constraints+ .+ Requirements+ .+ In addition to the .cabal dependencies you require+ .+ * A Z3 (<http://z3.codeplex.com>) or CVC4 (<http://cvc4.cs.nyu.edu>) binary.+license: BSD3+license-file: LICENSE+copyright: 2010-17 Ranjit Jhala, University of California, San Diego.+author: Ranjit Jhala, Niki Vazou, Eric Seidel+maintainer: jhala@cs.ucsd.edu+tested-with: GHC == 7.10.3, GHC == 8.0.1, GHC == 8.4.3, GHC == 8.6.4+category: Language+homepage: https://github.com/ucsd-progsys/liquid-fixpoint+build-type: Simple+extra-source-files: tests/neg/*.fq+ tests/pos/*.fq+ unix/Language/Fixpoint/Utils/*.hs+ win/Language/Fixpoint/Utils/*.hs+ tests/logs/cur/pin+ Makefile+cabal-version: >= 1.10 -Source-Repository head- Type: git- Location: https://github.com/ucsd-progsys/liquid-fixpoint/+source-repository head+ type: git+ location: https://github.com/ucsd-progsys/liquid-fixpoint/ -Flag devel- Description: turn on stricter error reporting for development- Default: False- Manual: True+flag devel+ default: False+ manual: True+ description: turn on stricter error reporting for development -Executable fixpoint+library+ exposed-modules: Language.Fixpoint.Defunctionalize+ Language.Fixpoint.Graph+ Language.Fixpoint.Graph.Deps+ Language.Fixpoint.Graph.Indexed+ Language.Fixpoint.Graph.Partition+ Language.Fixpoint.Graph.Reducible+ Language.Fixpoint.Graph.Types+ Language.Fixpoint.Horn.Parse+ Language.Fixpoint.Horn.Solve+ Language.Fixpoint.Horn.Types+ Language.Fixpoint.Horn.Transformations+ Language.Fixpoint.Horn.Info+ Language.Fixpoint.Minimize+ Language.Fixpoint.Misc+ Language.Fixpoint.Parse+ Language.Fixpoint.Smt.Bitvector+ Language.Fixpoint.Smt.Interface+ Language.Fixpoint.Smt.Serialize+ Language.Fixpoint.Smt.Theories+ Language.Fixpoint.Smt.Types+ Language.Fixpoint.Solver+ Language.Fixpoint.Solver.Eliminate+ Language.Fixpoint.Solver.GradualSolution+ Language.Fixpoint.Solver.Instantiate+ Language.Fixpoint.Solver.Monad+ Language.Fixpoint.Solver.Sanitize+ Language.Fixpoint.Solver.Solution+ Language.Fixpoint.Solver.Solve+ Language.Fixpoint.Solver.TrivialSort+ Language.Fixpoint.Solver.UniqifyBinds+ Language.Fixpoint.Solver.UniqifyKVars+ Language.Fixpoint.Solver.Worklist+ Language.Fixpoint.SortCheck+ Language.Fixpoint.Types+ Language.Fixpoint.Types.Config+ Language.Fixpoint.Types.Constraints+ Language.Fixpoint.Types.Environments+ Language.Fixpoint.Types.Errors+ Language.Fixpoint.Types.Graduals+ Language.Fixpoint.Types.Names+ Language.Fixpoint.Types.PrettyPrint+ Language.Fixpoint.Types.Refinements+ Language.Fixpoint.Types.Solutions+ Language.Fixpoint.Types.Sorts+ Language.Fixpoint.Types.Spans+ Language.Fixpoint.Types.Substitutions+ Language.Fixpoint.Types.Templates+ Language.Fixpoint.Types.Theories+ Language.Fixpoint.Types.Triggers+ Language.Fixpoint.Types.Utils+ Language.Fixpoint.Types.Visitor+ Language.Fixpoint.Utils.Files+ Language.Fixpoint.Utils.Progress+ Language.Fixpoint.Utils.Statistics+ Language.Fixpoint.Utils.Trie+ Text.PrettyPrint.HughesPJ.Compat+ other-modules: Paths_liquid_fixpoint+ hs-source-dirs: src+ build-depends: base >= 4.9.1.0 && < 5+ , ansi-terminal+ , array+ , async+ , attoparsec+ , binary+ , boxes+ , cereal+ , cmdargs+ , containers+ , deepseq+ , directory+ , fgl+ , filepath+ , ghc-prim+ , hashable+ , intern+ , mtl+ , parallel+ , parsec+ , pretty >= 1.1.3.1+ , process+ , syb+ , syb+ , text+ , text-format+ , transformers+ , unordered-containers default-language: Haskell98- Main-is: Fixpoint.hs- ghc-options: -threaded -W -fno-warn-missing-methods- if flag(devel)- ghc-options: -Werror- hs-source-dirs: bin- Build-Depends: base >=4.8.1.0 && <5- , liquid-fixpoint+ ghc-options: -W -fno-warn-missing-methods -fwarn-missing-signatures -Library- default-language: Haskell98- ghc-options: -W -fno-warn-missing-methods if flag(devel)- ghc-options: -Werror- hs-source-dirs: src- Exposed-Modules: Language.Fixpoint.Types.Names,- Language.Fixpoint.Types.Errors,- Language.Fixpoint.Types.Config,- Language.Fixpoint.Types.Visitor,- Language.Fixpoint.Types.Theories,- Language.Fixpoint.Types.PrettyPrint,- Language.Fixpoint.Types.Spans,- Language.Fixpoint.Types.Sorts,- Language.Fixpoint.Types.Refinements,- Language.Fixpoint.Types.Substitutions,- Language.Fixpoint.Types.Environments,- Language.Fixpoint.Types.Constraints,- Language.Fixpoint.Types.Triggers,- Language.Fixpoint.Types.Solutions,- Language.Fixpoint.Types.Utils,- Language.Fixpoint.Types.Graduals,- Language.Fixpoint.Types,- Language.Fixpoint.Graph.Types,- Language.Fixpoint.Graph.Reducible,- Language.Fixpoint.Graph.Indexed,- Language.Fixpoint.Graph.Partition,- Language.Fixpoint.Graph.Deps,- Language.Fixpoint.Graph,- Language.Fixpoint.Defunctionalize,- Language.Fixpoint.Smt.Types,- Language.Fixpoint.Smt.Bitvector,- Language.Fixpoint.Smt.Theories,- Language.Fixpoint.Smt.Serialize,- Language.Fixpoint.Smt.Interface,- Language.Fixpoint.Minimize,- Language.Fixpoint.Solver,- Language.Fixpoint.Parse,- Language.Fixpoint.SortCheck,- Language.Fixpoint.Misc,- Language.Fixpoint.Utils.Progress,- Language.Fixpoint.Utils.Files,- Language.Fixpoint.Solver.GradualSolution,- Language.Fixpoint.Solver.Solution,- Language.Fixpoint.Solver.Worklist,- Language.Fixpoint.Solver.Monad,- Language.Fixpoint.Solver.TrivialSort,- Language.Fixpoint.Solver.UniqifyKVars,- Language.Fixpoint.Solver.UniqifyBinds,- Language.Fixpoint.Solver.Eliminate,- Language.Fixpoint.Solver.Instantiate,- Language.Fixpoint.Solver.Sanitize,- Language.Fixpoint.Utils.Statistics,- Language.Fixpoint.Solver.Solve-- Build-Depends: base >=4.8.1.0 && <5- , array- , async- , attoparsec- , syb- , cmdargs- , ansi-terminal- , bifunctors- , binary- , bytestring- , containers- , deepseq- , directory- , filemanip- , filepath- , ghc-prim- , intern- , mtl- , parsec- , pretty- , boxes- , parallel- , process- , syb- , text- , transformers- , hashable- , unordered-containers- , cereal- , text-format- , fgl- , fgl-visualize- , dotgen- , time- , parallel-io+ ghc-options: -Werror - if impl(ghc >= 7.10.2)- Build-Depends: located-base if !os(windows)- Build-Depends: ascii-progress >= 0.3 hs-source-dirs: unix+ build-depends: ascii-progress >= 0.3+ if os(windows) hs-source-dirs: win -test-suite test+executable fixpoint+ main-is: Fixpoint.hs+ hs-source-dirs: bin+ build-depends: base >= 4.9.1.0 && < 5, liquid-fixpoint default-language: Haskell98+ ghc-options: -threaded -W -fno-warn-missing-methods++ if flag(devel)+ ghc-options: -Werror++test-suite test type: exitcode-stdio-1.0+ main-is: test.hs+ other-modules: Paths_liquid_fixpoint hs-source-dirs: tests+ build-depends: base >= 4.9.1.0 && < 5+ , containers >= 0.5+ , directory+ , filepath+ , mtl >= 2.2.2+ , process+ , stm >= 2.4+ , tasty >= 0.10+ , tasty-ant-xml+ , tasty-hunit+ , tasty-hunit >= 0.9+ , tasty-rerun >= 1.1.12+ , transformers >= 0.5+ default-language: Haskell98 ghc-options: -threaded+ if flag(devel)- ghc-options: -Werror- main-is: test.hs- build-depends: base >= 4.8 && < 5,- directory,- filepath,- process,- stm >= 2.4,- containers >= 0.5,- mtl >= 2.1,- transformers >= 0.3,- tasty >= 0.10,- tasty-hunit,- tasty-rerun >= 1.1,- tasty-ant-xml,- tasty-hunit >= 0.9,- text+ ghc-options: -Werror test-suite testparser- default-language: Haskell98 type: exitcode-stdio-1.0+ main-is: testParser.hs hs-source-dirs: tests+ build-depends: base >= 4.9.1.0 && < 5+ , liquid-fixpoint+ , tasty >= 0.10+ , tasty-hunit+ , tasty-hunit >= 0.9+ default-language: Haskell98 ghc-options: -threaded- if flag(devel)- ghc-options: -Werror- main-is: testParser.hs- build-depends: base >= 4.8 && < 5,- directory,- filepath,- tasty >= 0.10,- tasty-hunit,- tasty-rerun >= 1.1,- tasty-ant-xml,- tasty-hunit >= 0.9,- text+ if flag(devel)- hs-source-dirs: tests src- build-depends:- array- , async- , attoparsec- , syb- , cmdargs- , ansi-terminal- , bifunctors- , binary- , bytestring- , containers- , deepseq- , directory- , filemanip- , filepath- , ghc-prim- , intern- , mtl- , parsec- , pretty- , boxes- , parallel- , process- , syb- , text- , transformers- , hashable- , unordered-containers- , cereal- , text-format- , fgl- , fgl-visualize- , dotgen- , time- if impl(ghc >= 7.10.2)- Build-Depends: located-base- else- build-depends: liquid-fixpoint+ ghc-options: -Werror
@@ -0,0 +1,137 @@+#!/bin/bash++set -eu+set -o pipefail++## Helper Functions++function loud {+ echo "$ $@"+ $@+}++# Source: https://github.com/travis-ci/travis-build/blob/fc4ae8a2ffa1f2b3a2f62533bbc4f8a9be19a8ae/lib/travis/build/script/templates/header.sh#L104-L123+RED="\033[31;1m"+GREEN="\033[32;1m"+RESET="\033[0m"+function travis_retry {+ local result=0+ local count=1+ while [ $count -le 3 ]; do+ [ $result -ne 0 ] && {+ echo -e "\n${RED}The command \"$@\" failed. Retrying, $count of 3.${RESET}\n" >&2+ }+ set +e+ "$@"+ result=$?+ set -e+ [ $result -eq 0 ] && break+ count=$(($count + 1))+ sleep 1+ done++ [ $count -eq 4 ] && {+ echo "\n${RED}The command \"$@\" failed 3 times.${RESET}\n" >&2+ }++ return $result+}++function prevent_timeout {+ local cmd="$@"++ $cmd &+ local cmd_pid=$!++ poke_stdout &+ local poke_pid=$!++ wait $cmd_pid+ exit_code=$?++ kill $poke_pid+ (wait $poke_pid 2>/dev/null) || true++ return $exit_code+}++function poke_stdout {+ # Print an invisible character every minute+ while true; do+ echo -ne "\xE2\x80\x8B"+ sleep 60+ done+}++function pastebin {+ curl -s -F 'clbin=<-' https://clbin.com+}++## Testing Stages++function clean_cache {+ local smt="$1"++ loud ghc-pkg unregister liquid-fixpoint --force || true+ loud rm "$HOME/.cabal/bin/$smt" || true+}++function install_smt {+ local smt="$1"++ mkdir -p "$HOME/.cabal/bin"+ loud curl "http://goto.ucsd.edu/~gridaphobe/$smt" -o "$HOME/.cabal/bin/$smt"+ loud chmod a+x "$HOME/.cabal/bin/$smt"+}++function install_cabal_deps {+ if ! _install_cabal_deps; then+ echo " ==> Cabal install failed. Clearing dependency cache and retrying."+ loud rm -rf "$HOME/.cabal"+ loud rm -rf "$HOME/.ghc"+ _install_cabal_deps+ fi+}++function _install_cabal_deps {+ loud travis_retry cabal update || return 1+ loud travis_retry cabal install --only-dependencies --enable-tests || return 1+}++function do_build {+ loud cabal configure -fbuild-external --enable-tests -v2+ loud prevent_timeout cabal build -j2+ loud cabal haddock+}++function do_test {+ loud prevent_timeout ./dist/build/test/test+}++function dump_fail_logs {+ find . -type f -wholename '*/.liquid/*' -name '*.log' -print0 | while IFS= read -r -d $'\0' file; do+ echo "${file}:"+ echo " $(pastebin < "${file}")"+ done+}++function test_source_pkg {+ loud cabal sdist++ local src_tgz="dist/$(cabal info . | awk '{print $2 ".tar.gz";exit}')"++ if [ -f "$src_tgz" ]; then+ loud prevent_timeout cabal install -j4 "$src_tgz"+ else+ echo "expected '$src_tgz' not found"+ return 1+ fi+}++## Run Test Stage++stage="$1"+shift++$stage "$@"+
@@ -0,0 +1,17 @@+{ nixpkgs ? import <nixpkgs> {}, compiler ? "default" }:++let++ inherit (nixpkgs) pkgs;++ f = import ./default.nix { inherit (pkgs) fetchgitLocal; };++ haskellPackages = if compiler == "default"+ then pkgs.haskellPackages+ else pkgs.haskell.packages.${compiler};++ drv = haskellPackages.callPackage f { inherit (pkgs) z3; };++in++ if pkgs.lib.inNixShell then drv.env else drv
@@ -0,0 +1,67 @@+module Language.Fixpoint.Congruence.Closure where ++-- import Data.Hashable+import Data.Interned+import Control.Monad+-- import Control.Monad.Except -- (MonadError(..))+import Control.Monad.State.Strict+import qualified Data.HashMap.Strict as M+import Language.Fixpoint.Congruence.Types +import Language.Fixpoint.Misc (ifM)++sat :: CongQuery -> Bool +sat = undefined++type UF = State UFState++data UFState = U + { ufPar :: M.HashMap Id Term -- ^ i :-> t IF term 'i' has union-find parent 't'+ , ufPreds :: M.HashMap Id [(Int, Term)] -- ^ i :-> (j, t) IF term 'i' is 'j'-th arg in application 't'+ }++parent :: Term -> UF (Maybe Term)+parent u = M.lookup (identity u) <$> gets ufPar++find :: Term -> UF Id+find u = do + mbU' <- parent u + case mbU' of+ Nothing -> return (identity u) + Just u' -> find u' ++union :: Term -> Term -> UF () +union _u _v = undefined -- _TODO ++preds :: Id -> UF [(Int, Term)]+preds = undefined -- _TODO ++isCong :: Term -> Term -> UF Bool +isCong = undefined -- _TODO ++isEq :: Term -> Term -> UF Bool +isEq u v = do + ui <- find u + vi <- find v + return (ui == vi)++congMerge :: (Int, Term) -> (Int, Term) -> UF ()+congMerge (i, u) (j, v) + | i == j = ifM (isEq u v) + (return ())+ (ifM (isCong u v) + (merge u v)+ (return ()))+ | otherwise = return () ++merge :: Term -> Term -> UF ()+merge u v = do + ui <- find u+ vi <- find v + unless (ui == vi) $ do + uPs <- preds ui + vPs <- preds vi + union u v+ forM_ uPs $ \u' ->+ forM_ vPs $ \v' -> + congMerge u' v'+
@@ -0,0 +1,100 @@+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE OverloadedStrings #-}++module Language.Fixpoint.Congruence.Types + ( -- * Queries + CongQuery (..)+ , Equality (..)+ , Disequality (..)+ + -- * Terms + , Term + , identity ++ -- * Constructors+ , app+ , var+ ) where++import Data.Function (on)+import Data.Hashable+import Data.Interned++import qualified Language.Fixpoint.Types as F ++-- 1. x = y => f x = f y+-- 2. f(f(f(x))) = x => f(f(f(f(f(x))))) = x => f(x) = a ++_examples = [t1, t2]+ where + t1 = app "f" [var "x", var "y"] + t2 = app "f" [var "x", var "y"] ++data CongQuery = Query [Equality] [Disequality] +data Equality = Eq Term Term+data Disequality = Diseq Term Term++--------------------------------------------------------------------------------+-- | Exported Constructors+--------------------------------------------------------------------------------+app :: F.Symbol -> [Term] -> Term+app f as = intern (BApp f as)++var :: F.Symbol -> Term+var x = intern (BVar x)++--------------------------------------------------------------------------------+-- | Hash-consed Term DataType+--------------------------------------------------------------------------------+data Term + = Var {-# UNPACK #-} !Id !F.Symbol + | App {-# UNPACK #-} !Id !F.Symbol [Term]+--------------------------------------------------------------------------------++data UninternedTerm+ = BVar !F.Symbol + | BApp !F.Symbol [Term] ++instance Interned Term where+ type Uninterned Term = UninternedTerm+ data Description Term = DVar F.Symbol+ | DApp F.Symbol [Id]+ deriving Show+ describe (BApp f as) = DApp f (identity <$> as) + describe (BVar x) = DVar x+ identify i = go + where+ go (BApp f as) = App i f as+ go (BVar x) = Var i x++ cache = termCache++identity :: Term -> Id+identity (App i _ _) = i+identity (Var i _) = i++instance Uninternable Term where+ unintern (App _ f as) = BApp f as+ unintern (Var _ x) = BVar x++termCache :: Cache Term+termCache = mkCache+{-# NOINLINE termCache #-}++instance Eq (Description Term) where+ DApp f as == DApp f' as' = f == f' && as == as'+ DVar x == DVar x' = x == x'+ _ == _ = False++instance Hashable (Description Term) where+ hashWithSalt s (DApp f a) = s `hashWithSalt` (0 :: Int) `hashWithSalt` f `hashWithSalt` a+ hashWithSalt s (DVar n) = s `hashWithSalt` (3 :: Int) `hashWithSalt` n++instance Eq Term where+ (==) = (==) `on` identity++instance Ord Term where+ compare = compare `on` identity+
@@ -18,25 +18,20 @@ -- `EApp` and `ELam` to determine the lambdas and redexes. -------------------------------------------------------------------------------- -module Language.Fixpoint.Defunctionalize+module Language.Fixpoint.Defunctionalize ( defunctionalize , Defunc(..) , defuncAny- , defuncAxioms- ) where+ ) where import qualified Data.HashMap.Strict as M import Data.Hashable-import Data.Maybe (isJust, maybeToList)-import qualified Data.List as L- import Control.Monad.State-import Language.Fixpoint.Misc (sortNub, fM, whenM, secondM, mapSnd)+import Language.Fixpoint.Misc (fM, secondM, mapSnd) import Language.Fixpoint.Solver.Sanitize (symbolEnv) import Language.Fixpoint.Types hiding (allowHO) import Language.Fixpoint.Types.Config-import Language.Fixpoint.SortCheck (checkSortExpr)-import Language.Fixpoint.Types.Visitor (mapMExpr, stripCasts)+import Language.Fixpoint.Types.Visitor (mapMExpr) -- import Debug.Trace (trace) defunctionalize :: (Fixpoint a) => Config -> SInfo a -> SInfo a@@ -45,11 +40,6 @@ defuncAny :: Defunc a => Config -> SymEnv -> a -> a defuncAny cfg env e = evalState (defunc e) (makeDFState cfg env emptyIBindEnv) -defuncAxioms :: (Defunc a) => Config -> SymEnv -> a -> (a, [Triggered Expr])-defuncAxioms cfg env z = flip evalState (makeDFState cfg env emptyIBindEnv) $ do- z' <- defunc z- as <- map noTrigger <$> makeAxioms- return (z', as) --------------------------------------------------------------------------------------------- -- | Expressions defunctionalization --------------------------------------------------------@@ -61,79 +51,11 @@ defuncExpr :: Expr -> DF Expr defuncExpr = mapMExpr reBind- >=> mapMExpr logLam- >=> mapMExpr logRedex >=> mapMExpr (fM normalizeLams) reBind :: Expr -> DF Expr reBind (ELam (x, s) e) = ((\y -> ELam (y, s) (subst1 e (x, EVar y))) <$> freshSym s) reBind e = return e--maxLamArg :: Int-maxLamArg = 7---- NIKI TODO: allow non integer lambda arguments--- sorts = [setSort intSort, bitVecSort intSort, mapSort intSort intSort, boolSort, realSort, intSort]--- makeLamArg :: Sort -> Int -> Symbol--- makeLamArg _ = intArgName-----------------------------------------------------------------------------------makeAxioms :: DF [Expr]-makeAxioms = do- alphEqs <- concatMap makeAlphaAxioms <$> getLams- betaEqs <- concatMap makeBetaAxioms <$> ({- tracepp "getRedexes" <$> -} getRedexes)- env <- gets dfEnv- return $ filter (validAxiom env) (alphEqs ++ betaEqs)--validAxiom :: SymEnv -> Expr -> Bool-validAxiom env = isJust . checkSortExpr (seSort env)------------------------------------------------------------------------------------- | Alpha Equivalence -------------------------------------------------------------------------------------------------------------------------------------------makeAlphaAxioms :: Expr -> [Expr]-makeAlphaAxioms = makeAlphaEq . normalizeLams--makeAlphaEq :: Expr -> [Expr]-makeAlphaEq e = go e ++ go' e- where- go ee- = makeEqForAll ee (normalize ee)- go' ee@(ELam (x, s) e)- = [makeEq ee ee'- | (i, ee') <- map (\j -> normalizeLamsFromTo j (ELam (x, s) e)) [1..maxLamArg-1]- , i <= maxLamArg ]- go' _- = []------------------------------------------------------------------------------------- | Normalizations ------------------------------------------------------------------------------------------------------------------------------------------------- head normal form [TODO: example]--normalize :: Expr -> Expr-normalize = snd . go- where- go (ELam (y, sy) e) = (i + 1, shiftLam i y sy e') where (i, e') = go e- -- y' = lamArgSymbol i' -- SHIFTLAM- -- in -- ELam (y', sy) (e' `subst1` (y, EVar y')))-- go (EApp e e2)- | (ELam (x, _) bd) <- unECst e- = let (i1, e1') = go bd- (i2, e2') = go e2- in (max i1 i2, e1' `subst1` (x, e2'))- go (EApp e1 e2) = let (i1, e1') = go e1- (i2, e2') = go e2- in (max i1 i2, EApp e1' e2')- go (ECst e s) = mapSnd (`ECst` s) (go e)- go (PAll bs e) = mapSnd (PAll bs) (go e)- go e = (1, e)-- unECst (ECst e _) = unECst e- unECst e = e- shiftLam :: Int -> Symbol -> Sort -> Expr -> Expr shiftLam i x t e = ELam (x_i, t) (e `subst1` (x, x_i_t)) where@@ -159,43 +81,7 @@ go (PAll bs e) = mapSnd (PAll bs) (go e) go e = (i, e) ------------------------------------------------------------------------------------ | Beta Equivalence --------------------------------------------------------------------------------------------------------------------------------------------makeBetaAxioms :: Expr -> [Expr]-makeBetaAxioms e = makeEqForAll (normalizeLams e) (normalize e)- -- where- -- e = trace ("BETA-NL e = " ++ showpp e0) e0 -makeEq :: Expr -> Expr -> Expr-makeEq e1 e2- | e1 == e2 = PTrue- | otherwise = EEq e1 e2--makeEqForAll :: Expr -> Expr -> [Expr]-makeEqForAll e1 e2 = [ makeEq (closeLam su e1') (closeLam su e2') | su <- instantiate xs]- where- (xs1, e1') = splitPAll [] e1- (xs2, e2') = splitPAll [] e2- xs = L.nub (xs1 ++ xs2)--closeLam :: [(Symbol, (Symbol, Sort))] -> Expr -> Expr-closeLam ((x,(y,s)):su) e = ELam (y,s) (subst1 (closeLam su e) (x, EVar y))-closeLam [] e = e--splitPAll :: [(Symbol, Sort)] -> Expr -> ([(Symbol, Sort)], Expr)-splitPAll acc (PAll xs e) = splitPAll (acc ++ xs) e-splitPAll acc e = (acc, e)--instantiate :: [(Symbol, Sort)] -> [[(Symbol, (Symbol, Sort))]]-instantiate = choices . map inst1- where- inst1 (x, s) = [(x, (lamArgSymbol i, s)) | i <- [1..maxLamArg]]--choices :: [[a]] -> [[a]]-choices [] = [[]]-choices (xs:xss) = [a:as | a <- xs, as <- choices xss]- -------------------------------------------------------------------------------- -- | Containers defunctionalization -------------------------------------------- --------------------------------------------------------------------------------@@ -213,14 +99,12 @@ bs' <- defunc $ bs fi ass' <- defunc $ asserts fi -- NOPROP quals' <- defunc $ quals fi- axioms <- makeAxioms return $ fi { cm = cm' , ws = ws' , gLits = gLits' , dLits = dLits' , bs = bs'- -- NOPROP , quals = quals'- , asserts = (noTrigger <$> axioms) ++ ass'+ , asserts = ass' } instance (Defunc a) => Defunc (Triggered a) where@@ -288,13 +172,7 @@ { dfFresh :: !Int , dfEnv :: !SymEnv , dfBEnv :: !IBindEnv- , dfLam :: !Bool -- ^ normalize lams- , dfExt :: !Bool -- ^ enable extensionality axioms- , dfAEq :: !Bool -- ^ enable alpha equivalence axioms- , dfBEq :: !Bool -- ^ enable beta equivalence axioms- , dfNorm :: !Bool -- ^ enable normal form axioms , dfHO :: !Bool -- ^ allow higher order thus defunctionalize- , dfLNorm :: !Bool , dfLams :: ![Expr] -- ^ lambda expressions appearing in the expressions , dfRedex :: ![Expr] -- ^ redexes appearing in the expressions , dfBinds :: !(SEnv Sort) -- ^ sorts of new lambda-binders@@ -305,13 +183,7 @@ { dfFresh = 0 , dfEnv = env , dfBEnv = ibind- , dfLam = True- , dfExt = False- , dfAEq = alphaEquivalence cfg- , dfBEq = betaEquivalence cfg- , dfNorm = normalForm cfg , dfHO = allowHO cfg || defunction cfg- , dfLNorm = True -- INVARIANT: lambads and redexes are not defunctionalized , dfLams = [] , dfRedex = []@@ -334,53 +206,7 @@ modify $ \s -> s {dfFresh = n + 1, dfBinds = insertSEnv x t (dfBinds s)} return x -logLam :: Expr -> DF Expr-logLam e = whenM (gets dfAEq) (putLam e) >> return e -logRedex :: Expr -> DF Expr-logRedex e = do- whenM (gets dfBEq) $- when ({- tracepp ("isRedex:" ++ showpp e) $ -} isRedex e)- (modify $ \s -> s { dfRedex = ({- tracepp "putRedex" -} e) : dfRedex s })- return e-- -- (putRedex (tracepp "isRedex" e)) >> return e--putLam :: Expr -> DF ()-putLam e@(ELam {}) = modify $ \s -> s { dfLams = e : dfLams s}-putLam _ = return ()--isRedex :: Expr -> Bool-isRedex (EApp f _)- | ELam _ _ <- stripCasts f = True-isRedex _ = False----- putRedex :: Expr -> DF ()--- putRedex e@(EApp f _) = case stripCasts f of- -- ELam _ _ -> modify $ \s -> s { dfRedex = (tracepp "putRedex" e) : dfRedex s }- -- e' -> return $ tracepp ("SKIP-Redex" ++ showpp e') ()--- putRedex _ = return ()-- -- | getLams and getRedexes return the (previously seen) lambdas and redexes, -- after "closing" them by quantifying out free vars corresponding to the -- fresh binders in `dfBinds`.-getLams :: DF [Expr]-getLams = getClosedField dfLams--getRedexes :: DF [Expr]-getRedexes = getClosedField dfRedex--getClosedField :: (DFST -> [Expr]) -> DF [Expr]-getClosedField fld = do- env <- gets dfBinds- es <- gets fld- return (closeLams env <$> es)--closeLams :: SEnv Sort -> Expr -> Expr-closeLams env e = PAll (freeBinds env e) e--freeBinds :: SEnv Sort -> Expr -> [(Symbol, Sort)]-freeBinds env e = [ (y, t) | y <- sortNub (syms e)- , t <- maybeToList (lookupSEnv y env) ]
@@ -28,6 +28,7 @@ import Prelude hiding (init) import Data.Maybe (mapMaybe, fromMaybe)+import Data.Semigroup (Semigroup (..)) import Data.Tree (flatten) import Language.Fixpoint.Misc import Language.Fixpoint.Utils.Files@@ -46,7 +47,7 @@ import qualified Data.Graph as G import Data.Function (on) import Data.Hashable-import Text.PrettyPrint.HughesPJ+import Text.PrettyPrint.HughesPJ.Compat import Debug.Trace (trace) --------------------------------------------------------------------------------@@ -200,10 +201,12 @@ edgeGraph :: [CEdge] -> KVGraph edgeGraph es = KVGraph [(v, v, vs) | (v, vs) <- groupList es ] +-- need to plumb list of ebinds kvEdges :: (F.TaggedC c a) => F.GInfo c a -> [CEdge]-kvEdges fi = selfes ++ concatMap (subcEdges bs) cs+kvEdges fi = selfes ++ concatMap (subcEdges bs) cs ++ concatMap (ebindEdges ebs bs) cs where bs = F.bs fi+ ebs = F.ebinds fi cs = M.elems (F.cm fi) ks = fiKVars fi selfes = [(Cstr i , Cstr i) | c <- cs, let i = F.subcId c]@@ -213,6 +216,21 @@ fiKVars :: F.GInfo c a -> [F.KVar] fiKVars = M.keys . F.ws +ebindEdges :: (F.TaggedC c a) => [F.BindId] -> F.BindEnv -> c a -> [CEdge]+ebindEdges ebs bs c = [(EBind k, Cstr i ) | k <- envEbinds xs bs c ]+ ++ [(Cstr i, EBind k') | k' <- rhsEbinds xs c ]+ where+ i = F.subcId c+ xs = fst . flip F.lookupBindEnv bs <$> ebs++envEbinds :: (F.TaggedC c a, Foldable t) =>+ t F.Symbol -> F.BindEnv -> c a -> [F.Symbol]+envEbinds xs be c = [ x | x <- envBinds , x `elem` xs ]+ where envBinds = fst <$> F.clhs be c+rhsEbinds :: (Foldable t, F.TaggedC c a) =>+ t F.Symbol -> c a -> [F.Symbol]+rhsEbinds xs c = [ x | x <- F.syms (F.crhs c) , x `elem` xs ]+ subcEdges :: (F.TaggedC c a) => F.BindEnv -> c a -> [CEdge] subcEdges bs c = [(KVar k, Cstr i ) | k <- V.envKVars bs c] ++ [(Cstr i, KVar k') | k' <- V.rhsKVars c ]@@ -222,10 +240,10 @@ -------------------------------------------------------------------------------- -- | Eliminated Dependencies ---------------------------------------------------------------------------------elimDeps :: (F.TaggedC c a) => F.GInfo c a -> [CEdge] -> S.HashSet F.KVar -> CDeps-elimDeps si es nonKutVs = graphDeps si es'+elimDeps :: (F.TaggedC c a) => F.GInfo c a -> [CEdge] -> S.HashSet F.KVar -> S.HashSet F.Symbol -> CDeps+elimDeps si es nonKutVs ebs = graphDeps si es' where- es' = graphElim es nonKutVs+ es' = graphElim es nonKutVs ebs _msg = "graphElim: " ++ show (length es') {- | `graphElim` "eliminates" a kvar k by replacing every "path"@@ -236,19 +254,26 @@ ki ------------> c -}-graphElim :: [CEdge] -> S.HashSet F.KVar -> [CEdge]-graphElim es ks = ikvgEdges $ elimKs ks $ edgesIkvg es+graphElim :: [CEdge] -> S.HashSet F.KVar -> S.HashSet F.Symbol -> [CEdge]+graphElim es ks _ebs = ikvgEdges $ -- elimEs (S.map EBind ebs) $+ elimKs (S.map KVar ks) $ edgesIkvg es where elimKs = flip (S.foldl' elimK)+ _elimEs = flip (S.foldl' elimE) -elimK :: IKVGraph -> F.KVar -> IKVGraph-elimK g k = (g `addLinks` es') `delNodes` (kV : cis)+elimE :: IKVGraph -> CVertex -> IKVGraph+elimE g e = g `delNodes` (e : cs)+ where cs = getPreds g e++elimK :: IKVGraph -> CVertex -> IKVGraph+elimK g kV = (g `addLinks` es') `delNodes` (kV : cis) where- es' = [(ki, c) | ki@(KVar _) <- kis, c@(Cstr _) <- cs]+ es' = [(ki, c) | ki <- filter unC kis, c@(Cstr _) <- cs] cs = getSuccs g kV cis = getPreds g kV kis = concatMap (getPreds g) cis- kV = KVar k+ unC (Cstr _) = False+ unC _ = True -------------------------------------------------------------------------------- -- | Generic Dependencies ------------------------------------------------------@@ -265,9 +290,12 @@ where ppSize = pprint . S.size +instance (Eq a, Hashable a) => Semigroup (Elims a) where+ Deps d1 n1 <> Deps d2 n2 = Deps (S.union d1 d2) (S.union n1 n2)+ instance (Eq a, Hashable a) => Monoid (Elims a) where- mempty = Deps S.empty S.empty- mappend (Deps d1 n1) (Deps d2 n2) = Deps (S.union d1 d2) (S.union n1 n2)+ mempty = Deps S.empty S.empty+ mappend = (<>) dCut, dNonCut :: (Hashable a) => a -> Elims a dNonCut v = Deps S.empty (S.singleton v)@@ -527,7 +555,7 @@ graphStats :: F.TaggedC c a => Config -> F.GInfo c a -> Stats graphStats cfg si = Stats {- stNumKVCuts = S.size $ F.tracepp "CUTS:" (depCuts d)+ stNumKVCuts = S.size (depCuts d) , stNumKVNonLin = S.size nlks , stNumKVTotal = S.size (depCuts d) + S.size (depNonCuts d) , stIsReducible = isReducible si
@@ -38,7 +38,8 @@ -- import Data.Function (on) import Data.Maybe (fromMaybe) import Data.Hashable-import Text.PrettyPrint.HughesPJ+import Data.Semigroup (Semigroup (..))+import Text.PrettyPrint.HughesPJ.Compat import Data.List (sortBy) -- import qualified Data.HashSet as S @@ -55,12 +56,15 @@ , pcm :: !(M.HashMap Integer (c a)) } +instance Semigroup (CPart c a) where+ l <> r = CPart { pws = pws l <> pws r+ , pcm = pcm l <> pcm r+ }+ instance Monoid (CPart c a) where mempty = CPart mempty mempty- mappend l r = CPart { pws = pws l `mappend` pws r- , pcm = pcm l `mappend` pcm r- }-+ mappend = (<>)+ -------------------------------------------------------------------------------- -- | Multicore info ------------------------------------------------------------ --------------------------------------------------------------------------------
@@ -50,7 +50,7 @@ import GHC.Generics (Generic) import Data.Hashable-import Text.PrettyPrint.HughesPJ+import Text.PrettyPrint.HughesPJ.Compat import Language.Fixpoint.Misc -- hiding (group) import Language.Fixpoint.Types.PrettyPrint@@ -66,13 +66,15 @@ data CVertex = KVar !KVar -- ^ real kvar vertex | DKVar !KVar -- ^ dummy to ensure each kvar has a successor+ | EBind !F.Symbol -- ^ existentially bound "ghost paramter" to solve for | Cstr !Integer -- ^ constraint-id which creates a dependency deriving (Eq, Ord, Show, Generic) instance PPrint CVertex where pprintTidy _ (KVar k) = doubleQuotes $ pprint $ kv k- pprintTidy _ (Cstr i) = text "id_" <> pprint i- pprintTidy _ (DKVar k) = pprint k <> text "*"+ pprintTidy _ (EBind s) = doubleQuotes $ pprint $ s+ pprintTidy _ (Cstr i) = text "id_" <-> pprint i+ pprintTidy _ (DKVar k) = pprint k <-> text "*" instance Hashable CVertex
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveFoldable #-}+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveTraversable #-}++module Language.Fixpoint.Horn.Info (+ hornFInfo+ ) where++import qualified Data.HashMap.Strict as M+import qualified Data.List as L+import qualified Data.Tuple as Tuple+import qualified Data.Maybe as Mb+import Data.Either (partitionEithers)+import GHC.Generics (Generic)+import qualified Language.Fixpoint.Misc as Misc+import qualified Language.Fixpoint.Types as F+import qualified Language.Fixpoint.Horn.Types as H++hornFInfo :: H.Query a -> F.FInfo a+hornFInfo q = mempty+ { F.cm = cs+ , F.bs = be2+ , F.ebinds = ebs+ , F.ws = kvEnvWfCs kve+ , F.quals = H.qQuals q+ , F.gLits = F.fromMapSEnv $ H.qCon q+ , F.dLits = F.fromMapSEnv $ H.qDis q+ }+ where+ be0 = F.emptyBindEnv+ (be1, kve) = hornWfs be0 (H.qVars q)+ (be2, ebs, cs) = hornSubCs be1 kve hCst+ hCst = H.qCstr q++----------------------------------------------------------------------------------+hornSubCs :: F.BindEnv -> KVEnv a -> H.Cstr a+ -> (F.BindEnv, [F.BindId], M.HashMap F.SubcId (F.SubC a))+----------------------------------------------------------------------------------+hornSubCs be kve c = (be', ebs, M.fromList (F.addIds cs))+ where+ (be', ebs, cs) = goS kve F.emptyIBindEnv lhs0 be c+ lhs0 = bindSortedReft kve H.dummyBind++-- | @goS@ recursively traverses the NNF constraint to build up a list+-- of the vanilla @SubC@ constraints.++goS :: KVEnv a -> F.IBindEnv -> F.SortedReft -> F.BindEnv -> H.Cstr a+ -> (F.BindEnv, [F.BindId], [F.SubC a])++goS kve env lhs be c = (be', mEbs, subcs)+ where+ (be', ecs) = goS' kve env lhs be c+ (mEbs, subcs) = partitionEithers ecs++goS' :: KVEnv a -> F.IBindEnv -> F.SortedReft -> F.BindEnv -> H.Cstr a+ -> (F.BindEnv, [Either F.BindId (F.SubC a)])+goS' kve env lhs be (H.Head p l) = (be, [Right subc])+ where+ subc = F.mkSubC env lhs rhs Nothing [] l+ rhs = updSortedReft kve lhs p++goS' kve env lhs be (H.CAnd cs) = (be', concat subcss)+ where+ (be', subcss) = L.mapAccumL (goS' kve env lhs) be cs++goS' kve env _ be (H.All b c) = (be'', subcs)+ where+ (be'', subcs) = goS' kve env' bSR be' c+ (bId, be') = F.insertBindEnv (H.bSym b) bSR be+ bSR = bindSortedReft kve b+ env' = F.insertsIBindEnv [bId] env++goS' kve env _ be (H.Any b c) = (be'', Left bId : subcs)+ where+ (be'', subcs) = goS' kve env' bSR be' c+ (bId, be') = F.insertBindEnv (H.bSym b) bSR be+ bSR = bindSortedReft kve b+ env' = F.insertsIBindEnv [bId] env++bindSortedReft :: KVEnv a -> H.Bind -> F.SortedReft+bindSortedReft kve (H.Bind x t p) = F.RR t (F.Reft (x, predExpr kve p))++updSortedReft :: KVEnv a -> F.SortedReft -> H.Pred -> F.SortedReft+updSortedReft kve (F.RR s (F.Reft (v, _))) p = F.RR s (F.Reft (v, predExpr kve p))++predExpr :: KVEnv a -> H.Pred -> F.Expr+predExpr kve = go+ where+ go (H.Reft e ) = e+ go (H.Var k ys) = kvApp kve k ys+ go (H.PAnd ps) = F.PAnd (go <$> ps)++kvApp :: KVEnv a -> F.Symbol -> [F.Symbol] -> F.Expr+kvApp kve k ys = F.PKVar (F.KV k) su+ where+ su = F.mkSubst (zip params (F.eVar <$> ys))+ params = Mb.fromMaybe err1 $ kvParams <$> M.lookup k kve+ err1 = F.panic ("Unknown Horn variable: " ++ F.showpp k)++----------------------------------------------------------------------------------+hornWfs :: F.BindEnv -> [H.Var a] -> (F.BindEnv, KVEnv a)+----------------------------------------------------------------------------------+hornWfs be vars = (be', kve)+ where+ kve = M.fromList [ (kname i, i) | i <- is ]+ (be', is) = L.mapAccumL kvInfo be vars+ kname = H.hvName . kvVar++kvInfo :: F.BindEnv -> H.Var a -> (F.BindEnv, KVInfo a)+kvInfo be k = (be', KVInfo k (fst <$> xts) wfc)+ where+ -- make the WfC+ wfc = F.WfC wenv wrft (H.hvMeta k)+ wenv = F.fromListIBindEnv ids+ wrft = (x, t, F.KV (H.hvName k))+ -- add the binders+ (be', ids) = L.mapAccumL insertBE be xts'+ ((x,t), xts') = Misc.safeUncons "Horn var with no args" xts+ -- make the parameters+ xts = [ (hvarArg k i, t) | (t, i) <- zip (H.hvArgs k) [0..] ]++insertBE :: F.BindEnv -> (F.Symbol, F.Sort) -> (F.BindEnv, F.BindId)+insertBE be (x, t) = Tuple.swap $ F.insertBindEnv x (F.trueSortedReft t) be++----------------------------------------------------------------------------------+-- | Data types and helpers for manipulating information about KVars+----------------------------------------------------------------------------------+type KVEnv a = M.HashMap F.Symbol (KVInfo a)++data KVInfo a = KVInfo+ { kvVar :: !(H.Var a)+ , kvParams :: ![F.Symbol]+ , kvWfC :: !(F.WfC a)+ }+ deriving (Generic, Functor)++kvEnvWfCs :: KVEnv a -> M.HashMap F.KVar (F.WfC a)+kvEnvWfCs kve = M.fromList [ (F.KV k, kvWfC info) | (k, info) <- M.toList kve ]++hvarArg :: H.Var a -> Int -> F.Symbol+hvarArg k i = F.intSymbol (F.suffixSymbol hvarPrefix (H.hvName k)) i++hvarPrefix :: F.Symbol+hvarPrefix = F.symbol "nnf_arg"
@@ -0,0 +1,109 @@++{-# LANGUAGE DeriveFunctor #-}++module Language.Fixpoint.Horn.Parse (hornP) where ++import Language.Fixpoint.Parse+import qualified Language.Fixpoint.Types as F +import qualified Language.Fixpoint.Horn.Types as H +import Text.Parsec hiding (State)+import qualified Data.HashMap.Strict as M++-------------------------------------------------------------------------------+hornP :: Parser (H.Query (), [String])+-------------------------------------------------------------------------------+hornP = do+ hThings <- many hThingP+ pure (mkQuery hThings, [ o | HOpt o <- hThings ])++mkQuery :: [HThing a] -> H.Query a+mkQuery things = H.Query+ { H.qQuals = [ q | HQual q <- things ] + , H.qVars = [ k | HVar k <- things ] + , H.qCstr = H.CAnd [ c | HCstr c <- things ] + , H.qCon = M.fromList [ (x,t) | HCon x t <- things]+ , H.qDis = M.fromList [ (x,t) | HDis x t <- things]+ }++-- | A @HThing@ describes the kinds of things we may see, in no particular order+-- in a .smt2 query file.++data HThing a+ = HQual !F.Qualifier+ | HVar !(H.Var a)+ | HCstr !(H.Cstr a)+ + -- for uninterpred functions and ADT constructors+ | HCon F.Symbol F.Sort+ | HDis F.Symbol F.Sort++ | HOpt !String+ deriving (Functor)++hThingP :: Parser (HThing ())+hThingP = parens body + where + body = HQual <$> (reserved "qualif" *> hQualifierP)+ <|> HCstr <$> (reserved "constraint" *> hCstrP)+ <|> HVar <$> (reserved "var" *> hVarP)+ <|> HOpt <$> (reserved "fixpoint" *> stringLiteral)+ <|> HCon <$> (reserved "constant" *> symbolP) <*> sortP+ <|> HDis <$> (reserved "distinct" *> symbolP) <*> sortP++-------------------------------------------------------------------------------+hCstrP :: Parser (H.Cstr ())+-------------------------------------------------------------------------------+hCstrP = parens body + where + body = H.CAnd <$> (reserved "and" *> many1 hCstrP)+ <|> H.All <$> (reserved "forall" *> hBindP) <*> hCstrP + <|> H.Any <$> (reserved "exists" *> hBindP) <*> hCstrP + <|> H.Head <$> hPredP <*> pure ()++hBindP :: Parser H.Bind+hBindP = parens $ do + (x, t) <- symSortP+ p <- hPredP + return $ H.Bind x t p+ +-------------------------------------------------------------------------------+hPredP :: Parser H.Pred +-------------------------------------------------------------------------------+hPredP = parens body + where + body = H.Var <$> kvSymP <*> many1 symbolP+ <|> H.PAnd <$> (reserved "and" *> many1 hPredP)+ <|> H.Reft <$> predP ++kvSymP :: Parser F.Symbol +kvSymP = char '$' *> symbolP ++-------------------------------------------------------------------------------+-- | Qualifiers+-------------------------------------------------------------------------------+hQualifierP :: Parser F.Qualifier+hQualifierP = do+ pos <- getPosition+ n <- upperIdP+ params <- parens (many1 symSortP) + body <- parens predP+ return $ F.mkQual n (mkParam <$> params) body pos++mkParam :: (F.Symbol, F.Sort) -> F.QualParam +mkParam (x, t) = F.QP x F.PatNone t++-------------------------------------------------------------------------------+-- | Horn Variables +-------------------------------------------------------------------------------++hVarP :: Parser (H.Var ())+hVarP = H.HVar <$> kvSymP <*> parens (many1 (parens sortP)) <*> pure ()++-------------------------------------------------------------------------------+-- | Helpers +-------------------------------------------------------------------------------++symSortP :: Parser (F.Symbol, F.Sort)+symSortP = parens ((,) <$> symbolP <*> sortP)++
@@ -0,0 +1,64 @@+-------------------------------------------------------------------------------+-- | This module defines a function to solve NNF constraints,+-- by reducing them to the standard FInfo.+-------------------------------------------------------------------------------++module Language.Fixpoint.Horn.Solve (solveHorn, solve) where++import System.Exit+import Control.DeepSeq+import qualified Language.Fixpoint.Solver as Solver+import qualified Language.Fixpoint.Parse as Parse+import qualified Language.Fixpoint.Types as F+import qualified Language.Fixpoint.Types.Config as F+import qualified Language.Fixpoint.Horn.Types as H+import qualified Language.Fixpoint.Horn.Parse as H+import qualified Language.Fixpoint.Horn.Transformations as Tx+import Language.Fixpoint.Horn.Info++import System.Console.CmdArgs.Verbosity++-- import Debug.Trace (traceM)++----------------------------------------------------------------------------------+solveHorn :: F.Config -> IO ExitCode+----------------------------------------------------------------------------------+solveHorn cfg = do+ (q, opts) <- Parse.parseFromFile H.hornP (F.srcFile cfg)++ -- If you want to set --eliminate=none, you better make it a pragma+ cfg <- if F.eliminate cfg == F.None+ then pure (cfg { F.eliminate = F.Some })+ else pure cfg+ cfg <- F.withPragmas cfg opts++ r <- solve cfg q+ Solver.resultExitCode (fst <$> r)++----------------------------------------------------------------------------------+eliminate :: (F.PPrint a) => F.Config -> H.Query a -> IO (H.Query a)+----------------------------------------------------------------------------------+eliminate cfg q+ | F.eliminate cfg == F.Existentials = do+ q <- Tx.solveEbs cfg q+ -- b <- SI.checkValid cfg "/tmp/asdf.smt2" [] F.PTrue $ Tx.cstrToExpr side+ -- if b then print "checked side condition" else error "side failed"+ pure q+ | F.eliminate cfg == F.Horn = do+ let c = Tx.elim $ H.qCstr q+ whenLoud $ putStrLn "Horn Elim:"+ whenLoud $ putStrLn $ F.showpp c+ pure $ q { H.qCstr = c }+ | otherwise = pure q++----------------------------------------------------------------------------------+solve :: (F.PPrint a, NFData a, F.Loc a, Show a, F.Fixpoint a) => F.Config -> H.Query a+ -> IO (F.Result (Integer, a))+----------------------------------------------------------------------------------+solve cfg q = do+ let c = Tx.uniq $ Tx.flatten $ H.qCstr q+ whenLoud $ putStrLn "Horn Uniq:"+ whenLoud $ putStrLn $ F.showpp c+ q <- eliminate cfg ({- void $ -} q { H.qCstr = c })+ Solver.solve cfg (hornFInfo q)+
@@ -0,0 +1,1132 @@+{-# LANGUAGE PatternGuards #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TupleSections #-}+module Language.Fixpoint.Horn.Transformations (+ uniq+ , flatten+ , elim+ , elimPis+ , solveEbs+ , cstrToExpr+) where++import Language.Fixpoint.Horn.Types+import Language.Fixpoint.Horn.Info+import Language.Fixpoint.Smt.Theories as F+import qualified Language.Fixpoint.Types as F+import qualified Language.Fixpoint.Types.Config as F+import Language.Fixpoint.Graph as FG+import qualified Data.HashMap.Strict as M+import Data.String (IsString (..))+import Data.Either (partitionEithers)+import Data.List (nub)+import qualified Data.Set as S+import qualified Data.HashSet as HS+import qualified Data.Graph as DG+import Control.Monad.State+import Data.Bifunctor (second)+import Data.Maybe (catMaybes, mapMaybe, fromMaybe)+import Language.Fixpoint.Types.Visitor as V+import System.Console.CmdArgs.Verbosity++-- import Debug.Trace+-- traceShowId = id+trace :: a -> b -> b+trace _msg v = v++-- $setup+-- >>> :l src/Language/Fixpoint/Horn/Transformations.hs src/Language/Fixpoint/Horn/Parse.hs+-- >>> :m + *Language.Fixpoint.Horn.Parse+-- >>> import Language.Fixpoint.Parse+-- >>> :set -XOverloadedStrings++{- | flatten removes redundant `and`s and empty conjuncts.++For example:+>>> :{+flatten $ doParse' hCstrP "" "(forall ((VV##15 int) (VV##15 == anf##3)) \+ \ ((and (and \+ \ ($k13 VV##15 anf##3 moo##5) \+ \ (true)))))"+:}+(forall ((VV##15 int) (VV##15 == anf##3)) ((k13 VV##15 anf##3 moo##5)))+-}++class Flatten a where+ flatten :: a -> a++instance Flatten (Cstr a) where+ flatten (CAnd cs) = case flatten cs of+ [c] -> c+ cs -> CAnd cs+ flatten (Head p a) = Head (flatten p) a+ flatten (All (Bind x t p) c) = All (Bind x t (flatten p)) (flatten c)+ flatten (Any (Bind x t p) c) = Any (Bind x t (flatten p)) (flatten c)++instance Flatten [Cstr a] where+ flatten (CAnd cs : xs) = flatten cs ++ flatten xs+ flatten (x:xs)+ | Head (Reft p) _ <- fx+ , F.isTautoPred p = flatten xs+ | otherwise = fx:flatten xs+ where fx = flatten x+ flatten [] = []++instance Flatten Pred where+ flatten (PAnd ps) = case flatten ps of+ [p] -> p+ ps -> PAnd ps+ flatten p = p++instance Flatten [Pred] where+ flatten (PAnd ps' : ps) = flatten ps' ++ flatten ps+ flatten (p : ps)+ | Reft e <- fp+ , F.isTautoPred e = flatten ps+ | otherwise = fp : flatten ps+ where fp = flatten p+ flatten [] = []++instance Flatten F.Expr where+ flatten (F.PAnd ps) = case flatten ps of+ [p] -> p+ ps -> F.PAnd ps+ flatten p = p++instance Flatten [F.Expr] where+ flatten (F.PAnd ps' : ps) = flatten ps' ++ flatten ps+ flatten (p : ps)+ | F.isTautoPred fp = flatten ps+ | otherwise = fp : flatten ps+ where fp = flatten p+ flatten [] = []++-- type Sol a = M.HashMap F.Symbol (Either (Either [[Bind]] (Cstr a)) F.Expr)+------------------------------------------------------------------------------+-- | solveEbs has some preconditions+-- - pi -> k -> pi structure. That is, there are no cycles, and while ks+-- can depend on other ks, pis cannot directly depend on other pis+-- - predicate for exists binder is `true`. This doesn't seem hard to lift,+-- but I just haven't tested it/thought too hard about what the correct+-- behavior in this case is.+-- - There is at least one ebind+solveEbs :: (F.PPrint a) => F.Config -> Query a -> IO (Query a)+------------------------------------------------------------------------------+solveEbs cfg query@(Query qs vs c cons dist) = do+ let normalizedC = flatten . pruneTauts $ hornify c+ whenLoud $ putStrLn "Normalized EHC:"+ whenLoud $ putStrLn $ F.showpp normalizedC++ if isNNF c then pure $ Query qs vs normalizedC cons dist else do+ let kvars = boundKvars normalizedC++ let poked = pokec normalizedC+ whenLoud $ putStrLn "Horn pokec:"+ whenLoud $ putStrLn $ F.showpp poked++ let (Just _horn, Just _side) = split poked+ let horn = flatten . pruneTauts $ _horn+ let side = flatten . pruneTauts $ _side+ whenLoud $ putStrLn "Horn split:"+ whenLoud $ putStrLn $ F.showpp (horn, side)++ let pivars = boundKvars poked `S.difference` kvars+ let piSols = M.fromList $ fmap (\pivar -> (pivar, piDefConstr pivar horn)) (S.toList pivars)+ whenLoud $ putStrLn "pi defining constraints:"+ whenLoud $ putStrLn $ F.showpp piSols++ let cuts = calculateCuts cfg query (forgetPiVars pivars horn)+ let acyclicKs = kvars `S.difference` cuts+ whenLoud $ putStrLn "kvars (cuts, acyclic, all):"+ whenLoud $ print $ (cuts, acyclicKs, kvars)++ let (horn', side', piSols') = elimKs' (S.toList acyclicKs) (horn, side, piSols)+ whenLoud $ putStrLn "solved acyclic kvars:"+ whenLoud $ putStrLn $ F.showpp horn'+ whenLoud $ putStrLn $ F.showpp side'+ whenLoud $ putStrLn $ F.showpp piSols'++ -- if not $ S.null cuts then error $ F.showpp $ S.toList cuts else pure ()+ let elimCutK k c = doelim k [] c+ horn' <- pure $ foldr elimCutK horn' cuts+ side' <- pure $ foldr elimCutK side' cuts+ piSols' <- pure $ fmap (fmap (flip (foldr elimCutK) cuts)) piSols'++ let solvedPiCstrs = solPis (S.fromList $ M.keys cons ++ M.keys dist) piSols'+ whenLoud $ putStrLn "solved pis:"+ whenLoud $ putStrLn $ F.showpp solvedPiCstrs++ let solvedHorn = substPiSols solvedPiCstrs horn'+ whenLoud $ putStrLn "solved horn:"+ whenLoud $ putStrLn $ F.showpp solvedHorn++ let solvedSide = substPiSols solvedPiCstrs side'+ whenLoud $ putStrLn "solved side:"+ whenLoud $ putStrLn $ F.showpp solvedSide++ pure $ (Query qs vs (CAnd [solvedHorn, solvedSide]) cons dist)++-- | Collects the defining constraint for π AKA c in forall n.π => c+-- additionally collects the variable name n+piDefConstr :: F.Symbol -> Cstr a -> ((F.Symbol, [F.Symbol]), Cstr a)+piDefConstr k c = fromJust 2 $ go c+ where+ go (CAnd cs) =+ case mapMaybe go cs of+ [c'] -> Just c'+ _ -> Nothing+ go (All (Bind n _ (Var k' xs)) c')+ | k == k' = Just ((n, S.toList $ S.fromList xs `S.difference` S.singleton n), c')+ | otherwise = go c'+ go (All _ c') = go c'+ go _ = Nothing++solPis :: S.Set F.Symbol -> M.HashMap F.Symbol ((F.Symbol, [F.Symbol]), Cstr a) -> M.HashMap F.Symbol Pred+solPis measures piSols = go (M.toList piSols) piSols+ where+ go ((pi, ((n, xs), c)):pis) piSols = M.insert pi solved $ go pis piSols+ where solved = solPi measures pi n (S.fromList xs) piSols c+ go [] _ = mempty++solPi :: S.Set F.Symbol -> F.Symbol -> F.Symbol -> S.Set F.Symbol -> M.HashMap F.Symbol ((F.Symbol, [F.Symbol]), Cstr a) -> Cstr a -> Pred+solPi measures basePi n args piSols c = trace ("\n\nsolPi: " <> F.showpp basePi <> "\n\n" <> F.showpp n <> "\n" <> F.showpp (S.toList args) <> "\n" <> F.showpp ((\(a, _, c) -> (a, c)) <$> edges) <> "\n" <> F.showpp reachableN <> "\n" <> F.showpp rewritten <> "\n" <> F.showpp c <> "\n\n") $ PAnd $ rewritten+ where+ rewritten = rewriteWithEqualities measures n args equalities+ equalities = (nub . fst) $ go (S.singleton basePi) c+ edges = eqEdges args mempty equalities+ (eGraph, vf, lookupVertex) = DG.graphFromEdges edges+ -- reachableN = nub $ filter (/= F.EVar n) $ mconcat [es | ((_, es), _, _) <- vf <$> DG.reachable eGraph (fromJust 50 $ lookupVertex n)]+ reachableN = vf <$> DG.reachable eGraph (fromJust 50 $ lookupVertex n)++ go :: S.Set F.Symbol -> Cstr a -> ([(F.Symbol, F.Expr)], S.Set F.Symbol)+ go visited (Head p _) = (collectEqualities p, visited)+ go visited (CAnd cs) = foldl (\(eqs, visited) c -> let (eqs', visited') = go visited c in (eqs' <> eqs, visited')) (mempty, visited) cs+ go visited (All (Bind _ _ (Var pi _)) c)+ | S.member pi visited = go visited c+ | otherwise = let (_, defC) = (piSols M.! pi)+ (eqs', newVisited) = go (S.insert pi visited) defC+ (eqs'', newVisited') = go newVisited c in+ (eqs' <> eqs'', newVisited')+ go visited (All (Bind _ _ p) c) = let (eqs, visited') = go visited c in+ (eqs <> collectEqualities p, visited')+ go _ Any{} = error "exists should not be present in piSols"++-- solPi _ _ _ c@Head{} = c+-- solPi bound visited piSols (CAnd cs) = CAnd $ solPi bound visited piSols <$> cs+-- solPi bound visited piSols (All (Bind x t (Var pi _)) c)+-- | S.member pi visited = solPi bound visited piSols c+-- | otherwise = All (Bind x t p) (solPi bound visited piSols c)+-- where p = case (piSols M.! pi) of+-- Left ((n, xs), defC) -> qe n (S.fromList xs `S.union` bound) $ solPi (S.fromList xs `S.union` bound) (S.insert pi visited) piSols defC+-- Right defP -> defP+-- solPi bound visited piSols (All b c) = All b (solPi bound visited piSols c)+-- solPi _ _ _ Any{} = error "exists should not be present in piSols"++-- elimE :: Sol a -> Cstr a -> Cstr a+-- elimE m (All b c) = All b (elimE m c)+-- elimE m (CAnd cs) = CAnd (elimE m <$> cs)+-- elimE _m p@Head{} = p+-- -- need to QE inside here first+-- elimE _m (Any (Bind x _ _) (Head p l)) = Head (F.subst1 p (x,e)) l+-- where e = fromMaybe F.PTrue $ findSolP x p+-- elimE _m (Any _ _) = error "oops"++hornify :: Cstr a -> Cstr a+hornify (Head (PAnd ps) a) = CAnd (flip Head a <$> ps')+ where ps' = let (ks, qs) = split [] [] (flatten ps) in PAnd qs : ks++ split kacc pacc ((Var x xs):qs) = split ((Var x xs):kacc) pacc qs+ split kacc pacc (q:qs) = split kacc (q:pacc) qs+ split kacc pacc [] = (kacc, pacc)+hornify (Head (Reft r) a) = CAnd (flip Head a <$> ((Reft $ F.PAnd ps):(Reft <$> ks)))+ where (ks, ps) = split [] [] $ F.splitPAnd r+ split kacc pacc (r@F.PKVar{}:rs) = split (r:kacc) pacc rs+ split kacc pacc (r:rs) = split kacc (r:pacc) rs+ split kacc pacc [] = (kacc,pacc)+hornify (Head h a) = Head h a+hornify (All b c) = All b $ hornify c+hornify (Any b c) = Any b $ hornify c+hornify (CAnd cs) = CAnd $ hornify <$> cs++instance F.Subable Bind where+ syms = undefined+ substa = undefined+ substf = undefined+ subst su (Bind x t p) = (Bind x t (F.subst su p))++-- instance F.Subable Pred where+-- syms = undefined+-- substa = undefined+-- substf = undefined+-- subst su p = substP su p++{- move to FP! -}+instance F.Subable Pred where+ syms (Reft e) = F.syms e+ syms (Var _ xs) = xs+ syms (PAnd ps) = concatMap F.syms ps++ substa f (Reft e) = Reft (F.substa f e)+ substa f (Var k xs) = Var k (F.substa f <$> xs)+ substa f (PAnd ps) = PAnd (F.substa f <$> ps)++ subst su (Reft e) = Reft (F.subst su e)+ subst su (PAnd ps) = PAnd (F.subst su <$> ps)+ subst su (Var k xs) = Var k (F.subst su <$> xs)++ substf f (Reft e) = Reft (F.substf f e)+ substf f (PAnd ps) = PAnd (F.substf f <$> ps)+ substf f (Var k xs) = Var k (F.substf f <$> xs)++ subst1 (Reft e) su = Reft (F.subst1 e su)+ subst1 (PAnd ps) su = PAnd [F.subst1 p su | p <- ps]+ subst1 (Var k xs) su = Var k [F.subst1 x su | x <- xs]++-- substP :: F.Subst -> Pred -> Pred+-- substP su (Reft e) = Reft (F.subst su e)+-- substP su (PAnd ps) = PAnd (substP su <$> ps)+-- substP su (Var k xs) = Var k (F.subst su xs)++------------------------------------------------------------------------------+{- |+>>> (q, opts) <- parseFromFile hornP "tests/horn/pos/ebind01.smt2"+>>> F.pprint $ pokec (qCstr q)+(and+ (forall ((m int) (true))+ (and+ (forall ((x1 int) (πx1 x1))+ (and+ (forall ((v int) (v == m + 1))+ (((v == x1))))+ (forall ((v int) (v == x1 + 1))+ (((v == 2 + m))))))+ (exists ((x1 int) (true))+ ((πx1 x1))))))++>>> (q, opts) <- parseFromFile hornP "tests/horn/pos/ebind02.smt2"+>>> F.pprint $ pokec (qCstr q)+(and+ (forall ((m int) (true))+ (forall ((z int) (z == m - 1))+ (and+ (forall ((v1 int) (v1 == z + 2))+ ((k v1)))+ (and+ (forall ((x1 int) (πx1 x1))+ (and+ (forall ((v2 int) (k v2))+ (((v2 == x1))))+ (forall ((v3 int) (v3 == x1 + 1))+ (((v3 == m + 2))))))+ (exists ((x1 int) (true))+ ((πx1 x1))))))))++>>> let c = doParse' hCstrP "" "(forall ((a Int) (p a)) (exists ((b Int) (q b)) (and (($k a)) (($k b)))))"+>>> F.pprint $ pokec c+(forall ((a int) (p a))+ (and+ (forall ((b int) (πb b))+ (and+ ((k a))+ ((k b))))+ (exists ((b int) (q b))+ ((πb b)))))+-}++-- ebs :: Cstr a -> [(F.Symbol, F.Sort)]+-- ebs (Head _ _) = []+-- ebs (CAnd cs) = ebs =<< cs+-- ebs (All _ c) = ebs c+-- ebs (Any (Bind x t _) c) = (x,t) : ebs c++pokec :: Cstr a -> Cstr a+pokec = go mempty+ where+ go _ (Head c l) = Head c l+ go xs (CAnd c) = CAnd (go xs <$> c)+ go xs (All b c2) = All b $ go ((bSym b):xs) c2+ go xs (Any b@(Bind x t p) c2) = CAnd [All b' $ CAnd [Head p l, go (x:xs) c2], Any b (Head pi l)]+ -- TODO: actually use the renamer?+ where+ b' = Bind x t pi+ pi = piVar x xs+ l = cLabel c2++piVar :: F.Symbol -> [F.Symbol] -> Pred+piVar x xs = Var (piSym x) (x:xs)++piSym :: F.Symbol -> F.Symbol+piSym s = fromString $ "π" ++ F.symbolString s++------------------------------------------------------------------------------+-- Now split the poked constraint into the side conditions and the meat of+-- the constraint++{-|+>>> (q, opts) <- parseFromFile hornP "tests/horn/pos/ebind01.smt2"+>>> F.pprint $ qCstr q+(and+ (forall ((m int) (true))+ (exists ((x1 int) (true))+ (and+ (forall ((v int) (v == m + 1))+ (((v == x1))))+ (forall ((v int) (v == x1 + 1))+ (((v == 2 + m))))))))++>>> let (Just noside, Just side) = split $ pokec $ qCstr q+>>> F.pprint side+(forall ((m int) (true))+ (exists ((x1 int) (true))+ ((πx1 x1))))+>>> F.pprint noside+(forall ((m int) (true))+ (forall ((x1 int) (πx1 x1))+ (and+ (forall ((v int) (v == m + 1))+ (((v == x1))))+ (forall ((v int) (v == x1 + 1))+ (((v == 2 + m)))))))+++>>> (q, opts) <- parseFromFile hornP "tests/horn/pos/ebind02.smt2"+>>> F.pprint $ qCstr q+(and+ (forall ((m int) (true))+ (forall ((z int) (z == m - 1))+ (and+ (forall ((v1 int) (v1 == z + 2))+ ((k v1)))+ (exists ((x1 int) (true))+ (and+ (forall ((v2 int) (k v2))+ (((v2 == x1))))+ (forall ((v3 int) (v3 == x1 + 1))+ (((v3 == m + 2))))))))))++>>> let (Just noside, Just side) = split $ pokec $ qCstr q+>>> F.pprint side+(forall ((m int) (true))+ (forall ((z int) (z == m - 1))+ (exists ((x1 int) (true))+ ((πx1 x1)))))+>>> F.pprint noside+(forall ((m int) (true))+ (forall ((z int) (z == m - 1))+ (and+ (forall ((v1 int) (v1 == z + 2))+ ((k v1)))+ (forall ((x1 int) (πx1 x1))+ (and+ (forall ((v2 int) (k v2))+ (((v2 == x1))))+ (forall ((v3 int) (v3 == x1 + 1))+ (((v3 == m + 2)))))))))+-}++split :: Cstr a -> (Maybe (Cstr a), Maybe (Cstr a))+split (CAnd cs) = (andMaybes nosides, andMaybes sides)+ where (nosides, sides) = unzip $ split <$> cs+split (All b c) = (All b <$> c', All b <$> c'')+ where (c',c'') = split c+split c@Any{} = (Nothing, Just c)+split c@Head{} = (Just c, Nothing)++andMaybes :: [Maybe (Cstr a)] -> Maybe (Cstr a)+andMaybes cs = case catMaybes cs of+ [] -> Nothing+ [c] -> Just c+ cs -> Just $ CAnd cs+------------------------------------------------------------------------------+{- |+>>> (q, opts) <- parseFromFile hornP "tests/horn/pos/ebind01.smt2"+>>> let (Just noside, Just side) = split $ pokec $ qCstr q+>>> F.pprint $ elimPis ["x1"] (noside, side )+(forall ((m int) (true))+ (forall ((x1 int) (forall [v : int]+ . v == m + 1 => v == x1+&& forall [v : int]+ . v == x1 + 1 => v == 2 + m))+ (and+ (forall ((v int) (v == m + 1))+ (((v == x1))))+ (forall ((v int) (v == x1 + 1))+ (((v == 2 + m))))))) : (forall ((m int) (true))+ (exists ((x1 int) (true))+ ((forall [v : int]+ . v == m + 1 => v == x1+ && forall [v : int]+ . v == x1 + 1 => v == 2 + m))))++>>> (q, opts) <- parseFromFile hornP "tests/horn/pos/ebind02.smt2"+>>> let (Just noside, Just side) = split $ pokec $ qCstr q+>>> F.pprint $ elimPis ["x1"] (noside, side )+(forall ((m int) (true))+ (forall ((z int) (z == m - 1))+ (and+ (forall ((v1 int) (v1 == z + 2))+ ((k v1)))+ (forall ((x1 int) (forall [v2 : int]+ . $k[fix$36$$954$arg$36$k$35$1:=v2] => v2 == x1+&& forall [v3 : int]+ . v3 == x1 + 1 => v3 == m + 2))+ (and+ (forall ((v2 int) (k v2))+ (((v2 == x1))))+ (forall ((v3 int) (v3 == x1 + 1))+ (((v3 == m + 2))))))))) : (forall ((m int) (true))+ (forall ((z int) (z == m - 1))+ (exists ((x1 int) (true))+ ((forall [v2 : int]+ . $k[fix$36$$954$arg$36$k$35$1:=v2] => v2 == x1+ && forall [v3 : int]+ . v3 == x1 + 1 => v3 == m + 2)))))++-}++elimPis :: [F.Symbol] -> (Cstr a, Cstr a) -> (Cstr a, Cstr a)+elimPis [] cc = cc+elimPis (n:ns) (horn, side) = elimPis ns (apply horn, apply side)+-- TODO: handle this error?+ where Just nSol = defs n horn+ apply = applyPi (piSym n) nSol++-- TODO: PAnd may be a problem+applyPi :: F.Symbol -> Cstr a -> Cstr a -> Cstr a+applyPi k defs (All (Bind x t (Var k' _xs)) c)+ | k == k'+ = All (Bind x t (Reft $ cstrToExpr defs)) c+applyPi k bp (CAnd cs)+ = CAnd $ applyPi k bp <$> cs+applyPi k bp (All b c)+ = All b (applyPi k bp c)+applyPi k bp (Any b c)+ = Any b (applyPi k bp c)+applyPi k defs (Head (Var k' _xs) a)+ | k == k'+ -- what happens when pi's appear inside the defs for other pis?+ -- this shouldn't happen because there should be a strict+ -- pi -> k -> pi structure+ -- but that comes from the typing rules, not this format, so let's make+ -- it an invariant of solveEbs above+ = Head (Reft $ cstrToExpr defs) a+applyPi _ _ (Head p a) = Head p a++-- | The defining constraints for a pivar+--+-- The defining constraints are those that bound the value of pi_x.+--+-- We're looking to lower-bound the greatest solution to pi_x.+-- If we eliminate pivars before we eliminate kvars (and then apply the kvar+-- solutions to the side conditions to solve out the pis), then we know+-- that the only constraints that mention pi in the noside case are those+-- under the corresponding pivar binder. A greatest solution for this pivar+-- can be obtained as the _weakest precondition_ of the constraints under+-- the binder+--+-- The greatest Pi that implies the constraint under it is simply that+-- constraint itself. We can leave off constraints that don't mention n,+-- see https://photos.app.goo.gl/6TorPprC3GpzV8PL7+--+-- Actually, we can really just throw away any constraints we can't QE,+-- can't we?++{- |+>>> :{+let c = doParse' hCstrP "" "\+\(forall ((m int) (true)) \+\ (forall ((x1 int) (and (true) (πx1 x1))) \+\ (and \+\ (forall ((v int) (v == m + 1)) \+\ (((v == x1)))) \+\ (forall ((v int) (v == x1 + 1)) \+\ (((v == 2 + m)))))))"+:}++>>> F.pprint $ defs "x1" c+Just (and+ (forall ((v int) (v == m + 1))+ ((v == x1)))+ (forall ((v int) (v == x1 + 1))+ ((v == 2 + m))))++>>> (q, opts) <- parseFromFile hornP "tests/horn/pos/ebind02.smt2"+>>> let (Just noside, _) = split $ pokec $ qCstr q+>>> F.pprint $ defs "x1" noside+Just (and+ (forall ((v2 int) (k v2))+ ((v2 == x1)))+ (forall ((v3 int) (v3 == x1 + 1))+ ((v3 == m + 2))))++-}++defs :: F.Symbol -> Cstr a -> Maybe (Cstr a)+defs x (CAnd cs) = andMaybes $ defs x <$> cs+defs x (All (Bind x' _ _) c)+ | x' == x+ = pure c+defs x (All _ c) = defs x c+defs _ (Head _ _) = Nothing+defs _ (Any _ _) = error "defs should be run only after noside and poke"++cstrToExpr :: Cstr a -> F.Expr+cstrToExpr (Head p _) = predToExpr p+cstrToExpr (CAnd cs) = F.PAnd $ cstrToExpr <$> cs+cstrToExpr (All (Bind x t p) c) = F.PAll [(x,t)] $ F.PImp (predToExpr p) $ cstrToExpr c+cstrToExpr (Any (Bind x t p) c) = F.PExist [(x,t)] $ F.PImp (predToExpr p) $ cstrToExpr c++predToExpr :: Pred -> F.Expr+predToExpr (Reft e) = e+predToExpr (Var k xs) = F.PKVar (F.KV k) (F.Su $ M.fromList su)+ where su = zip (kargs k) (F.EVar <$> xs)+predToExpr (PAnd ps) = F.PAnd $ predToExpr <$> ps++------------------------------------------------------------------------------+{- |+>>> (q, opts) <- parseFromFile hornP "tests/horn/pos/ebind02.smt2"+>>> let (Just noside, Just side) = split $ pokec $ qCstr q+>>> F.pprint $ elimKs ["k"] $ elimPis ["x1"] (noside, side)+(forall ((m int) (true))+ (forall ((z int) (z == m - 1))+ (and+ (forall ((v1 int) (v1 == z + 2))+ ((true)))+ (forall ((x1 int) (forall [v2 : int]+ . exists [v1 : int]+ . (v2 == v1)+ && v1 == z + 2 => v2 == x1+&& forall [v3 : int]+ . v3 == x1 + 1 => v3 == m + 2))+ (and+ (forall ((v1 int) (v1 == z + 2))+ (forall ((v2 int) (v2 == v1))+ (((v2 == x1)))))+ (forall ((v3 int) (v3 == x1 + 1))+ (((v3 == m + 2))))))))) : (forall ((m int) (true))+ (forall ((z int) (z == m - 1))+ (exists ((x1 int) (true))+ ((forall [v2 : int]+ . exists [v1 : int]+ . (v2 == v1)+ && v1 == z + 2 => v2 == x1+ && forall [v3 : int]+ . v3 == x1 + 1 => v3 == m + 2)))))+-}+-- elimKs :: [F.Symbol] -> (Cstr a, Cstr a) -> (Cstr a, Cstr a)+-- elimKs [] cc = cc+-- elimKs (k:ks) (horn, side) = elimKs ks (horn', side')+-- where sol = sol1 k (scope k horn)+-- -- Eliminate Kvars inside Cstr inside horn, and in Expr (under+-- -- quantifiers waiting to be eliminated) in both.+-- horn' = doelim' k sol . doelim k sol $ horn+-- side' = doelim' k sol $ side++-- TODO: make this elimKs and update tests for elimKs+-- | Takes noside, side, piSols and solves a set of kvars in them+elimKs' :: [F.Symbol]+ -> (Cstr a, Cstr a, M.HashMap F.Symbol ((F.Symbol, [F.Symbol]), Cstr a))+ -> (Cstr a, Cstr a, M.HashMap F.Symbol ((F.Symbol, [F.Symbol]), Cstr a))+elimKs' [] cstrs = cstrs+elimKs' (k:ks) (noside, side, piSols) = elimKs' (trace (F.showpp k ++ F.showpp sol) ks) (noside', side', piSols')+ where+ sol = sol1 k (scope k noside)+ noside' = simplify $ doelim k sol noside+ side' = simplify $ doelim k sol side+ piSols' = (second $ simplify . (doelim k sol)) <$> piSols++-- doelim' :: F.Symbol -> [[Bind]] -> Cstr a -> Cstr a+-- doelim' k bss (CAnd cs) = CAnd $ doelim' k bss <$> cs+-- doelim' k bss (Head p a) = Head (tx k bss p) a+-- doelim' k bss (All (Bind x t p) c) = All (Bind x t $ tx k bss p) (doelim' k bss c)+-- doelim' k bss (Any (Bind x t p) c) = Any (Bind x t $ tx k bss p) (doelim' k bss c)++-- [NOTE-elimK-positivity]:+--+-- uh-oh I suspect this traversal is WRONG. We can build an+-- existentialPackage as a solution to a K in a negative position, but in+-- the *positive* position, the K should be solved to FALSE.+--+-- Well, this may be fine --- semantically, this is all the same, but the+-- exists in the positive positions (which will stay exists when we go to+-- prenex) may give us a lot of trouble during _quantifier elimination_+-- tx :: F.Symbol -> [[Bind]] -> Pred -> Pred+-- tx k bss = trans (defaultVisitor { txExpr = existentialPackage, ctxExpr = ctxKV }) M.empty ()+-- where+-- splitBinds xs = unzip $ (\(Bind x t p) -> ((x,t),p)) <$> xs+-- cubeSol su (Bind _ _ (Reft eqs):xs)+-- | (xts, es) <- splitBinds xs+-- = F.PExist xts $ F.PAnd (F.subst su eqs : map predToExpr es)+-- cubeSol _ _ = error "cubeSol in doelim'"+-- -- This case is a HACK. In actuality, we need some notion of+-- -- positivity...+-- existentialPackage _ (F.PAll _ (F.PImp _ (F.PKVar (F.KV k') _)))+-- | k' == k+-- = F.PTrue+-- existentialPackage m (F.PKVar (F.KV k') su)+-- | k' == k+-- , M.lookupDefault 0 k m < 2+-- = F.PAnd $ cubeSol su . reverse <$> bss+-- existentialPackage _ e = e+-- ctxKV m (F.PKVar (F.KV k) _) = M.insertWith (+) k 1 m+-- ctxKV m _ = m++-- Visitor only visit Exprs in Pred!+instance V.Visitable Pred where+ visit v c (PAnd ps) = PAnd <$> mapM (visit v c) ps+ visit v c (Reft e) = Reft <$> visit v c e+ visit _ _ var = pure var++instance V.Visitable (Cstr a) where+ visit v c (CAnd cs) = CAnd <$> mapM (visit v c) cs+ visit v c (Head p a) = Head <$> visit v c p <*> pure a+ visit v ctx (All (Bind x t p) c) = All <$> (Bind x t <$> visit v ctx p) <*> visit v ctx c+ visit v ctx (Any (Bind x t p) c) = All <$> (Bind x t <$> visit v ctx p) <*> visit v ctx c++------------------------------------------------------------------------------+-- | Quantifier elimination for use with implicit solver+-- qe :: Cstr a -> Cstr a+------------------------------------------------------------------------------+-- Initially this QE seemed straightforward, and does seem so in the body:+--+-- \-/ v . v = t -> r+-- ------------------+-- r[t/v]+--+-- And this works. However, the mixed quantifiers get pretty bad in the+-- side condition, which generally looks like+-- forall a1 ... an . exists n . forall v1 . ( exists karg . p ) => q+--++-- NEW STRATEGY: look under each FORALL, bottom up, compile a list of all equalities that+-- are negative, and apply some relevant one to the whole thinger.+--+-- we do first need to make the foralls from exists... so instead let's+-- just start out with foralls in doElim. They're in the wrong polarity,+-- but that's not visible from the other side of QE, so that's fine.+------------------------------------------------------------------------------+-- Now, we go through each pivar, and try to do QE in it. If there's+-- a Pi or a kvar under it, then we need to go and get the solution.+-- Since we're doing this SEPARATELY from the AD search, we can memoize.+-- In fact, we have to, because at the end of the day, we do want a+-- fully solved map.+--+-- QE:+-- (given some constraint c from an unsolved pi, we want to squash it into an expr)+-- if it's head -> if head is a kvar then lookup the kvarsol for these args and QE that+-- -> if head is a pred return that expr+-- -> if head is a pand recursive and conjunct+-- if it's any --> throw an error?+-- if it's forall equality => pred (how do we actually find the+-- QE in pred, then apply the equality equalities?)+-- if it's forall kvar => pred+-- lookup and then QE+-- if it's And+-- recurse and then conjunct+--+-- lookup recursively:+-- (when I want the solution for some k or pivar `x`)+-- lookup the Cstr that solves it+-- if it's an unsolved pi+-- run QE on the cstr+-- store it+-- return it++-- qe :: F.Symbol -> S.Set F.Symbol -> Cstr a -> Pred+-- qe n args c = PAnd $ ps+-- where+-- equalities = collectEqualities c+-- ps = rewriteWithEqualities n args equalities++rewriteWithEqualities :: S.Set F.Symbol -> F.Symbol -> S.Set F.Symbol -> [(F.Symbol, F.Expr)] -> [Pred]+rewriteWithEqualities measures n args equalities = preds+ where+ (eGraph, vf, lookupVertex) = DG.graphFromEdges $ eqEdges args mempty equalities++ nResult = (n, makeWellFormed 4 $ sols n)+ argResults = map (\arg -> (arg, makeWellFormed 4 $ sols arg)) (S.toList args)++ preds = (mconcat $ (\(x, es) -> mconcat $ mkEquality x <$> es) <$> (nResult:argResults))++ mkEquality x e = [Reft (F.PAtom F.Eq (F.EVar x) e)]++ sols :: F.Symbol -> [F.Expr]+ sols x = case lookupVertex x of+ Nothing -> []+ Just vertex -> nub $ filter (/= F.EVar x) $ mconcat [es | ((_, es), _, _) <- vf <$> DG.reachable eGraph vertex]++ argsAndPrims = args `S.union` (S.fromList $ map fst $ F.toListSEnv $ F.theorySymbols []) `S.union`measures++ isWellFormed :: F.Expr -> Bool+ isWellFormed e = (S.fromList $ F.syms e) `S.isSubsetOf` argsAndPrims++ makeWellFormed :: Int -> [F.Expr] -> [F.Expr]+ makeWellFormed 0 es = filter isWellFormed es -- We solved it. Maybe.+ makeWellFormed n es = makeWellFormed (n - 1) $ mconcat $ go <$> es+ where+ go e = if isWellFormed e then [e] else rewrite rewrites [e]+ where+ needSolving = (S.fromList $ F.syms e) `S.difference` argsAndPrims+ rewrites = (\x -> (x, filter (/= F.EVar x) $ sols x)) <$> S.toList needSolving+ rewrite [] es = es+ rewrite ((x, rewrites):rewrites') es = rewrite rewrites' $ [F.subst (F.mkSubst [(x, e')]) e | e' <- rewrites, e <- es]++eqEdges :: S.Set F.Symbol -> M.HashMap F.Symbol ([F.Symbol], [F.Expr]) -> [(F.Symbol, F.Expr)] -> [((F.Symbol, [F.Expr]), F.Symbol, [F.Symbol])]+eqEdges _args edgeMap [] = M.foldrWithKey (\x (ys, es) edges -> ((x, es), x, ys):edges) [] edgeMap+eqEdges args edgeMap ((x, e):eqs)+ | F.EVar y <- e, S.member y args = eqEdges args (M.insertWith pairAppend x ([y], [F.EVar y]) edgeMap) eqs+ | F.EVar y <- e = eqEdges args (M.insertWith pairAppend x ([y], []) edgeMap) eqs+ | otherwise = eqEdges args (M.insertWith pairAppend x ([], [e]) edgeMap) eqs++pairAppend :: (Semigroup a, Semigroup b) =>+ (a, b) -> (a, b) -> (a, b)+pairAppend (a, b) (c, d) = (a <> c, b <> d)++-- rewriteWithEqualities args argEqs vars equalities = trace ("\n\nREWRITING:\n" <> F.showpp (S.toList args, argEqs, acyclicEqs, su, map makeReft argEqs) <> "\n\n") $ map makeReft argEqs+ -- where+ -- makeReft (arg, e) = Reft (F.PAtom F.Eq (F.EVar arg) (F.subst su e))+ -- su = F.mkSubst $ buildSubst acyclicEqs++ -- -- dropIllFormed :: [Pred] -> [Pred]+ -- -- dropIllFormed = filter (\p -> S.fromList (F.syms p) `S.isSubsetOf` S.fromList ns)++ -- eqGraph = equalityGraph vars equalities+ -- acyclicEqs = concatMap (\case+ -- DG.AcyclicSCC eq -> [eq]+ -- DG.CyclicSCC eqs -> eqs) eqGraph++ -- buildSubst [] = []+ -- buildSubst ((x, e):eqs) = (x, e):(buildSubst eqs')+ -- where+ -- eqs' = foldr (\(x', e') eqs' -> rewriteEq x e x' e' <> eqs') [] eqs++ -- rewriteEq x e x' e' = case (left, right) of+ -- (F.EVar y, e) | y == x', e == e' -> [(x', e')]+ -- _ -> extractEquality vars left right+ -- where+ -- left = F.subst1 (F.EVar x') (x, e)+ -- right = F.subst1 e' (x, e)++-- equalityGraph :: S.Set F.Symbol -> [(F.Symbol, F.Expr)] -> [DG.SCC (F.Symbol, F.Expr)]+-- equalityGraph xs eqs = DG.stronglyConnComp (go eqs)+-- where+-- go [] = []+-- go ((x, F.EVar y):eqs)+-- | S.member y xs = ((x, F.EVar y), x, [y]):(go eqs)+-- go ((x, e):eqs) = ((x, e), x, []):(go eqs)++collectEqualities :: Pred -> [(F.Symbol, F.Expr)]+collectEqualities = goP+ where+ goP (Reft e) = goE e+ goP (PAnd ps) = mconcat $ goP <$> ps+ goP _ = mempty++ goE (F.PAtom F.Eq left right) = extractEquality left right+ goE (F.PAnd es) = mconcat $ goE <$> es+ goE _ = mempty++-- collectEqualities :: Cstr a -> [(F.Symbol, F.Expr)]+-- collectEqualities c = nub $ go c+-- where+-- go (Head p _) = goP p+-- go (CAnd cs) = mconcat $ go <$> cs+-- go (All (Bind _ _ p) c) = goP p <> go c+-- go Any{} = error "existentials shouldn't be present"++-- goP (Reft e) = goE e+-- goP (PAnd ps) = mconcat $ goP <$> ps+-- goP _ = mempty++-- goE (F.PAtom F.Eq left right) = extractEquality left right+-- goE (F.PAnd es) = mconcat $ goE <$> es+-- goE _ = mempty++extractEquality :: F.Expr -> F.Expr -> [(F.Symbol, F.Expr)]+extractEquality left right+ | F.EVar x <- left, F.EVar y <- right, x == y = mempty+ | F.EVar x <- left, F.EVar y <- right = [(x, right), (y, left)]+ | F.EVar x <- left = [(x, right)]+ | F.EVar x <- right = [(x, left)]+ | otherwise = mempty++substPiSols :: M.HashMap F.Symbol Pred -> Cstr a -> Cstr a+substPiSols _ c@Head{} = c+substPiSols piSols (CAnd cs) = CAnd $ substPiSols piSols <$> cs+substPiSols piSols (All (Bind x t p) c)+ | Var k _ <- p = All (Bind x t $ M.lookupDefault p k piSols) (substPiSols piSols c)+ | otherwise = All (Bind x t p) (substPiSols piSols c)+substPiSols piSols (Any (Bind n _ p) c)+ | Head (Var pi _) label <- c, Just sol <- M.lookup pi piSols =+ case findSol n sol of+ Just e -> Head (flatten $ PAnd $ (\pred -> F.subst1 pred (n, e)) <$> [p, sol]) label+ Nothing -> Head (Reft $ F.POr []) label+ | otherwise = error "missing piSol"++findSol :: F.Symbol -> Pred -> Maybe F.Expr+findSol x = go+ where+ go (Reft e) = findEq e+ go Var{} = Nothing+ go (PAnd ps) = case mapMaybe go ps of+ [] -> Nothing+ x:_ -> Just x++ findEq (F.PAtom F.Eq left right)+ | F.EVar y <- left, y == x = Just right+ | F.EVar y <- right, y == x = Just left+ findEq _ = Nothing++------------------------------------------------------------------------------+-- | uniq makes sure each binder has a unique name+------------------------------------------------------------------------------+type RenameMap = M.HashMap F.Symbol Integer++uniq :: Cstr a -> Cstr a+uniq c = evalState (uniq' c) M.empty++uniq' :: Cstr a -> State RenameMap (Cstr a)+uniq' (Head c a) = Head <$> gets (rename c) <*> pure a+uniq' (CAnd c) = CAnd <$> mapM uniq' c+uniq' (All b c2) = do+ b' <- uBind b+ All b' <$> uniq' c2+uniq' (Any b c2) = do+ b' <- uBind b+ Any b' <$> uniq' c2++uBind :: Bind -> State RenameMap Bind+uBind (Bind x t p) = do+ x' <- uVariable x+ Bind x' t <$> gets (rename p)++uVariable :: IsString a => F.Symbol -> State RenameMap a+uVariable x = do+ i <- gets (M.lookupDefault (-1) x)+ modify (M.insert x (i+1))+ pure $ numSym x (i+1)++rename :: Pred -> RenameMap -> Pred+rename e m = substPred (M.mapWithKey numSym m) e++numSym :: IsString a => F.Symbol -> Integer -> a+numSym s 0 = fromString $ F.symbolString s+numSym s i = fromString $ F.symbolString s ++ "#" ++ show i++substPred :: M.HashMap F.Symbol F.Symbol -> Pred -> Pred+substPred su (Reft e) = Reft $ F.subst (F.Su $ F.EVar <$> su) e+substPred su (PAnd ps) = PAnd $ substPred su <$> ps+substPred su (Var k xs) = Var k $ upd <$> xs+ where upd x = M.lookupDefault x x su++------------------------------------------------------------------------------+-- | elim solves all of the KVars in a Cstr (assuming no cycles...)+-- >>> elim . qCstr . fst <$> parseFromFile hornP "tests/horn/pos/test00.smt2"+-- (and (forall ((x int) (x > 0)) (forall ((y int) (y > x)) (forall ((v int) (v == x + y)) ((v > 0))))))+-- >>> elim . qCstr . fst <$> parseFromFile hornP "tests/horn/pos/test01.smt2"+-- (and (forall ((x int) (x > 0)) (and (forall ((y int) (y > x)) (forall ((v int) (v == x + y)) ((v > 0)))) (forall ((z int) (z > 100)) (forall ((v int) (v == x + z)) ((v > 100)))))))+-- >>> elim . qCstr . fst <$> parseFromFile hornP "tests/horn/pos/test02.smt2"+-- (and (forall ((x int) (x > 0)) (and (forall ((y int) (y > x + 100)) (forall ((v int) (v == x + y)) ((true)))) (forall ((y int) (y > x + 100)) (forall ((v int) (v == x + y)) (forall ((z int) (z == v)) (forall ((v int) (v == x + z)) ((v > 100)))))))))+------------------------------------------------------------------------------+elim :: Cstr a -> Cstr a+------------------------------------------------------------------------------+elim c = if S.null $ boundKvars res then res else error "called elim on cyclic constraint"+ where+ res = S.foldl elim1 c (boundKvars c)++elim1 :: Cstr a -> F.Symbol -> Cstr a+-- Find a `sol1` solution to a kvar `k`, and then subsitute in the solution for+-- each rhs occurrence of k.+elim1 c k = simplify $ doelim k sol c+ where sol = sol1 k (scope k c)++-- |+-- >>> sc <- scope "k0" . qCstr . fst <$> parseFromFile hornP "tests/horn/pos/test02.smt2"+-- >>> sc+-- (forall ((x ... (and (forall ((y ... (forall ((v ... ((k0 v)))) (forall ((z ...++-- scope prunes out branches that don't have k+-- and removes assumptions that appear over every instance of k in guard position+scope :: F.Symbol -> Cstr a -> Cstr a+scope k cstr = go $ either (Head (Reft F.PTrue)) id (prune k cstr)+ where+ go (All _ c') = c'+ go c = c++prune :: F.Symbol -> Cstr a -> Either a (Cstr a)+prune k c@(CAnd cs) = if null cs' then Left $ cLabel c else Right $ CAnd cs'+ where cs' = [c | Right c <- prune k <$> cs]+prune k c@(Head (Var k' _) l)+ | k == k' = Right c+ | otherwise = Left l+prune _ (Head _ l) = Left l+prune k (All b c) = do+ c' <- prune k c+ pure (All b c')+prune _ Any{} = error "existential binders should not be around during kvar elim"++-- | A solution is a Hyp of binders (including one anonymous binder+-- that I've singled out here).+-- (What does Hyp stand for? Hypercube? but the dims don't line up...)+--+-- >>> c <- qCstr . fst <$> parseFromFile hornP "tests/horn/pos/test02.smt2"+-- >>> sol1 ("k0") (scope "k0" c)+-- [[((y int) (y > x + 100)),((v int) (v == x + y)),((_ bool) (κarg$k0#1 == v))]]+-- >>> c <- qCstr . fst <$> parseFromFile hornP "tests/horn/pos/test03.smt2"+-- >>> sol1 ("k0") (scope "k0" c)+-- [[((x int) (x > 0)),((v int) (v == x)),((_ bool) (κarg$k0#1 == v))],[((y int) (k0 y)),((v int) (v == y + 1)),((_ bool) (κarg$k0#1 == v))]]+-- >>> let c = doParse' hCstrP "" "(forall ((a Int) (p a)) (forall ((b Int) (q b)) (and (($k a)) (($k b)))))"+-- >>> sol1 "k" c+-- [[((a int) (p a)),((b int) (q b)),((_ bool) (κarg$k#1 == a))],[((a int) (p a)),((b int) (q b)),((_ bool) (κarg$k#1 == b))]]++-- Naming conventions:+-- - `b` is a binder `forall . x:t .p =>`+-- - `bs` is a list of binders, or a "cube" that tracks all of the+-- information on the rhs of a given constraint+-- - `bss` is a Hyp, that tells us the solution to a Var, that is,+-- a collection of cubes that we'll want to disjunct++sol1 :: F.Symbol -> Cstr a -> [([Bind], [F.Expr])]+sol1 k (CAnd cs) = sol1 k =<< cs+sol1 k (All b c) = (\(bs, eqs) -> (b:bs, eqs)) <$> sol1 k c+sol1 k (Head (Var k' ys) _) | k == k'+ = [([], zipWith (F.PAtom F.Eq) (F.EVar <$> xs) (F.EVar <$> ys))]+ where xs = zipWith const (kargs k) ys+sol1 _ (Head _ _) = []+sol1 _ (Any _ _) = error "ebinds don't work with old elim"++kargs :: F.Symbol -> [F.Symbol]+kargs k = fromString . (("κarg$" ++ F.symbolString k ++ "#") ++) . show <$> [1..]++-- |+-- >>> LET c = doParse' hCstrP "" "(forall ((z Int) ($k0 z)) ((z = x)))"+-- >>> doelim "k0" [[Bind "v" F.boolSort (Reft $ F.EVar "v"), Bind "_" F.boolSort (Reft $ F.EVar "donkey")]] c+-- (forall ((v bool) (v)) (forall ((z int) (donkey)) ((z == x))))++doelim :: F.Symbol -> [([Bind], [F.Expr])] -> Cstr a -> Cstr a+doelim k bp (CAnd cs)+ = CAnd $ doelim k bp <$> cs+doelim k bss (All (Bind x t p) c) =+ case findKVarInGuard k p of+ Right _ -> All (Bind x t p) (doelim k bss c)+ Left (kvars, preds) -> demorgan x t kvars preds (doelim k bss c) bss+ where+ demorgan :: F.Symbol -> F.Sort -> [(F.Symbol, [F.Symbol])] -> [Pred] -> Cstr a -> [([Bind], [F.Expr])] -> Cstr a+ demorgan x t kvars preds c bss = mkAnd $ cubeSol <$> bss+ where su = F.Su $ M.fromList $ concat $ map (\(k, xs) -> zip (kargs k) (F.EVar <$> xs)) kvars+ mkAnd [c] = c+ mkAnd cs = CAnd cs+ cubeSol ((b:bs), eqs) = All b $ cubeSol (bs, eqs)+ cubeSol ([], eqs) = All (Bind x t (PAnd $ (Reft <$> F.subst su eqs) ++ (F.subst su <$> preds))) c+doelim k _ (Head (Var k' _) a)+ | k == k'+ = Head (Reft F.PTrue) a+doelim _ _ (Head p a) = Head p a++doelim k bss (Any (Bind x t p) c) =+ case findKVarInGuard k p of+ Right _ -> Any (Bind x t p) (doelim k bss c)+ Left (_, rights) -> Any (Bind x t (PAnd rights)) (doelim k bss c) -- TODO: for now we set the kvar to true. not sure if this is correct++-- If k is in the guard then returns a Left list of that k and the remaining preds in the guard+-- If k is not in the guard returns a Right of the pred+findKVarInGuard :: F.Symbol -> Pred -> Either ([(F.Symbol, [F.Symbol])], [Pred]) Pred+findKVarInGuard k (PAnd ps) =+ if null lefts+ then Right (PAnd ps) -- kvar not found+ else Left $ (newLefts, newRights)+ where findResults = findKVarInGuard k <$> ps+ (lefts, rights) = partitionEithers findResults+ newLefts = concat $ map fst lefts+ newRights = concat (snd <$> lefts) ++ rights+findKVarInGuard k p@(Var k' xs)+ | k == k' = Left ([(k', xs)], [])+ | otherwise = Right p+findKVarInGuard _ p = Right p++-- | Returns a list of KVars with their arguments that are present as+--+-- >>> boundKvars . qCstr . fst <$> parseFromFile hornP "tests/horn/pos/ebind01.smt2"+-- ... []+-- >>> boundKvars . qCstr . fst <$> parseFromFile hornP "tests/horn/pos/ebind02.smt2"+-- ... ["k"]+-- >>> boundKvars . qCstr . fst <$> parseFromFile hornP "tests/horn/pos/test00.smt2"+-- ... []+-- >>> boundKvars . qCstr . fst <$> parseFromFile hornP "tests/horn/pos/test01.smt2"+-- ... []+-- >>> boundKvars . qCstr . fst <$> parseFromFile hornP "tests/horn/pos/test02.smt2"+-- ... ["k0"]+-- >>> boundKvars . qCstr . fst <$> parseFromFile hornP "tests/horn/pos/test03.smt2"+-- ... ["k0"]++_boundVars :: Cstr a -> S.Set F.Symbol+_boundVars Head{} = mempty+_boundVars (CAnd cs) = mconcat $ _boundVars <$> cs+_boundVars (All (Bind x _ _) c) = S.singleton x <> _boundVars c+_boundVars (Any (Bind x _ _) c) = S.singleton x <> _boundVars c++boundKvars :: Cstr a -> S.Set F.Symbol+boundKvars (Head p _) = pKVars p+boundKvars (CAnd c) = mconcat $ boundKvars <$> c+boundKvars (All (Bind _ _ p) c) = pKVars p <> boundKvars c+boundKvars (Any (Bind _ _ p) c) = pKVars p <> boundKvars c++pKVars :: Pred -> S.Set F.Symbol+pKVars (Var k _) = S.singleton k+pKVars (PAnd ps) = mconcat $ pKVars <$> ps+pKVars _ = S.empty++-- | Returns true if the constraint does not contain any existential binders+isNNF :: Cstr a -> Bool+isNNF Head{} = True+isNNF (CAnd cs) = all isNNF cs+isNNF (All _ c) = isNNF c+isNNF Any{} = False++calculateCuts :: F.Config -> Query a -> Cstr a -> S.Set F.Symbol+calculateCuts cfg (Query qs vs _ cons dist) nnf = convert $ FG.depCuts deps+ where+ (_, deps) = elimVars cfg (hornFInfo $ Query qs vs nnf cons dist)+ convert hashset = S.fromList $ F.kv <$> (HS.toList hashset)++forgetPiVars :: S.Set F.Symbol -> Cstr a -> Cstr a+forgetPiVars _ c@Head{} = c+forgetPiVars pis (CAnd cs) = CAnd $ forgetPiVars pis <$> cs+forgetPiVars pis (All (Bind x t p) c)+ | Var k _ <- p, k `S.member` pis = All (Bind x t (PAnd [])) $ forgetPiVars pis c+ | otherwise = All (Bind x t p) $ forgetPiVars pis c+forgetPiVars _ Any{} = error "shouldn't be present"++simplify :: Cstr a -> Cstr a+simplify = flatten . pruneTauts . removeDuplicateBinders++removeDuplicateBinders :: Cstr a -> Cstr a+removeDuplicateBinders = go S.empty+ where+ go _ c@Head{} = c+ go xs (CAnd cs) = CAnd $ go xs <$> cs+ go xs (All b@(Bind x _ _) c) = if x `S.member` xs then go xs c else All b $ go (S.insert x xs) c+ go xs (Any b c) = Any b $ go xs c++pruneTauts :: Cstr a -> Cstr a+pruneTauts = fromMaybe (CAnd []) . go+ where+ go (Head p l) = do+ p' <- goP p+ pure $ Head p' l+ go (CAnd cs) = if null cs' then Nothing else Just $ CAnd cs'+ where cs' = mapMaybe go cs+ go (All b c) = do+ c' <- go c+ pure (All b c')+ go c@Any{} = Just c++ goP (Reft e) = if F.isTautoPred e then Nothing else Just $ Reft e+ goP p@Var{} = Just p+ goP (PAnd ps) = if null ps' then Nothing else Just $ PAnd ps'+ where ps' = mapMaybe goP ps++fromJust :: (Show a) => a -> Maybe b -> b+fromJust x = fromMaybe (error $ show x)
@@ -0,0 +1,210 @@++-------------------------------------------------------------------------------+-- | This module formalizes the key datatypes needed to represent Horn NNF +-- constraints as described in "Local Refinement Typing", ICFP 2017+-------------------------------------------------------------------------------++{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveFoldable #-}+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveTraversable #-}++module Language.Fixpoint.Horn.Types + ( -- * Horn Constraints and their components+ Query (..)+ , Cstr (..)+ , Pred (..)+ , Bind (..)+ , Var (..) ++ -- * accessing constraint labels+ , cLabel++ -- * invariants (refinements) on constraints + , okCstr + , dummyBind++ -- * extract qualifiers + , quals+ ) + where ++import Data.Generics (Data)+import Data.Typeable (Typeable)+import GHC.Generics (Generic)+import qualified Data.List as L+import qualified Language.Fixpoint.Misc as Misc+import qualified Language.Fixpoint.Types as F+import qualified Text.PrettyPrint.HughesPJ.Compat as P+import qualified Data.HashMap.Strict as M++-------------------------------------------------------------------------------+-- | @HVar@ is a Horn variable +-------------------------------------------------------------------------------+data Var a = HVar+ { hvName :: !F.Symbol -- ^ name of the variable $k1, $k2 etc.+ , hvArgs :: ![F.Sort] {- len hvArgs > 0 -} -- ^ sorts of its parameters i.e. of the relation defined by the @HVar@+ , hvMeta :: a -- ^ meta-data+ }+ deriving (Eq, Ord, Data, Typeable, Generic, Functor)++-------------------------------------------------------------------------------+-- | @HPred@ is a Horn predicate that appears as LHS (body) or RHS (head) of constraints +-------------------------------------------------------------------------------+data Pred + = Reft !F.Expr -- ^ r + | Var !F.Symbol ![F.Symbol] -- ^ $k(y1..yn) + | PAnd ![Pred] -- ^ p1 /\ .../\ pn + deriving (Data, Typeable, Generic, Eq)+++instance Semigroup Pred where+ p1 <> p2 = PAnd [p1, p2]++instance Monoid Pred where + mempty = Reft mempty++-------------------------------------------------------------------------------+quals :: Cstr a -> [F.Qualifier] +-------------------------------------------------------------------------------+quals = F.tracepp "horn.quals" . cstrQuals F.emptySEnv F.vv_ ++cstrQuals :: F.SEnv F.Sort -> F.Symbol -> Cstr a -> [F.Qualifier] +cstrQuals = go + where+ go env v (Head p _) = predQuals env v p+ go env v (CAnd cs) = concatMap (go env v) cs+ go env _ (All b c) = bindQuals env b c + go env _ (Any b c) = bindQuals env b c++bindQuals :: F.SEnv F.Sort -> Bind -> Cstr a -> [F.Qualifier] +bindQuals env b c = predQuals env' bx (bPred b) ++ cstrQuals env' bx c + where + env' = F.insertSEnv bx bt env+ bx = bSym b+ bt = bSort b++predQuals :: F.SEnv F.Sort -> F.Symbol -> Pred -> [F.Qualifier]+predQuals env v (Reft p) = exprQuals env v p+predQuals env v (PAnd ps) = concatMap (predQuals env v) ps+predQuals _ _ _ = [] ++exprQuals :: F.SEnv F.Sort -> F.Symbol -> F.Expr -> [F.Qualifier]+exprQuals env v e = mkQual env v <$> F.conjuncts e++mkQual :: F.SEnv F.Sort -> F.Symbol -> F.Expr -> F.Qualifier+mkQual env v p = case envSort env <$> (v:xs) of+ (_,so):xts -> F.mkQ "Auto" ((v, so) : xts) p junk + _ -> F.panic "impossible"+ where+ xs = L.delete v $ Misc.hashNub (F.syms p)+ junk = F.dummyPos "mkQual" ++envSort :: F.SEnv F.Sort -> F.Symbol -> (F.Symbol, F.Sort)+envSort env x = case F.lookupSEnv x env of+ Just t -> (x, t) + _ -> F.panic $ "unbound symbol in scrape: " ++ F.showpp x+{- + | Just _ <- lookupSEnv x lEnv = Nothing+ | otherwise = Just (x, ai)+ where+ ai = trace msg $ fObj $ Loc l l $ tempSymbol "LHTV" i+ msg = "Unknown symbol in qualifier: " ++ show x+-}+++--------------------------------------------------------------------------------+-- | @Cst@ is an NNF Horn Constraint. +-------------------------------------------------------------------------------+-- Note that a @Bind@ is a simplified @F.SortedReft@ ...+data Bind = Bind + { bSym :: !F.Symbol + , bSort :: !F.Sort + , bPred :: !Pred + }+ deriving (Data, Typeable, Generic, Eq)++dummyBind :: Bind +dummyBind = Bind F.dummySymbol F.intSort (PAnd []) ++-- Can we enforce the invariant that CAnd has len > 1?+data Cstr a+ = Head !Pred a -- ^ p+ | CAnd ![(Cstr a)] -- ^ c1 /\ ... /\ cn+ | All !Bind !(Cstr a) -- ^ \all x:t. p => c+ | Any !Bind !(Cstr a) -- ^ \exi x:t. p /\ c or is it \exi x:t. p => c?+ deriving (Data, Typeable, Generic, Functor, Eq)++cLabel :: Cstr a -> a+cLabel cstr = case go cstr of+ [] -> F.panic "everything is true!!!"+ label:_ -> label+ where+ go (Head _ l) = [l]+ go (CAnd cs) = mconcat $ go <$> cs+ go (All _ c) = go c+ go (Any _ c) = go c++-- We want all valid constraints to start with a binding at the top+okCstr :: Cstr a -> Bool +okCstr (All {}) = True +okCstr (Any {}) = True +okCstr _ = False ++-------------------------------------------------------------------------------+-- | @Query@ is an NNF Horn Constraint. +-------------------------------------------------------------------------------++data Query a = Query + { qQuals :: ![F.Qualifier] -- ^ qualifiers over which to solve cstrs+ , qVars :: ![Var a] -- ^ kvars, with parameter-sorts+ , qCstr :: !(Cstr a) -- ^ list of constraints+ , qCon :: M.HashMap (F.Symbol) (F.Sort) -- ^ list of constants (uninterpreted functions+ , qDis :: M.HashMap (F.Symbol) (F.Sort) -- ^ list of constants (uninterpreted functions+ }+ deriving (Data, Typeable, Generic, Functor)+++-------------------------------------------------------------------------------+-- Pretty Printing+-------------------------------------------------------------------------------+parens :: String -> String+parens s = "(" ++ s ++ ")"++instance Show (Var a) where+ show (HVar k xs _) = show k ++ parens (unwords (show <$> xs))++instance Show Pred where+ show (Reft p) = parens $ F.showpp p+ show (Var x xs) = parens $ unwords (F.symbolString <$> x:xs)+ show (PAnd ps) = parens $ unwords $ "and": map show ps++instance Show (Cstr a) where+ show (Head p _) = parens $ show p+ show (All b c) = parens $ unwords ["forall" , show b , show c]+ show (Any b c) = parens $ unwords ["exists" , show b , show c]+ show (CAnd cs) = parens $ unwords $ "and" : map show cs++instance Show Bind where+ show (Bind x t p) = parens $ unwords [parens $ unwords [F.symbolString x, F.showpp t], show p]++instance F.PPrint (Var a) where+ pprintPrec _ _ v = P.ptext $ show v++instance F.PPrint Pred where+ pprintPrec k t (Reft p) = P.parens $ F.pprintPrec k t p+ pprintPrec _ _ (Var x xs) = P.parens $ P.hsep (P.ptext . F.symbolString <$> x:xs)+ pprintPrec k t (PAnd ps) = P.parens $ P.vcat $ P.ptext "and" : map (F.pprintPrec (k+2) t) ps++instance F.PPrint (Cstr a) where+ pprintPrec k t (Head p _) = P.parens $ F.pprintPrec k t p+ pprintPrec k t (All b c) =+ P.parens $ P.vcat [P.ptext "forall" P.<+> F.pprintPrec (k+2) t b, F.pprintPrec (k+1) t c]+ pprintPrec k t (Any b c) =+ P.parens $ P.vcat [P.ptext "exists" P.<+> F.pprintPrec (k+2) t b, F.pprintPrec (k+1) t c]+ pprintPrec k t (CAnd cs) = P.parens $ P.vcat $ P.ptext "and" : map (F.pprintPrec (k+2) t) cs++instance F.PPrint Bind where+ pprintPrec _ _ b = P.ptext $ show b
@@ -18,12 +18,14 @@ import Control.Monad (when, forM_, filterM) import qualified Data.HashMap.Strict as M import qualified Data.List as L+import qualified Data.HashSet as S import Data.Tuple (swap) import Data.Maybe import Data.Array hiding (indices) import Data.Function (on) import qualified Data.Graph as G import qualified Data.Tree as T+ import Data.Unique import Debug.Trace (trace) import System.Console.ANSI@@ -31,17 +33,13 @@ import System.Process (system) import System.Directory (createDirectoryIfMissing) import System.FilePath (takeDirectory)-import Text.PrettyPrint.HughesPJ hiding (first)+import Text.PrettyPrint.HughesPJ.Compat import System.IO (stdout, hFlush ) import System.Exit (ExitCode) import Control.Concurrent.Async --#ifdef MIN_VERSION_located_base-import Prelude hiding (error, undefined)-import GHC.Err.Located+import Prelude hiding (undefined) import GHC.Stack-#endif type (|->) a b = M.HashMap a b @@ -58,6 +56,15 @@ hashMapToAscList :: Ord a => M.HashMap a b -> [(a, b)] hashMapToAscList = L.sortBy (compare `on` fst) . M.toList +findNearest :: (Ord i, Num i) => i -> [(i, a)] -> Maybe a +findNearest key kvs = argMin [ (abs (key - k), v) | (k, v) <- kvs ]++argMin :: (Ord k) => [(k, v)] -> Maybe v +argMin = fmap snd . headMb . L.sortBy (compare `on` fst)++headMb :: [a] -> Maybe a +headMb [] = Nothing +headMb (x:_) = Just x --------------------------------------------------------------- -- | Unique Int ----------------------------------------------- ---------------------------------------------------------------@@ -139,10 +146,11 @@ repeats :: Int -> [a] -> [a] repeats n = concat . replicate n -#ifdef MIN_VERSION_located_base-errorstar :: (?callStack :: CallStack) => String -> a-#endif +errorP :: String -> String -> a+errorP p s = error (p ++ s) ++errorstar :: (?callStack :: CallStack) => String -> a errorstar = error . wrap (stars ++ "\n") (stars ++ "\n") where stars = repeats 3 $ wrapStars "ERROR"@@ -159,15 +167,9 @@ secondM :: Functor f => (b -> f c) -> (a, b) -> f (a, c) secondM act (x, y) = (x,) <$> act y -#ifdef MIN_VERSION_located_base mlookup :: (?callStack :: CallStack, Eq k, Show k, Hashable k) => M.HashMap k v -> k -> v safeLookup :: (?callStack :: CallStack, Eq k, Hashable k) => String -> k -> M.HashMap k v -> v mfromJust :: (?callStack :: CallStack) => String -> Maybe a -> a-#else-mlookup :: (Eq k, Show k, Hashable k) => M.HashMap k v -> k -> v-safeLookup :: (Eq k, Hashable k) => String -> k -> M.HashMap k v -> v-mfromJust :: String -> Maybe a -> a-#endif mlookup m k = fromMaybe err $ M.lookup k m where@@ -206,19 +208,21 @@ sortNub :: (Ord a) => [a] -> [a] sortNub = nubOrd . L.sort- where- nubOrd (x:t@(y:_))- | x == y = nubOrd t- | otherwise = x : nubOrd t- nubOrd xs = xs +nubOrd :: (Eq a) => [a] -> [a]+nubOrd (x:t@(y:_))+ | x == y = nubOrd t+ | otherwise = x : nubOrd t+nubOrd xs = xs++hashNubWith :: (Eq b, Hashable b) => (a -> b) -> [a] -> [a]+hashNubWith f xs = M.elems $ M.fromList [ (f x, x) | x <- xs ]+ duplicates :: (Eq k, Hashable k) => [k] -> [k] duplicates xs = [ x | (x, n) <- count xs, 1 < n ] -#ifdef MIN_VERSION_located_base safeZip :: (?callStack :: CallStack) => String -> [a] -> [b] -> [(a,b)] safeZipWith :: (?callStack :: CallStack) => String -> (a -> b -> c) -> [a] -> [b] -> [c]-#endif safeZip msg xs ys | nxs == nys@@ -241,27 +245,19 @@ {-@ type ListNE a = {v:[a] | 0 < len v} @-} type ListNE a = [a] -#ifdef MIN_VERSION_located_base safeHead :: (?callStack :: CallStack) => String -> ListNE a -> a safeLast :: (?callStack :: CallStack) => String -> ListNE a -> a safeInit :: (?callStack :: CallStack) => String -> ListNE a -> [a] safeUncons :: (?callStack :: CallStack) => String -> ListNE a -> (a, [a]) safeUnsnoc :: (?callStack :: CallStack) => String -> ListNE a -> ([a], a) safeFromList :: (?callStack :: CallStack, Eq k, Hashable k, Show k) => String -> [(k, v)] -> M.HashMap k v-#else-safeHead :: String -> ListNE a -> a-safeLast :: String -> ListNE a -> a-safeInit :: String -> ListNE a -> [a]-safeUncons :: String -> ListNE a -> (a, [a])-safeUnsnoc :: String -> ListNE a -> ([a], a)-safeFromList :: (Eq k, Hashable k, Show k) => String -> [(k, v)] -> M.HashMap k v-#endif -safeFromList msg kvs = applyNonNull (M.fromList kvs) err (dups kvs)+safeFromList msg kvs = applyNonNull (M.fromList kvs) err dups where- dups = duplicates . fmap fst+ -- dups = duplicates . fmap fst+ dups = [ x | (x, n) <- count (fst <$> kvs), 1 < n ] err = errorstar . wrap "safeFromList with duplicates" msg . show- wrap m1 m2 s = m1 ++ " " ++ s ++ " " ++ m2+ wrap m1 m2 s = m1 ++ " " ++ s ++ " " ++ m2 safeHead _ (x:_) = x safeHead msg _ = errorstar $ "safeHead with empty list " ++ msg@@ -288,7 +284,7 @@ arrow, dcolon :: Doc arrow = text "->"-dcolon = colon <> colon+dcolon = colon <-> colon intersperse :: Doc -> [Doc] -> Doc intersperse d ds = hsep $ punctuate d ds@@ -321,6 +317,10 @@ b <- cond when b act +ifM :: (Monad m) => m Bool -> m a -> m a -> m a +ifM c t e = do + b <- c + if b then t else e mapEither :: (a -> Either b c) -> [a] -> ([b], [c]) mapEither _ [] = ([], [])@@ -330,6 +330,10 @@ where (ys, zs) = mapEither f xs +isRight :: Either a b -> Bool +isRight (Right _) = True +isRight _ = False+ componentsWith :: (Ord c) => (a -> [(b, c, [c])]) -> a -> [[b]] componentsWith eF x = map (fst3 . f) <$> vss where@@ -342,7 +346,20 @@ (g, f, _) = G.graphFromEdges es es = [ (x, ux, vxs) | x <- xs, let (ux, vxs) = vF x ] --- >>> λ> exTopo+-- |+-- >>> let em = M.fromList [ (1, [2, 3]), (2, [1, 3]), (3, [] ) ]+-- >>> let ef = \v -> (v, M.lookupDefault [] v em)+-- >>> sccsWith ef [1,2,3] +-- [[3],[1,2]] ++sccsWith :: (Ord v) => (a -> (v, [v])) -> [a] -> [[a]]+sccsWith vF xs = map (fst3 . f) <$> (T.flatten <$> G.scc g)+ where+ (g, f, _) = G.graphFromEdges es+ es = [ (x, ux, vxs) | x <- xs, let (ux, vxs) = vF x ]+++-- >>> exTopo -- >>> [1,2,4,6,5,3] exTopo :: [Int] exTopo = topoSortWith f [1,2,3,4,5,6]@@ -419,3 +436,17 @@ where go !acc [] = return (reverse acc) go !acc (x:xs) = do {!y <- f x; go (y:acc) xs}++-- Null if first is a subset of second+nubDiff :: (Eq a, Hashable a) => [a] -> [a] -> S.HashSet a +nubDiff a b = a' `S.difference` b'+ where+ a' = S.fromList a+ b' = S.fromList b+++fold1M :: (Monad m) => (a -> a -> m a) -> [a] -> m a +fold1M _ [] = errorstar $ "fold1M with empty list"+fold1M _ [x] = return x +fold1M f (x1:x2:xs) = do { x <- f x1 x2; fold1M f (x:xs) } +
@@ -26,6 +26,7 @@ , whiteSpace , blanks , pairP+ , stringLiteral -- * Parsing basic entities @@ -71,7 +72,7 @@ , isSmall , isNotReserved - , initPState, PState+ , initPState, PState (..) , Fixity(..), Assoc(..), addOperatorP @@ -96,9 +97,8 @@ import qualified Data.Char as Char -- (isUpper, isLower) import Language.Fixpoint.Smt.Bitvector import Language.Fixpoint.Types.Errors-import Language.Fixpoint.Misc (tshow, thd3)+import qualified Language.Fixpoint.Misc as Misc import Language.Fixpoint.Smt.Types--- import Language.Fixpoint.Types.Names (headSym) -- import Language.Fixpoint.Types.Visitor (foldSort, mapSort) import Language.Fixpoint.Types hiding (mapSort) import Text.PrettyPrint.HughesPJ (text, nest, vcat, (<+>))@@ -108,7 +108,9 @@ type Parser = ParsecT String Integer (State PState) type ParserT u a = ParsecT String u (State PState) a -data PState = PState {fixityTable :: OpTable}+data PState = PState { fixityTable :: OpTable+ , empList :: Maybe Expr+ , singList :: Maybe (Expr -> Expr)} --------------------------------------------------------------------@@ -236,10 +238,11 @@ angles = Token.angles lexer braces = Token.braces lexer -semi, colon, comma, stringLiteral :: Parser String+semi, colon, comma, dot, stringLiteral :: Parser String semi = Token.semi lexer colon = Token.colon lexer comma = Token.comma lexer+dot = Token.dot lexer stringLiteral = Token.stringLiteral lexer whiteSpace :: Parser ()@@ -258,7 +261,7 @@ -- | Integer integer :: Parser Integer-integer = (Token.natural lexer <* spaces) --posInteger+integer = Token.natural lexer <* spaces -- try (char '-' >> (negate <$> posInteger)) -- <|> posInteger@@ -284,7 +287,7 @@ condIdP :: Parser Char -> S.HashSet Char -> (String -> Bool) -> Parser Symbol condIdP initP okChars p- = do c <- initP -- letter <|> char '_'+ = do c <- initP cs <- many (satisfy (`S.member` okChars)) blanks let s = c:cs@@ -352,18 +355,34 @@ expr0P = trueP <|> falseP- <|> (fastIfP EIte exprP)- <|> (coerceP exprP)+ <|> fastIfP EIte exprP+ <|> coerceP exprP <|> (ESym <$> symconstP) <|> (ECon <$> constantP) <|> (reservedOp "_|_" >> return EBot) <|> lamP+ <|> try tupleP -- TODO:AZ get rid of these try, after the rest <|> try (parens exprP)+ <|> (reserved "[]" >> emptyListP)+ <|> try (brackets exprP >>= singletonListP) <|> try (parens exprCastP) <|> (charsExpr <$> symCharsP)- where +emptyListP :: Parser Expr+emptyListP = do + e <- empList <$> get + case e of + Nothing -> fail "No parsing support for empty lists"+ Just s -> return s ++singletonListP :: Expr -> Parser Expr +singletonListP e = do + f <- singList <$> get+ case f of + Nothing -> fail "No parsing support for singleton lists"+ Just s -> return $ s e + exprCastP :: Parser Expr exprCastP = do e <- exprP@@ -447,14 +466,14 @@ makePrefixFun x = fromMaybe (EApp (EVar $ symbol x)) insertOperator :: Int -> Operator String Integer (State PState) Expr -> OpTable -> OpTable-insertOperator i op ops = go (9 - i) ops+insertOperator i op = go (9 - i) where- go _ [] = die $ err dummySpan (text "insertOperator on empty ops")- go 0 (xs:xss) = (xs++[op]):xss- go i (xs:xss) = xs:go (i-1) xss+ go _ [] = die $ err dummySpan (text "insertOperator on empty ops")+ go 0 (xs:xss) = (xs ++ [op]) : xss+ go i (xs:xss) = xs : go (i - 1) xss initOpTable :: OpTable-initOpTable = replicate 10 [] -- take 10 (repeat [])+initOpTable = replicate 10 [] bops :: OpTable bops = foldl (flip addOperator) initOpTable buildinOps@@ -475,14 +494,21 @@ exprFunP = mkEApp <$> funSymbolP <*> funRhsP funRhsP = sepBy1 expr0P blanks <|> parens innerP- innerP = brackets (sepBy exprP semi)- <|> sepBy exprP comma+ innerP = brackets (sepBy exprP semi) -- TODO:AZ the parens here should be superfluous, but it hits an infinite loop if removed simpleAppP = EApp <$> parens exprP <*> parens exprP funSymbolP = locParserP symbolP +tupleP :: Parser Expr+tupleP = do+ let tp = parens (pairP exprP comma (sepBy1 exprP comma))+ Loc l1 l2 (first, rest) <- locParserP tp+ let cons = symbol $ "(" ++ replicate (length rest) ',' ++ ")"+ return $ mkEApp (Loc l1 l2 cons) (first : rest)++ -- TODO:AZ: The comment says BitVector literal, but it accepts any @Sort@ -- | BitVector literal: lit "#x00000001" (BitVec (Size32 obj)) litP :: Parser Expr@@ -621,7 +647,7 @@ where lops = [ [Prefix (reservedOp "~" >> return PNot)] , [Prefix (reservedOp "not " >> return PNot)]- , [Infix (reservedOp "&&" >> return (\x y -> pGAnd x y)) AssocRight]+ , [Infix (reservedOp "&&" >> return pGAnd) AssocRight] , [Infix (reservedOp "||" >> return (\x y -> POr [x,y])) AssocRight] , [Infix (reservedOp "=>" >> return PImp) AssocRight] , [Infix (reservedOp "==>" >> return PImp) AssocRight]@@ -694,7 +720,7 @@ <*> braces (sepBy dataFieldP comma) dataDeclP :: Parser DataDecl-dataDeclP = DDecl <$> fTyConP <*> intP <* (reservedOp "=")+dataDeclP = DDecl <$> fTyConP <*> intP <* reservedOp "=" <*> brackets (many (reservedOp "|" *> dataCtorP)) --------------------------------------------------------------------------------@@ -706,22 +732,40 @@ qualifierP tP = do pos <- getPosition n <- upperIdP- params <- parens $ sepBy1 (symBindP tP) comma+ params <- parens $ sepBy1 (qualParamP tP) comma _ <- colon body <- predP return $ mkQual n params body pos +qualParamP :: Parser Sort -> Parser QualParam +qualParamP tP = do + x <- symbolP + pat <- qualPatP + _ <- colon + t <- tP + return $ QP x pat t ++qualPatP :: Parser QualPattern+qualPatP + = (reserved "as" >> qualStrPatP)+ <|> return PatNone ++qualStrPatP :: Parser QualPattern+qualStrPatP + = (PatExact <$> symbolP)+ <|> parens ( (uncurry PatPrefix <$> pairP symbolP dot qpVarP)+ <|> (uncurry PatSuffix <$> pairP qpVarP dot symbolP) )+++qpVarP :: Parser Int+qpVarP = char '$' *> intP + symBindP :: Parser a -> Parser (Symbol, a) symBindP = pairP symbolP colon pairP :: Parser a -> Parser z -> Parser b -> Parser (a, b) pairP xP sepP yP = (,) <$> xP <* sepP <*> yP --- mkParam :: Symbol -> Symbol--- mkParam s = unsafeTextSymbol ('~' `T.cons` toUpper c `T.cons` cs)--- where--- Just (c,cs) = T.uncons $ symbolSafeText s- --------------------------------------------------------------------- -- | Axioms for Symbolic Evaluation --------------------------------- ---------------------------------------------------------------------@@ -755,6 +799,7 @@ | Kut !KVar | Pack !KVar !Int | IBind !Int !Symbol !SortedReft+ | EBind !Int !Symbol !Sort | Opt !String | Def !Equation | Mat !Rewrite@@ -781,9 +826,8 @@ <|> Pack <$> (reserved "pack" >> kvarP) <*> (colon >> intP) <|> Qul <$> (reserved "qualif" >> qualifierP sortP) <|> Kut <$> (reserved "cut" >> kvarP)- <|> IBind <$> (reserved "bind" >> intP)- <*> symbolP- <*> (colon >> {-# SCC "sortedReftP" #-} sortedReftP)+ <|> EBind <$> (reserved "ebind" >> intP) <*> symbolP <*> (colon >> braces sortP)+ <|> IBind <$> (reserved "bind" >> intP) <*> symbolP <*> (colon >> sortedReftP) <|> Opt <$> (reserved "fixpoint" >> stringLiteral) <|> Def <$> (reserved "define" >> defineP) <|> Mat <$> (reserved "match" >> matchP)@@ -848,11 +892,15 @@ <|> (reserved "False" >> return False) defsFInfo :: [Def a] -> FInfo a-defsFInfo defs = {-# SCC "defsFI" #-} FI cm ws bs lts dts kts qs binfo adts mempty mempty ae+defsFInfo defs = {-# SCC "defsFI" #-} FI cm ws bs ebs lts dts kts qs binfo adts mempty mempty ae where- cm = M.fromList [(cid c, c) | Cst c <- defs]- ws = M.fromList [(thd3 $ wrft w, w) | Wfc w <- defs]- bs = bindEnvFromList [(n, x, r) | IBind n x r <- defs]+ cm = Misc.safeFromList + "defs-cm" [(cid c, c) | Cst c <- defs]+ ws = Misc.safeFromList + "defs-ws" [(i, w) | Wfc w <- defs, let i = Misc.thd3 (wrft w)]+ bs = bindEnvFromList $ exBinds ++ [(n,x,r) | IBind n x r <- defs] + ebs = [ n | (n,_,_) <- exBinds] + exBinds = [(n, x, RR t mempty) | EBind n x t <- defs] lts = fromListSEnv [(x, t) | Con x t <- defs] dts = fromListSEnv [(x, t) | Dis x t <- defs] kts = KS $ S.fromList [k | Kut k <- defs]@@ -914,7 +962,7 @@ initPState :: PState-initPState = PState {fixityTable = bops}+initPState = PState {fixityTable = bops, empList = Nothing, singList = Nothing} doParse' :: Parser a -> SourceName -> String -> a doParse' parser f s@@ -923,7 +971,7 @@ Right (r, "", _) -> r Right (_, r, l) -> die $ err (SS l l) (dRem r) where- dErr e = vcat [ "parseError" <+> tshow e+ dErr e = vcat [ "parseError" <+> Misc.tshow e , "when parsing from" <+> text f ] dRem r = vcat [ "doParse has leftover" , nest 4 (text r)
@@ -5,6 +5,7 @@ {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE PatternGuards #-} -- | This module contains an SMTLIB2 interface for -- 1. checking the validity, and,@@ -40,7 +41,6 @@ , smtDecl , smtDecls , smtAssert- -- , smtDataDecl , smtFuncDecl , smtAssertAxiom , smtCheckUnsat@@ -60,10 +60,8 @@ import Language.Fixpoint.Types.Config ( SMTSolver (..) , Config , solver- , extensionality- , alphaEquivalence- , betaEquivalence- , normalForm+ , smtTimeout+ , gradual , stringTheory) import qualified Language.Fixpoint.Misc as Misc import qualified Language.Fixpoint.Types.Visitor as Vis@@ -79,8 +77,8 @@ import Control.Exception import Data.Char import qualified Data.HashMap.Strict as M-import Data.Monoid-import Data.Maybe (fromMaybe)+import Data.Maybe (fromMaybe)+import Data.Semigroup (Semigroup (..)) import qualified Data.Text as T import Data.Text.Format import qualified Data.Text.IO as TIO@@ -274,10 +272,6 @@ , ctxCout = hOut , ctxLog = Nothing , ctxVerbose = loud- , ctxExt = extensionality cfg- , ctxAeq = alphaEquivalence cfg- , ctxBeq = betaEquivalence cfg- , ctxNorm = normalForm cfg , ctxSymEnv = mempty } @@ -309,8 +303,8 @@ v:_ <- T.words . (!!1) . T.splitOn "\"" <$> smtReadRaw me checkValidStringFlag Z3 v cfg if T.splitOn "." v `versionGreaterEq` ["4", "3", "2"]- then return $ z3_432_options ++ makeMbqi cfg ++ Thy.preamble cfg Z3- else return $ z3_options ++ makeMbqi cfg ++ Thy.preamble cfg Z3+ then return $ z3_432_options ++ makeMbqi cfg ++ makeTimeout cfg ++ Thy.preamble cfg Z3+ else return $ z3_options ++ makeMbqi cfg ++ makeTimeout cfg ++ Thy.preamble cfg Z3 smtPreamble cfg s _ = checkValidStringFlag s "" cfg >> return (Thy.preamble cfg s) @@ -346,18 +340,19 @@ smtDecls = mapM_ . uncurry . smtDecl smtDecl :: Context -> Symbol -> Sort -> IO ()-smtDecl me x t = interact' me (Declare x ins' out')+smtDecl me x t = interact' me ({- notracepp msg $ -} Declare x ins' out') where ins' = sortSmtSort False env <$> ins out' = sortSmtSort False env out (ins, out) = deconSort t+ _msg = "smtDecl: " ++ showpp (x, t, ins, out) env = seData (ctxSymEnv me) smtFuncDecl :: Context -> Symbol -> ([SmtSort], SmtSort) -> IO () smtFuncDecl me x (ts, t) = interact' me (Declare x ts t) -smtDataDecl :: Context -> DataDecl -> IO ()-smtDataDecl me d = interact' me (DeclData d)+smtDataDecl :: Context -> [DataDecl] -> IO ()+smtDataDecl me ds = interact' me (DeclData ds) deconSort :: Sort -> ([Sort], Sort) deconSort t = case functionSort t of@@ -387,7 +382,6 @@ smtBracketAt :: SrcSpan -> Context -> String -> IO a -> IO a smtBracketAt sp x y z = smtBracket x y z `catch` dieAt sp - smtBracket :: Context -> String -> IO a -> IO a smtBracket me _msg a = do smtPush me@@ -404,10 +398,17 @@ interact' :: Context -> Command -> IO () interact' me cmd = void $ command me cmd ++makeTimeout :: Config -> [LT.Text]+makeTimeout cfg+ | Just i <- smtTimeout cfg = [ LT.pack ("\n(set-option :timeout " ++ (show i) ++ ")\n")]+ | otherwise = [""]++ makeMbqi :: Config -> [LT.Text] makeMbqi cfg- | extensionality cfg = [""]- | otherwise = ["\n(set-option :smt.mbqi false)"]+ | gradual cfg = [""]+ | otherwise = ["\n(set-option :smt.mbqi false)"] -- DON'T REMOVE THIS! z3 changed the names of options between 4.3.1 and 4.3.2... z3_432_options :: [LT.Text]@@ -428,7 +429,7 @@ declare :: Context -> IO () -- SolveM () -------------------------------------------------------------------------------- declare me = do- forM_ ds $ smtDataDecl me+ forM_ dss $ smtDataDecl me forM_ thyXTs $ uncurry $ smtDecl me forM_ qryXTs $ uncurry $ smtDecl me forM_ ats $ uncurry $ smtFuncDecl me@@ -436,14 +437,14 @@ forM_ axs $ smtAssert me where env = ctxSymEnv me- ds = dataDeclarations env+ dss = dataDeclarations env lts = F.toListSEnv . F.seLits $ env ess = distinctLiterals lts axs = Thy.axiomLiterals lts thyXTs = filter (isKind 1) xts qryXTs = Misc.mapSnd tx <$> filter (isKind 2) xts isKind n = (n ==) . symKind env . fst- xts = symbolSorts (F.seSort env) -- F.toListSEnv (F.seSort env)+ xts = {- tracepp "symbolSorts" $ -} symbolSorts (F.seSort env) tx = elaborate "declare" env ats = funcSortVars env @@ -453,12 +454,12 @@ tx t@(FObj a) = fromMaybe t (F.lookupSEnv a env) tx t = t -dataDeclarations :: SymEnv -> [DataDecl]-dataDeclarations = -- (if True then orderDeclarations else id) .- orderDeclarations . map snd . F.toListSEnv . F.seData+dataDeclarations :: SymEnv -> [[DataDecl]]+dataDeclarations = orderDeclarations . map snd . F.toListSEnv . F.seData funcSortVars :: F.SymEnv -> [(F.Symbol, ([F.SmtSort], F.SmtSort))] funcSortVars env = [(var applyName t , appSort t) | t <- ts]+ ++ [(var coerceName t , ([t1],t2)) | t@(t1, t2) <- ts] ++ [(var lambdaName t , lamSort t) | t <- ts] ++ [(var (lamArgSymbol i) t , argSort t) | t@(_,F.SInt) <- ts, i <- [1..Thy.maxLamArg] ] where@@ -502,9 +503,9 @@ -- | 'orderDeclarations' sorts the data declarations such that each declarations -- only refers to preceding ones. ---------------------------------------------------------------------------------orderDeclarations :: [F.DataDecl] -> [F.DataDecl]+orderDeclarations :: [F.DataDecl] -> [[F.DataDecl]] ---------------------------------------------------------------------------------orderDeclarations ds = reverse (Misc.topoSortWith f ds)+orderDeclarations ds = {- reverse -} (Misc.sccsWith f ds) where dM = M.fromList [(F.ddTyCon d, d) | d <- ds] f d = (F.ddTyCon d, dataDeclDeps dM d)
@@ -17,7 +17,7 @@ import qualified Language.Fixpoint.Types.Visitor as Vis import Language.Fixpoint.Smt.Types import qualified Language.Fixpoint.Smt.Theories as Thy-import Data.Monoid+import Data.Semigroup (Semigroup (..)) import qualified Data.Text.Lazy.Builder as Builder import Data.Text.Format import Language.Fixpoint.Misc (sortNub, errorstar)@@ -33,9 +33,32 @@ smt2Sort :: (PPrint a) => Bool -> a -> SymEnv -> Sort -> Builder.Builder smt2Sort poly _ env t = smt2 env (Thy.sortSmtSort poly (seData env) t) -smt2data :: SymEnv -> DataDecl -> Builder.Builder-smt2data env = smt2data' env . padDataDecl+smt2data :: SymEnv -> [DataDecl] -> Builder.Builder+smt2data env = smt2data' env . map padDataDecl +smt2data' :: SymEnv -> [DataDecl] -> Builder.Builder+smt2data' env ds = build "({}) ({})" (tvars, smt2many (smt2data1 env <$> muSort ds)) + where+ tvars = smt2many (smt2TV <$> [0..(n-1)])+ smt2TV = smt2 env . SVar+ n = numTyVars ds ++smt2data1 :: SymEnv -> DataDecl -> Builder.Builder+smt2data1 env (DDecl tc as cs) = build "({} {})" (name, ctors)+ where+ name = smt2 env (symbol tc)+ ctors = smt2many (smt2ctor env as <$> cs)++numTyVars :: [DataDecl] -> Int +numTyVars ds + | ok = n + | otherwise = panic ("Cannot create mutually-recursive datatypes with different number of type variables!: " ++ tcs)+ where + tcs = show [ ddTyCon d | d <- ds ] + n:ns = [ ddVars d | d <- ds ] + ok = and [ n == n' | n' <- ns ]++{- smt2data' :: SymEnv -> DataDecl -> Builder.Builder smt2data' env (DDecl tc n cs) = build "({}) (({} {}))" (tvars, name, ctors) where@@ -43,15 +66,21 @@ name = smt2 env (symbol tc) ctors = smt2many (smt2ctor env <$> cs) smt2TV = smt2 env . SVar+-} -smt2ctor :: SymEnv -> DataCtor -> Builder.Builder-smt2ctor env (DCtor c []) = smt2 env c-smt2ctor env (DCtor c fs) = build "({} {})" (smt2 env c, fields)+{- + (declare-datatypes (T) ((Tree leaf (node (value T) (children TreeList)))+ (TreeList nil (cons (car Tree) (cdr TreeList)))))+-}++smt2ctor :: SymEnv -> Int -> DataCtor -> Builder.Builder+smt2ctor env _ (DCtor c []) = smt2 env c+smt2ctor env as (DCtor c fs) = build "({} {})" (smt2 env c, fields) where- fields = smt2many (smt2field env <$> fs)+ fields = smt2many (smt2field env as <$> fs) -smt2field :: SymEnv -> DataField -> Builder.Builder-smt2field env d@(DField x t) = build "({} {})" (smt2 env x, smt2SortPoly d env t)+smt2field :: SymEnv -> Int -> DataField -> Builder.Builder+smt2field env as d@(DField x t) = build "({} {})" (smt2 env x, smt2SortPoly d env $ mkPoly as t) -- | SMTLIB/Z3 don't like "unused" type variables; they get pruned away and -- cause wierd hassles. See tests/pos/adt_poly_dead.fq for an example.@@ -138,10 +167,12 @@ smt2 env (PAll [] p) = smt2 env p smt2 env (PAll bs p) = build "(forall ({}) {})" (smt2s env bs, smt2 env p) smt2 env (PAtom r e1 e2) = mkRel env r e1 e2- smt2 env (ELam b e) = smt2Lam env b e- smt2 env (ECoerc _ _ e) = smt2 env e+ smt2 env (ELam b e) = smt2Lam env b e+ smt2 env (ECoerc t1 t2 e) = smt2Coerc env t1 t2 e smt2 _ e = panic ("smtlib2 Pred " ++ show e) ++ -- | smt2Cast uses the 'as x T' pattern needed for polymorphic ADT constructors -- like Nil, see `tests/pos/adt_list_1.fq` @@ -183,6 +214,14 @@ where (f, es) = splitEApp' e +smt2Coerc :: SymEnv -> Sort -> Sort -> Expr -> Builder.Builder+smt2Coerc env t1 t2 e + | t1 == t2 = smt2 env e+ | otherwise = build "({} {})" (symbolBuilder coerceFn , smt2 env e)+ where + coerceFn = symbolAtName coerceName env (ECoerc t1 t2 e) t+ t = FFunc t1 t2+ -- unCast :: Expr -> Expr -- unCast (ECst e _) = unCast e -- unCast e = e@@ -203,7 +242,7 @@ mkNe env e1 e2 = build "(not (= {} {}))" (smt2 env e1, smt2 env e2) instance SMTLIB2 Command where- smt2 env (DeclData d) = build "(declare-datatypes {})" (Only $ smt2data env d)+ smt2 env (DeclData ds) = build "(declare-datatypes {})" (Only $ smt2data env ds) smt2 env (Declare x ts t) = build "(declare-fun {} ({}) {})" (smt2 env x, smt2many (smt2 env <$> ts), smt2 env t) smt2 env c@(Define t) = build "(declare-sort {})" (Only $ smt2SortMono c env t) smt2 env (Assert Nothing p) = build "(assert {})" (Only $ smt2 env p)
@@ -37,13 +37,13 @@ ) where import Prelude hiding (map)+import Data.Semigroup (Semigroup (..)) import Language.Fixpoint.Types.Sorts import Language.Fixpoint.Types.Config import Language.Fixpoint.Types import Language.Fixpoint.Smt.Types -- import qualified Data.HashMap.Strict as M import Data.Maybe (catMaybes)-import Data.Monoid import qualified Data.Text.Lazy as T import qualified Data.Text.Lazy.Builder as Builder import Data.Text.Format@@ -61,9 +61,11 @@ -- | Theory Symbols ------------------------------------------------------------ -------------------------------------------------------------------------------- +-- "set" is currently \"LSet\" instead of just \"Set\" because Z3 has its own+-- \"Set\" since 4.8.5 elt, set, map :: Raw elt = "Elt"-set = "Set"+set = "LSet" map = "Map" emp, add, cup, cap, mem, dif, sub, com, sel, sto, mcup, mdef :: Raw@@ -332,7 +334,7 @@ interpSymbols = [ interpSym setEmp emp (FAbs 0 $ FFunc (setSort $ FVar 0) boolSort) , interpSym setEmpty emp (FAbs 0 $ FFunc intSort (setSort $ FVar 0))- , interpSym setAdd add setBopSort+ , interpSym setAdd add setAddSort , interpSym setCup cup setBopSort , interpSym setCap cap setBopSort , interpSym setMem mem setMemSort@@ -352,6 +354,7 @@ ] where boolInt = boolToIntName+ setAddSort = FAbs 0 $ FFunc (setSort $ FVar 0) $ FFunc (FVar 0) (setSort $ FVar 0) setBopSort = FAbs 0 $ FFunc (setSort $ FVar 0) $ FFunc (setSort $ FVar 0) (setSort $ FVar 0) setMemSort = FAbs 0 $ FFunc (FVar 0) $ FFunc (setSort $ FVar 0) boolSort setCmpSort = FAbs 0 $ FFunc (setSort $ FVar 0) $ FFunc (setSort $ FVar 0) boolSort
@@ -46,8 +46,7 @@ data Command = Push | Pop | CheckSat- | DeclData !DataDecl--- / | Declare !Symbol [Sort] !Sort+ | DeclData ![DataDecl] | Declare !Symbol [SmtSort] !SmtSort | Define !Sort | Assert !(Maybe Int) !Expr@@ -61,11 +60,12 @@ pprintTidy _ = ppCmd ppCmd :: Command -> Doc-ppCmd Push = text "Push"-ppCmd Pop = text "Pop"-ppCmd CheckSat = text "CheckSat"-ppCmd (DeclData d) = text "Data" <+> pprint d-ppCmd (Declare {}) = text "Declare ..."+ppCmd Push = text "Push"+ppCmd Pop = text "Pop"+ppCmd CheckSat = text "CheckSat"+ppCmd (DeclData d) = text "Data" <+> pprint d+ppCmd (Declare x [] t) = text "Declare" <+> pprint x <+> text ":" <+> pprint t+ppCmd (Declare x ts t) = text "Declare" <+> pprint x <+> text ":" <+> parens (pprint ts) <+> pprint t ppCmd (Define {}) = text "Define ..." ppCmd (Assert _ e) = text "Assert" <+> pprint e ppCmd (AssertAx _) = text "AssertAxiom ..."@@ -89,10 +89,6 @@ , ctxCout :: !Handle , ctxLog :: !(Maybe Handle) , ctxVerbose :: !Bool- , ctxExt :: !Bool -- ^ flag to enable function extentionality axioms- , ctxAeq :: !Bool -- ^ flag to enable lambda a-equivalence axioms- , ctxBeq :: !Bool -- ^ flag to enable lambda b-equivalence axioms- , ctxNorm :: !Bool -- ^ flag to enable lambda normal form equivalence axioms , ctxSymEnv :: !SymEnv }
@@ -13,6 +13,7 @@ -- * Function to determine outcome , resultExit+ , resultExitCode -- * Parse Qualifiers from File , parseFInfo@@ -51,29 +52,27 @@ -- | Solve an .fq file ---------------------------------------------------- --------------------------------------------------------------------------- solveFQ :: Config -> IO ExitCode-----------------------------------------------------------------------------solveFQ cfg = solveFQ' cfg `catch` errorExit--errorExit :: Error -> IO ExitCode-errorExit e = do- colorStrLn Sad ("Oops, unexpected error: " ++ showpp e)- return (ExitFailure 2)--solveFQ' :: Config -> IO ExitCode-solveFQ' cfg = do+solveFQ cfg = do (fi, opts) <- readFInfo file cfg' <- withPragmas cfg opts let fi' = ignoreQualifiers cfg' fi r <- solve cfg' fi'- let stat = resStatus $!! r- -- let str = render $ resultDoc $!! (const () <$> stat)- -- putStrLn "\n"- whenNormal $ colorStrLn (colorResult stat) (statStr $!! stat)- return $ eCode r+ resultExitCode (fst <$> r) where file = srcFile cfg++---------------------------------------------------------------------------+resultExitCode :: Result SubcId -> IO ExitCode +---------------------------------------------------------------------------+resultExitCode r = do + -- let str = render $ resultDoc $!! (const () <$> stat)+ -- putStrLn "\n"+ whenNormal $ colorStrLn (colorResult stat) (statStr $!! stat)+ return (eCode r)+ where + stat = resStatus $!! r eCode = resultExit . resStatus- statStr = render . resultDoc . fmap fst+ statStr = render . resultDoc ignoreQualifiers :: Config -> FInfo a -> FInfo a ignoreQualifiers cfg fi@@ -174,7 +173,7 @@ msg = showpp e loudDump :: (Fixpoint a) => Int -> Config -> SInfo a -> IO ()-loudDump i cfg si = writeLoud $ msg ++ render (toFixpoint cfg si)+loudDump i cfg si = when False (writeLoud $ msg ++ render (toFixpoint cfg si)) where msg = "fq file after Uniqify & Rename " ++ show i ++ "\n" @@ -201,10 +200,11 @@ let si4 = {-# SCC "defunction" #-} defunctionalize cfg $!! si3 -- putStrLn $ "AXIOMS: " ++ showpp (asserts si4) loudDump 2 cfg si4- let si5 = {-# SCC "elaborate" #-} elaborate "solver" (symbolEnv cfg si4) si4+ let si5 = {-# SCC "elaborate" #-} elaborate (atLoc dummySpan "solver") (symbolEnv cfg si4) si4 loudDump 3 cfg si5 instantiate cfg $!! si5 + solveNative' !cfg !fi0 = do si6 <- simplifyFInfo cfg fi0 res <- {-# SCC "Sol.solve" #-} Sol.solve cfg $!! si6@@ -215,15 +215,6 @@ -- writeLoud $ "\nSolution:\n" ++ showpp (resSolution res) -- colorStrLn (colorResult stat) (show stat) return res------------------------------------------------------------------------------------- | Extract ExitCode from Solver Result -------------------------------------------------------------------------------------------------------------------------resultExit :: FixResult a -> ExitCode----------------------------------------------------------------------------------resultExit Safe = ExitSuccess-resultExit (Unsafe _) = ExitFailure 1-resultExit _ = ExitFailure 2 -------------------------------------------------------------------------------- -- | Parse External Qualifiers -------------------------------------------------
@@ -5,7 +5,7 @@ -- collapse the resulting constraint dependencies. -- See the type of `SolverInfo` for details. -module Language.Fixpoint.Solver.Eliminate (solverInfo) where+module Language.Fixpoint.Solver.Eliminate ( solverInfo ) where import qualified Data.HashSet as S import qualified Data.HashMap.Strict as M@@ -26,14 +26,15 @@ -------------------------------------------------------------------------------- solverInfo cfg sI = SI sHyp sI' cD cKs where- cD = elimDeps sI es nKs+ cD = elimDeps sI es nKs ebs sI' = cutSInfo sI kI cKs- sHyp = Sol.fromList sE mempty mempty kHyps kS+ sHyp = Sol.fromList sE mempty mempty kHyps kS [] $ fromListSEnv [ (x, (i, sr_sort sr)) | (i,x,sr) <- bindEnvToList (bs sI)] kHyps = nonCutHyps sI kI nKs kI = kIndex sI (es, cKs, nKs) = kutVars cfg sI kS = kvScopes sI es sE = symbolEnv cfg sI+ ebs = S.fromList $ fst <$> flip lookupBindEnv (bs sI) <$> (ebinds sI) --------------------------------------------------------------------------------
@@ -35,7 +35,7 @@ gs0 = L.filter (isGWfc . snd) $ M.toList (F.ws si) - elab (k,(x,es)) = ((k,) . (x,)) $ (elaborate "init" (sEnv (gsym x) (gsort x)) <$> es)+ elab (k,(x,es)) = ((k,) . (x,)) $ (elaborate (F.atLoc F.dummySpan "init") (sEnv (gsym x) (gsort x)) <$> es) sEnv x s = isEnv {F.seSort = F.insertSEnv x s (F.seSort isEnv)} isEnv = symbolEnv cfg si@@ -88,7 +88,7 @@ xs <- match senv tyss [v0] (So.apply su0 <$> qts) return $ Sol.eQual q (reverse xs) where- qt : qts = snd <$> F.qParams q+ qt : qts = qpSort <$> F.qParams q tyss = instCands ho env senv = (`F.lookupSEnvWithDistance` env) @@ -123,6 +123,6 @@ where sr = F.RR t (F.Reft (v, p)) p = Sol.eqPred eq- tc = So.checkSorted env sr + tc = So.checkSorted F.dummySpan env sr
@@ -0,0 +1,331 @@+{-# LANGUAGE PatternGuards #-}+{-# LANGUAGE TupleSections #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE OverloadedStrings #-}++--------------------------------------------------------------------------------+-- | Solve a system of horn-clause constraints ---------------------------------+--------------------------------------------------------------------------------++module Language.Fixpoint.Solver.GradualSolve (solveGradual) where++{- COMMENTING OUT AS IT DOESNT BUILD!+import Control.Monad (when, filterM, foldM)+import Control.Monad.State.Strict (lift)+import Language.Fixpoint.Misc+import qualified Language.Fixpoint.Types.Solutions as Sol+import qualified Language.Fixpoint.SortCheck as So+import Language.Fixpoint.Types.PrettyPrint+import qualified Language.Fixpoint.Solver.GradualSolution as S+import qualified Language.Fixpoint.Solver.Worklist as W+import qualified Language.Fixpoint.Solver.Eliminate as E+import Language.Fixpoint.Solver.Monad+import Language.Fixpoint.Utils.Progress+import Language.Fixpoint.Graph+import Text.PrettyPrint.HughesPJ+import Text.Printf+import System.Console.CmdArgs.Verbosity (whenNormal, whenLoud)+import qualified Data.HashMap.Strict as M+import qualified Data.HashSet as S+-}++import Control.DeepSeq+import qualified Language.Fixpoint.Types as F+import Language.Fixpoint.Types.Config hiding (stats)++solveGradual :: (NFData a, F.Fixpoint a) => Config -> F.SInfo a -> IO (F.Result (Integer, a))+solveGradual = undefined++++{- COMMENTING OUT AS IT DOESNT BUILD!++--------------------------------------------------------------------------------+-- | Progress Bar+--------------------------------------------------------------------------------+withProgressFI :: SolverInfo a b -> IO b -> IO b+withProgressFI = withProgress . fromIntegral . cNumScc . siDeps+--------------------------------------------------------------------------------++printStats :: F.SInfo a -> W.Worklist a -> Stats -> IO ()+printStats fi w s = putStrLn "\n" >> ppTs [ ptable fi, ptable s, ptable w ]+ where+ ppTs = putStrLn . showpp . mconcat++--------------------------------------------------------------------------------+solverInfo :: Config -> F.SInfo a -> SolverInfo a b+--------------------------------------------------------------------------------+solverInfo cfg fI+ | useElim cfg = E.solverInfo cfg fI+ | otherwise = SI mempty fI cD (siKvars fI)+ where+ cD = elimDeps fI (kvEdges fI) mempty++siKvars :: F.SInfo a -> S.HashSet F.KVar+siKvars = S.fromList . M.keys . F.ws+++--------------------------------------------------------------------------------+-- | tidyResult ensures we replace the temporary kVarArg names introduced to+-- ensure uniqueness with the original names in the given WF constraints.+--------------------------------------------------------------------------------+tidyResult :: F.Result a -> F.Result a+tidyResult r = r { F.resSolution = tidySolution (F.resSolution r)+ , F.gresSolution = gtidySolution (F.gresSolution r)+ }++tidySolution :: F.FixSolution -> F.FixSolution+tidySolution = fmap tidyPred++gtidySolution :: F.GFixSolution -> F.GFixSolution+gtidySolution = fmap tidyPred -- (\(e, es) -> (tidyPred e, tidyPred <$> es))++tidyPred :: F.Expr -> F.Expr+tidyPred = F.substf (F.eVar . F.tidySymbol)+++predKs :: F.Expr -> [(F.KVar, F.Subst)]+predKs (F.PAnd ps) = concatMap predKs ps+predKs (F.PKVar k su) = [(k, su)]+predKs _ = []++++--------------------------------------------------------------------------------+minimizeResult :: Config -> M.HashMap F.KVar F.Expr+ -> SolveM (M.HashMap F.KVar F.Expr)+--------------------------------------------------------------------------------+minimizeResult cfg s+ | minimalSol cfg = mapM minimizeConjuncts s+ | otherwise = return s++minimizeConjuncts :: F.Expr -> SolveM F.Expr+minimizeConjuncts p = F.pAnd <$> go (F.conjuncts p) []+ where+ go [] acc = return acc+ go (p:ps) acc = do b <- isValid (F.pAnd (acc ++ ps)) p+ if b then go ps acc+ else go ps (p:acc)++++showUnsat :: Bool -> Integer -> F.Pred -> F.Pred -> IO ()+showUnsat u i lP rP = {- when u $ -} do+ putStrLn $ printf "UNSAT id %s %s" (show i) (show u)+ putStrLn $ showpp $ "LHS:" <+> pprint lP+ putStrLn $ showpp $ "RHS:" <+> pprint rP++--------------------------------------------------------------------------------+-- | Predicate corresponding to RHS of constraint in current solution+--------------------------------------------------------------------------------+rhsPred :: F.SimpC a -> F.Expr+--------------------------------------------------------------------------------+rhsPred c+ | isTarget c = F.crhs c+ | otherwise = errorstar $ "rhsPred on non-target: " ++ show (F.sid c)++isValid :: F.Expr -> F.Expr -> SolveM Bool+isValid p q = (not . null) <$> filterValid p [(q, ())]+++-------------------------------------------------------------------------------+-- | solve with edits to allow Gradual types ----------------------------------+-------------------------------------------------------------------------------++solveGradual :: (NFData a, F.Fixpoint a) => Config -> F.SInfo a -> IO (F.Result (Integer, a))+-- solveGradual = undefined++solveGradual cfg fi = do+ (res, stat) <- withProgressFI sI $ runSolverM cfg sI n act+ when (solverStats cfg) $ printStats fi wkl stat+ return res+ where+ act = solveGradual_ cfg fi s0 ks wkl+ sI = solverInfo cfg fi+ wkl = W.init sI+ n = fromIntegral $ W.wRanks wkl+ s0 = siSol sI+ ks = siVars sI++--------------------------------------------------------------------------------+solveGradual_ :: (NFData a, F.Fixpoint a)+ => Config+ -> F.SInfo a+ -> Sol.GSolution+ -> S.HashSet F.KVar+ -> W.Worklist a+ -> SolveM (F.Result (Integer, a), Stats)+--------------------------------------------------------------------------------+solveGradual_ cfg fi s0 ks wkl = do+ let s1 = mappend s0 $ {-# SCC "sol-init" #-} S.init cfg fi ks+ s2 <- {-# SCC "sol-local" #-} filterLocal s1+ s <- {-# SCC "sol-refine" #-} refine s2 wkl+ res <- {-# SCC "sol-result" #-} result cfg wkl s+ st <- stats+ let res' = {-# SCC "sol-tidy" #-} tidyResult res+ return $!! (res', st)++filterLocal :: Sol.GSolution -> SolveM Sol.GSolution+filterLocal sol = do+ gs' <- mapM (initGBind sol) gs+ return $ Sol.updateGMap sol $ M.fromList gs'+ where+ gs = M.toList $ Sol.gMap sol++initGBind :: Sol.GSolution -> (F.KVar, (((F.Symbol, F.Sort), F.Expr), Sol.GBind)) -> SolveM (F.KVar, (((F.Symbol, F.Sort), F.Expr), Sol.GBind))+initGBind sol (k, (e, gb)) = do+ elems0 <- filterM (isLocal e) (Sol.gbEquals gb)+ elems <- sortEquals elems0+ lattice <- makeLattice [] (map (:[]) elems) elems+ return $ ((k,) . (e,) . Sol.equalsGb) lattice+ where+ makeLattice acc new elems+ | null new+ = return acc+ | otherwise+ = do let cands = [e:es |e<-elems, es<-new]+ localCans <- filterM (isLocal e) cands+ newElems <- filterM (notTrivial (new ++ acc)) localCans+ makeLattice (acc ++ new) newElems elems++ notTrivial [] _ = return True+ notTrivial (x:xs) p = do v <- isValid (mkPred x) (mkPred p)+ if v then return False+ else notTrivial xs p++ mkPred eq = So.elaborate "initBGind.mkPred" (Sol.sEnv sol) (F.pAnd (Sol.eqPred <$> eq))+ isLocal (v, e) eqs = do+ let pp = So.elaborate "filterLocal" (Sol.sEnv sol) $ F.PExist [v] $ F.pAnd (e:(Sol.eqPred <$> eqs))+ isValid mempty pp++ root = Sol.trueEqual+ sortEquals xs = (bfs [0]) <$> makeEdges vs [] vs+ where+ vs = zip [0..] (root:(head <$> xs))++ bfs [] _ = []+ bfs (i:is) es = (snd $ (vs!!i)) : bfs (is++map snd (filter (\(j,k) -> (j==i && notElem k is)) es)) es++ makeEdges _ acc [] = return acc+ makeEdges vs acc (x:xs) = do ves <- concat <$> mapM (makeEdgesOne x) vs+ if any (\(i,j) -> elem (j,i) acc) ves+ then makeEdges (filter ((/= fst x) . fst) vs) (filter (\(i,j) -> ((i /= fst x) && (j /= fst x))) acc) xs+ else makeEdges vs (mergeEdges (ves ++ acc)) xs++ makeEdgesOne (i,_) (j,_) | i == j = return []+ makeEdgesOne (i,x) (j,y) = do+ ij <- isValid (mkPred [x]) (mkPred [y])+ return (if ij then [(j,i)] else [])++ mergeEdges es = filter (\(i,j) -> (not (any (\k -> ((i,k) `elem` es && (k,j) `elem` es)) (fst <$> es)))) es+++--------------------------------------------------------------------------------+refine :: Sol.GSolution -> W.Worklist a -> SolveM Sol.GSolution+--------------------------------------------------------------------------------+refine s w+ | Just (c, w', newScc, rnk) <- W.pop w = do+ i <- tickIter newScc+ (b, s') <- refineC i s c+ lift $ writeLoud $ refineMsg i c b rnk+ let w'' = if b then W.push c w' else w'+ refine s' w''+ | otherwise = return s+ where+ -- DEBUG+ refineMsg i c b rnk = printf "\niter=%d id=%d change=%s rank=%d\n"+ i (F.subcId c) (show b) rnk++---------------------------------------------------------------------------+-- | Single Step Refinement -----------------------------------------------+---------------------------------------------------------------------------+refineC :: Int -> Sol.GSolution -> F.SimpC a -> SolveM (Bool, Sol.GSolution)+---------------------------------------------------------------------------+refineC _i s c+ | null rhs = return (False, s)+ | otherwise = do be <- getBinds+ let lhss = snd <$> S.lhsPred be s c+ kqs <- filterValidGradual lhss rhs+ return $ S.update s ks kqs+ where+ _ci = F.subcId c+ (ks, rhs) = rhsCands s c+ -- msg = printf "refineC: iter = %d, sid = %s, soln = \n%s\n"+ -- _i (show (F.sid c)) (showpp s)+ _msg ks xs ys = printf "refineC: iter = %d, sid = %s, s = %s, rhs = %d, rhs' = %d \n"+ _i (show _ci) (showpp ks) (length xs) (length ys)+++rhsCands :: Sol.GSolution -> F.SimpC a -> ([F.KVar], Sol.Cand (F.KVar, Sol.EQual))+rhsCands s c = (fst <$> ks, kqs)+ where+ kqs = [ (p, (k, q)) | (k, su) <- ks, (p, q) <- cnd k su ]+ ks = predKs . F.crhs $ c+ cnd k su = Sol.qbPreds msg s su (Sol.lookupQBind s k)+ msg = "rhsCands: " ++ show (F.sid c)++--------------------------------------------------------------------------------+-- | Gradual Convert Solution into Result ----------------------------------------------+--------------------------------------------------------------------------------+result :: (F.Fixpoint a) => Config -> W.Worklist a -> Sol.GSolution+ -> SolveM (F.Result (Integer, a))+--------------------------------------------------------------------------------+result cfg wkl s = do+ lift $ writeLoud "Computing Result"+ stat <- result_ wkl s+ lift $ whenNormal $ putStrLn $ "RESULT: " ++ show (F.sid <$> stat)+ F.Result (ci <$> stat) <$> solResult cfg s <*> solResultGradual wkl cfg s+ where+ ci c = (F.subcId c, F.sinfo c)++result_ :: Fixpoint a => W.Worklist a -> Sol.GSolution -> SolveM (F.FixResult (F.SimpC a))+result_ w s = res <$> filterM (isUnsat s) cs+ where+ cs = W.unsatCandidates w+ res [] = F.Safe+ res cs' = F.Unsafe cs'++solResult :: Config -> Sol.GSolution -> SolveM (M.HashMap F.KVar F.Expr)+solResult cfg+ = minimizeResult cfg . Sol.result+++solResultGradual :: W.Worklist a -> Config -> Sol.GSolution -> SolveM F.GFixSolution+solResultGradual w _cfg sol+ = F.toGFixSol . Sol.resultGradual <$> updateGradualSolution (W.unsatCandidates w) sol++--------------------------------------------------------------------------------+updateGradualSolution :: [F.SimpC a] -> Sol.GSolution -> SolveM (Sol.GSolution)+--------------------------------------------------------------------------------+updateGradualSolution cs sol = foldM f (Sol.emptyGMap sol) cs+ where+ f s c = do+ be <- getBinds+ let lpi = S.lhsPred be sol c+ let rp = rhsPred c+ gbs <- firstValid rp lpi+ return $ Sol.updateGMapWithKey gbs s+++firstValid :: Monoid a => F.Expr -> [(a, F.Expr)] -> SolveM a+firstValid _ [] = return mempty+firstValid rhs ((y,lhs):xs) = do+ v <- isValid lhs rhs+ if v then return y else firstValid rhs xs+++--------------------------------------------------------------------------------+isUnsat :: Fixpoint a => Sol.GSolution -> F.SimpC a -> SolveM Bool+--------------------------------------------------------------------------------+isUnsat s c = do+ -- lift $ printf "isUnsat %s" (show (F.subcId c))+ _ <- tickIter True -- newScc+ be <- getBinds+ let lpi = S.lhsPred be s c+ let rp = rhsPred c+ res <- (not . or) <$> mapM (`isValid` rp) (snd <$> lpi)+ lift $ whenLoud $ showUnsat res (F.subcId c) (F.pOr (snd <$> lpi)) rp+ return res+++-}
@@ -1,3 +1,13 @@+--------------------------------------------------------------------------------+-- | This module implements "Proof by Logical Evaluation" where we +-- unfold function definitions if they *must* be unfolded, to strengthen+-- the environments with function-definition-equalities. +-- The algorithm is discussed at length in:+-- +-- 1. "Refinement Reflection", POPL 2018, https://arxiv.org/pdf/1711.03842+-- 2. "Reasoning about Functions", VMCAI 2018, https://ranjitjhala.github.io/static/reasoning-about-functions.pdf +--------------------------------------------------------------------------------+ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PartialTypeSignatures #-} {-# LANGUAGE TupleSections #-}@@ -5,276 +15,357 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE PatternGuards #-}+{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE ExistentialQuantification #-} ------------------------------------------------------------------------------------ | Axiom Instantiation -----------------------------------------------------------------------------------------------------------------------------------------module Language.Fixpoint.Solver.Instantiate (- instantiate- ) where+module Language.Fixpoint.Solver.Instantiate (instantiate) where import Language.Fixpoint.Types import Language.Fixpoint.Types.Config as FC import qualified Language.Fixpoint.Types.Visitor as Vis import qualified Language.Fixpoint.Misc as Misc -- (mapFst)-import Language.Fixpoint.Misc ((<<=)) import qualified Language.Fixpoint.Smt.Interface as SMT import Language.Fixpoint.Defunctionalize+import qualified Language.Fixpoint.Utils.Trie as T +import Language.Fixpoint.Utils.Progress -- as T import Language.Fixpoint.SortCheck+import Language.Fixpoint.Graph.Deps (isTarget) import Language.Fixpoint.Solver.Sanitize (symbolEnv) import Control.Monad.State---- AT: I've inlined this, but we should have a more elegant solution--- (track predicates instead of selectors!)--- import Language.Haskell.Liquid.GHC.Misc (dropModuleNames) import qualified Data.Text as T import qualified Data.HashMap.Strict as M+import qualified Data.HashSet as S import qualified Data.List as L-import Data.Maybe (isNothing, catMaybes, fromMaybe)+import qualified Data.Maybe as Mb -- (isNothing, catMaybes, fromMaybe) import Data.Char (isUpper)+-- import Debug.Trace (trace) -- import Text.Printf (printf) -(~>) :: (Expr, String) -> Expr -> EvalST Expr-(_e,_str) ~> e' = do- modify (\st -> st {evId = evId st + 1})- return (wtf e')-+mytracepp :: (PPrint a) => String -> a -> a+mytracepp = notracepp ----------------------------------------------------------------------------------- | Instantiate Axioms+-- | Strengthen Constraint Environments via PLE ---------------------------------------------------------------------------------instantiate :: Config -> SInfo a -> IO (SInfo a)+instantiate :: (Loc a) => Config -> SInfo a -> IO (SInfo a) instantiate cfg fi- | rewriteAxioms cfg = instantiate' cfg fi- | otherwise = return fi+ | rewriteAxioms cfg && noIncrPle cfg+ = instantiate' cfg fi -instantiate' :: Config -> GInfo SimpC a -> IO (SInfo a)-instantiate' cfg fi = sInfo cfg fi env <$> withCtx cfg file env act- where- act ctx = forM cstrs $ \(i, c) ->- (i,) . notracepp ("INSTANTIATE i = " ++ show i) <$> instSimpC cfg ctx (bs fi) aenv i c- cstrs = M.toList (cm fi)- file = srcFile cfg ++ ".evals"- env = symbolEnv cfg fi- aenv = {- tracepp "AXIOM-ENV" -} (ae fi)+ | rewriteAxioms cfg -- && incrPle cfg + = incrInstantiate' cfg fi -sInfo :: Config -> GInfo SimpC a -> SymEnv -> [(SubcId, Expr)] -> SInfo a-sInfo cfg fi env ips = strengthenHyp fi' (notracepp "ELAB-INST: " $ zip is ps'')+ | otherwise + = return fi++------------------------------------------------------------------------------- +-- | New "Incremental" PLE+------------------------------------------------------------------------------- +incrInstantiate' :: (Loc a) => Config -> SInfo a -> IO (SInfo a)+------------------------------------------------------------------------------- +incrInstantiate' cfg fi = do + let cs = [ (i, c) | (i, c) <- M.toList (cm fi), isPleCstr aEnv i c ] + let t = mkCTrie cs -- 1. BUILD the Trie+ res <- withProgress (1 + length cs) $ + withCtx cfg file sEnv (pleTrie t . instEnv cfg fi cs) -- 2. TRAVERSE Trie to compute InstRes+ return $ resSInfo cfg sEnv fi res -- 3. STRENGTHEN SInfo using InstRes where- (is, ps) = unzip ips- (ps', axs) = defuncAxioms cfg env ps- ps'' = zipWith (\i -> elaborate ("PLE1 " ++ show i) env) is ps' -- <$> ps'- axs' = elaborate "PLE2" env <$> axs- fi' = fi { asserts = axs' ++ asserts fi }+ file = srcFile cfg ++ ".evals"+ sEnv = symbolEnv cfg fi+ aEnv = ae fi -withCtx :: Config -> FilePath -> SymEnv -> (SMT.Context -> IO a) -> IO a-withCtx cfg file env k = do- ctx <- SMT.makeContextWithSEnv cfg file env- _ <- SMT.smtPush ctx- res <- k ctx- _ <- SMT.cleanupContext ctx- return res -instSimpC :: Config -> SMT.Context -> BindEnv -> AxiomEnv- -> Integer -> SimpC a- -> IO Expr-instSimpC _ _ _ aenv sid _- | not (M.lookupDefault False sid (aenvExpand aenv))- = return PTrue-instSimpC cfg ctx bds aenv _ sub- = -- tracepp ("instSimpC " ++ show sid) .- pAnd . (is0 ++) <$>- if rewriteAxioms cfg then evalEqs else return []- where- is0 = eqBody <$> L.filter (null . eqArgs) eqs- evalEqs = map (uncurry (PAtom Eq)) .- filter (uncurry (/=)) <$>- evaluate cfg ctx binds aenv iExprs- eqs = aenvEqs aenv- (binds, iExprs) = cstrBindExprs bds sub -cstrBindExprs :: BindEnv -> SimpC a -> ([(Symbol, SortedReft)], [Expr])-cstrBindExprs bds sub = {- tracepp "initExpressions" -} (unElab <$> binds, unElab <$> es)+------------------------------------------------------------------------------- +-- | Step 1a: @instEnv@ sets up the incremental-PLE environment +instEnv :: (Loc a) => Config -> SInfo a -> [(SubcId, SimpC a)] -> SMT.Context -> InstEnv a +instEnv cfg fi cs ctx = InstEnv cfg ctx bEnv aEnv (M.fromList cs) γ s0+ where + bEnv = bs fi+ aEnv = ae fi+ γ = knowledge cfg ctx aEnv + s0 = EvalEnv 0 [] aEnv (SMT.ctxSymEnv ctx) cfg ++---------------------------------------------------------------------------------------------- +-- | Step 1b: @mkCTrie@ builds the @Trie@ of constraints indexed by their environments +mkCTrie :: [(SubcId, SimpC a)] -> CTrie +mkCTrie ics = mytracepp "TRIE" $ T.fromList [ (cBinds c, i) | (i, c) <- ics ] where- es = {- expr (slhs sub) : -} (crhs sub) : (expr <$> binds)- binds = envCs bds (senv sub)- -- _tx e = tracepp ("UNELAB e = " ++ showpp e) (unElab e)+ cBinds = L.sort . elemsIBindEnv . senv -unElab :: (Vis.Visitable t) => t -> t-unElab = Vis.stripCasts . unApply+---------------------------------------------------------------------------------------------- +-- | Step 2: @pleTrie@ walks over the @CTrie@ to actually do the incremental-PLE+pleTrie :: CTrie -> InstEnv a -> IO InstRes+pleTrie t env = loopT env ctx0 diff0 Nothing res0 t + where + diff0 = []+ res0 = M.empty + ctx0 = initCtx es0+ es0 = eqBody <$> L.filter (null . eqArgs) (aenvEqs . ieAenv $ env) -unApply :: (Vis.Visitable t) => t -> t-unApply = Vis.trans (Vis.defaultVisitor { Vis.txExpr = const go }) () ()- where- go (ECst (EApp (EApp f e1) e2) _)- | Just _ <- unApplyAt f = EApp e1 e2- go e = e+loopT :: InstEnv a -> ICtx -> Diff -> Maybe BindId -> InstRes -> CTrie -> IO InstRes+loopT env ctx delta i res t = case t of + T.Node [] -> return res+ T.Node [b] -> loopB env ctx delta i res b+ T.Node bs -> withAssms env ctx delta Nothing $ \ctx' -> do + (ctx'', res') <- ple1 env ctx' i Nothing res + foldM (loopB env ctx'' [] i) res' bs +loopB :: InstEnv a -> ICtx -> Diff -> Maybe BindId -> InstRes -> CBranch -> IO InstRes+loopB env ctx delta iMb res b = case b of + T.Bind i t -> loopT env ctx (i:delta) (Just i) res t+ T.Val cid -> withAssms env ctx delta (Just cid) $ \ctx' -> do + progressTick+ (snd <$> ple1 env ctx' iMb (Just cid) res) ------------------------------------------------------------------------------------ | Knowledge (SMT Interaction)----------------------------------------------------------------------------------data Knowledge- = KN { knSims :: ![Rewrite]- , knAms :: ![Equation]- , knContext :: IO SMT.Context- , knPreds :: !([(Symbol, Sort)] -> Expr -> SMT.Context -> IO Bool)- , knLams :: [(Symbol, Sort)]- } -emptyKnowledge :: IO SMT.Context -> Knowledge-emptyKnowledge ctx = KN [] [] ctx (\_ _ _ -> return False) []+withAssms :: InstEnv a -> ICtx -> Diff -> Maybe SubcId -> (ICtx -> IO b) -> IO b +withAssms env@(InstEnv {..}) ctx delta cidMb act = do + let ctx' = updCtx env ctx delta cidMb + let assms = mytracepp ("ple1-assms: " ++ show (cidMb, delta)) (icAssms ctx')+ SMT.smtBracket ieSMT "PLE.evaluate" $ do+ forM_ assms (SMT.smtAssert ieSMT) + act ctx' -isValid :: Knowledge -> Expr -> IO Bool-isValid γ b = knPreds γ (knLams γ) b =<< knContext γ+-- | @ple1@ performs the PLE at a single "node" in the Trie +ple1 :: InstEnv a -> ICtx -> Maybe BindId -> Maybe SubcId -> InstRes -> IO (ICtx, InstRes)+ple1 env@(InstEnv {..}) ctx i cidMb res = do + let cands = mytracepp ("ple1-cands: " ++ show cidMb) $ S.toList (icCands ctx) + -- unfolds <- evalCands ieKnowl ieEvEnv cands + unfolds <- evalCandsLoop ieCfg ieSMT ieKnowl ieEvEnv cands + return $ updCtxRes env ctx res i cidMb (mytracepp ("ple1-cands-unfolds: " ++ show cidMb) unfolds) -makeKnowledge :: Config -> SMT.Context -> AxiomEnv- -> [(Symbol, SortedReft)]- -> ([(Expr, Expr)], Knowledge)-makeKnowledge cfg ctx aenv es = (simpleEqs,) $ (emptyKnowledge context)- { knSims = aenvSimpl aenv- , knAms = aenvEqs aenv- , knPreds = \bs e c -> askSMT c bs e- }- where- senv = SMT.ctxSymEnv ctx- context :: IO SMT.Context- context = do- SMT.smtPop ctx- SMT.smtPush ctx- -- SMT.smtDecls ctx $ L.nub [(x, toSMT [] s) | (x, s) <- fbinds, not (memberSEnv x thySyms)]- SMT.smtAssert ctx (pAnd ([toSMT [] (PAtom Eq e1 e2) | (e1, e2) <- simpleEqs]- ++ filter (null . Vis.kvars) ((toSMT [] . expr) <$> es)- ))- return ctx+_evalCands :: Knowledge -> EvalEnv -> [Expr] -> IO [Unfold] +_evalCands _ _ [] = return []+_evalCands γ s0 cands = do eqs <- mapM (evalOne γ s0) cands+ return $ mkUnfolds (zip (Just <$> cands) eqs) - -- This creates the rewrite rule e1 -> e2. When should I apply it?- -- 1. when e2 is a data con and can lead to further reductions- -- 2. when size e2 < size e1- simpleEqs = {- tracepp "SIMPLEEQS" $ -} makeSimplifications (aenvSimpl aenv) =<<- L.nub (catMaybes [_getDCEquality senv e1 e2 | PAtom Eq e1 e2 <- atms])- atms = splitPAnd =<< (expr <$> filter isProof es)- isProof (_, RR s _) = showpp s == "Tuple"- toSMT bs = defuncAny cfg senv . elaborate "makeKnowledge" (elabEnv bs)- elabEnv = L.foldl' (\env (x, s) -> insertSymEnv x s env) senv+unfoldPred :: Config -> SMT.Context -> [Unfold] -> Pred +unfoldPred cfg ctx = toSMT cfg ctx [] . pAnd . concatMap snd - -- AT: Non-obvious needed invariant: askSMT True is always the- -- totality-effecting one- askSMT :: SMT.Context -> [(Symbol, Sort)] -> Expr -> IO Bool- askSMT ctx bs e- | isTautoPred e = return True- -- // Why? | isContraPred e = return False -- Why the f?- | null (Vis.kvars e) = do- SMT.smtPush ctx- b <- SMT.checkValid' ctx [] PTrue (toSMT bs e)- SMT.smtPop ctx- return b- | otherwise = return False+evalCandsLoop :: Config -> SMT.Context -> Knowledge -> EvalEnv -> [Expr] -> IO [Unfold] +evalCandsLoop cfg ctx γ s0 cands = go [] cands + where + go acc [] = return acc + go acc cands = do eqss <- SMT.smtBracket ctx "PLE.evaluate" $ do+ SMT.smtAssert ctx (unfoldPred cfg ctx acc) + mapM (evalOne γ s0) cands+ let us = zip (Just <$> cands) eqss + case mkUnfolds us of + [] -> return acc + us' -> do let acc' = acc ++ us' + let oks = S.fromList [ e | (Just e, _) <- us' ]+ let cands' = [ e | e <- cands, not (S.member e oks) ] + go acc' cands' -makeSimplifications :: [Rewrite] -> (Symbol, [Expr], Expr) -> [(Expr, Expr)]-makeSimplifications sis (dc, es, e)- = go =<< sis- where- go (SMeasure f dc' xs bd)- | dc == dc', length xs == length es- = [(EApp (EVar f) e, subst (mkSubst $ zip xs es) bd)]- go _- = [] -_getDCEquality :: SymEnv -> Expr -> Expr -> Maybe (Symbol, [Expr], Expr)-_getDCEquality senv e1 e2- | Just dc1 <- f1- , Just dc2 <- f2- = if dc1 == dc2- then Nothing- else error ("isDCEquality on" ++ showpp e1 ++ "\n" ++ showpp e2)- | Just dc1 <- f1- = Just (dc1, es1, e2)- | Just dc2 <- f2- = Just (dc2, es2, e1)- | otherwise- = Nothing+---------------------------------------------------------------------------------------------- +-- | Step 3: @resSInfo@ uses incremental PLE result @InstRes@ to produce the strengthened SInfo ++resSInfo :: Config -> SymEnv -> SInfo a -> InstRes -> SInfo a+resSInfo cfg env fi res = strengthenBinds fi res' where- (f1, es1) = Misc.mapFst (getDC senv) (splitEApp e1)- (f2, es2) = Misc.mapFst (getDC senv) (splitEApp e2)+ res' = M.fromList $ mytracepp "ELAB-INST: " $ zip is ps''+ ps'' = zipWith (\i -> elaborate (atLoc dummySpan ("PLE1 " ++ show i)) env) is ps' + ps' = defuncAny cfg env ps+ (is, ps) = unzip (M.toList res) --- TODO: Stringy hacks-getDC :: SymEnv -> Expr -> Maybe Symbol-getDC senv (EVar x)- | isUpperSymbol x && isNothing (symEnvTheory x senv)- = Just x-getDC _ _- = Nothing+---------------------------------------------------------------------------------------------- +-- | @InstEnv@ has the global information needed to do PLE+data InstEnv a = InstEnv + { ieCfg :: !Config+ , ieSMT :: !SMT.Context+ , ieBEnv :: !BindEnv+ , ieAenv :: !AxiomEnv + , ieCstrs :: !(M.HashMap SubcId (SimpC a))+ , ieKnowl :: !Knowledge+ , ieEvEnv :: !EvalEnv+ } -isUpperSymbol :: Symbol -> Bool-isUpperSymbol = isUpper . headSym . dropModuleNames+-- | @ICtx@ is the local information -- at each trie node -- obtained by incremental PLE+data ICtx = ICtx + { icAssms :: ![Pred] -- ^ Hypotheses, already converted to SMT format + , icCands :: S.HashSet Expr -- ^ "Candidates" for unfolding+ , icEquals :: ![Expr] -- ^ "Known" equalities+ , icSolved :: S.HashSet Expr -- ^ Terms that we have already expanded+ } -dropModuleNames :: Symbol -> Symbol-dropModuleNames = mungeNames (symbol . last) "."- where- mungeNames _ _ "" = ""- mungeNames f d s'@(symbolText -> s)- | s' == tupConName = tupConName- | otherwise = f $ T.splitOn d $ stripParens s+-- | @InstRes@ is the final result of PLE; a map from @BindId@ to the equations "known" at that BindId+type InstRes = M.HashMap BindId Expr - stripParens t = fromMaybe t ((T.stripPrefix "(" >=> T.stripSuffix ")") t)+-- | @Unfold is the result of running PLE at a single equality; +-- (e, [(e1, e1')...]) is the source @e@ and the (possible empty) +-- list of PLE-generated equalities (e1, e1') ... +-- type Unfold = (Maybe Expr, [(Expr, Expr)])+type Unfold = (Maybe Expr, [Expr])+type CTrie = T.Trie SubcId+type CBranch = T.Branch SubcId+type Diff = [BindId] -- ^ in "reverse" order -splitPAnd :: Expr -> [Expr]-splitPAnd (PAnd es) = concatMap splitPAnd es-splitPAnd e = [e]+initCtx :: [Expr] -> ICtx+initCtx es = ICtx + { icAssms = [] + , icCands = mempty + , icEquals = mytracepp "INITIAL-STUFF-INCR" es + , icSolved = mempty+ } +equalitiesPred :: [(Expr, Expr)] -> [Expr]+equalitiesPred eqs = [ EEq e1 e2 | (e1, e2) <- eqs, e1 /= e2 ] ++updCtxRes :: InstEnv a -> ICtx -> InstRes -> Maybe BindId -> Maybe SubcId -> [Unfold] -> (ICtx, InstRes) +updCtxRes env ctx res iMb cidMb us + = -- trace _msg + ( ctx { {- icCands = cands', -} icSolved = solved', icEquals = mempty}+ , res'+ ) + where + _msg = Mb.maybe "nuttin\n" (debugResult env res') cidMb+ res' = updRes res iMb (pAnd solvedEqs) + _cands' = ((icCands ctx) `S.union` newCands) `S.difference` solved' + solved' = S.union (icSolved ctx) solvedCands + newCands = S.fromList (concatMap topApps newEqs) + solvedCands = S.fromList [ e | (Just e, _) <- okUnfolds ] + solvedEqs = icEquals ctx ++ newEqs + newEqs = concatMap snd okUnfolds+ okUnfolds = mytracepp _str [ (eMb, ps) | (eMb, ps) <- us, {- let ps = equalitiesPred eqs, -} not (null ps) ] + _str = "okUnfolds " ++ showpp (iMb, cidMb)+ -- cands' = S.difference (icCands ctx) (S.fromList solvedCands)+ -- solvedEqs = icEquals ctx ++ concatMap snd us+ -- solvedCands = [ e | (Just e, _) <- us]++mkUnfolds :: [(a, [(Expr, Expr)])] -> [(a, [Expr])]+mkUnfolds us = [ (eMb, ps) | (eMb, eqs) <- us+ , let ps = equalitiesPred eqs+ , not (null ps) + ] ++debugResult :: InstEnv a -> InstRes -> SubcId -> String +debugResult (InstEnv {..}) res i = msg + where + msg = "INCR-INSTANTIATE i = " ++ show i ++ ": " ++ showpp cidEqs + cidEqs = pAnd [ e | i <- cBinds, e <- Mb.maybeToList $ M.lookup i res ] + cBinds = L.sort . elemsIBindEnv . senv . getCstr ieCstrs $ i+++updRes :: InstRes -> Maybe BindId -> Expr -> InstRes+updRes res (Just i) e = M.insert i e res +updRes res Nothing _ = res ++-- | @updCtx env ctx delta cidMb@ adds the assumptions and candidates from @delta@ and @cidMb@ +-- to the context. +updCtx :: InstEnv a -> ICtx -> Diff -> Maybe SubcId -> ICtx +updCtx InstEnv {..} ctx delta cidMb + = ctx { icAssms = ctxEqs + , icCands = cands <> icCands ctx+ , icEquals = initEqs <> icEquals ctx }+ where + initEqs = equalitiesPred (initEqualities ieSMT ieAenv bs)+ cands = (S.fromList (concatMap topApps es0)) `S.difference` (icSolved ctx)+ ctxEqs = toSMT ieCfg ieSMT [] <$> concat + [ initEqs + , [ expr xr | xr@(_, r) <- bs, null (Vis.kvars r) ] + ]+ (bs, es0) = (unElab <$> binds, unElab <$> es)+ es = eRhs : (expr <$> binds) + eRhs = maybe PTrue crhs subMb+ binds = [ lookupBindEnv i ieBEnv | i <- delta ] + subMb = getCstr ieCstrs <$> cidMb++getCstr :: M.HashMap SubcId (SimpC a) -> SubcId -> SimpC a +getCstr env cid = Misc.safeLookup "Instantiate.getCstr" cid env++instance PPrint CTrie where + pprintTidy _ = Misc.tshow + ----------------------------------------------------------------------------------- | Creating Measure Info+-- | "Old" GLOBAL PLE ----------------------------------------------------------------------------------- AT@TODO do this for all reflected functions, not just DataCons+instantiate' :: (Loc a) => Config -> SInfo a -> IO (SInfo a)+instantiate' cfg fi = sInfo cfg env fi <$> withCtx cfg file env act+ where+ act ctx = forM cstrs $ \(i, c) ->+ ((i,srcSpan c),) . mytracepp ("INSTANTIATE i = " ++ show i) <$> instSimpC cfg ctx (bs fi) aenv i c+ cstrs = [ (i, c) | (i, c) <- M.toList (cm fi) , isPleCstr aenv i c] + file = srcFile cfg ++ ".evals"+ env = symbolEnv cfg fi+ aenv = {- mytracepp "AXIOM-ENV" -} (ae fi) -{- [NOTE:Datacon-Selectors] The 'assertSelectors' function- insert measure information for every constructor that appears- in the expression e.+sInfo :: Config -> SymEnv -> SInfo a -> [((SubcId, SrcSpan), Expr)] -> SInfo a+sInfo cfg env fi ips = strengthenHyp fi (mytracepp "ELAB-INST: " $ zip (fst <$> is) ps'')+ where+ (is, ps) = unzip ips+ ps' = defuncAny cfg env ps+ ps'' = zipWith (\(i, sp) -> elaborate (atLoc sp ("PLE1 " ++ show i)) env) is ps' - In theory, this is not required as the SMT ADT encoding takes- care of it. However, in practice, some constructors, e.g. from- GADTs cannot be directly encoded in SMT due to the lack of SMTLIB- support for GADT. Hence, we still need to hang onto this code.+instSimpC :: Config -> SMT.Context -> BindEnv -> AxiomEnv -> SubcId -> SimpC a -> IO Expr+instSimpC cfg ctx bds aenv sid sub + | isPleCstr aenv sid sub = do+ let is0 = mytracepp "INITIAL-STUFF" $ eqBody <$> L.filter (null . eqArgs) (aenvEqs aenv) + let (bs, es0) = cstrExprs bds sub+ equalities <- evaluate cfg ctx aenv bs es0 sid + let evalEqs = [ EEq e1 e2 | (e1, e2) <- equalities, e1 /= e2 ] + return $ pAnd (is0 ++ evalEqs) + | otherwise = return PTrue - See tests/proof/ple2.fq for a concrete example.- -}+isPleCstr :: AxiomEnv -> SubcId -> SimpC a -> Bool+isPleCstr aenv sid c = isTarget c && M.lookupDefault False sid (aenvExpand aenv) -assertSelectors :: Knowledge -> Expr -> EvalST ()--- assertSelectors _ _ = return ()-{- TODO: HEREHEREHEREHEREHEREHERE- 1. DOES this kill Unification.hs? (Guard under --no-adt)- 2. Use addEquality instead off _addSMTEquality.--}-assertSelectors γ e = do- sims <- aenvSimpl <$> gets _evAEnv- -- cfg <- gets evCfg- -- _ <- foldlM (\_ s -> Vis.mapMExpr (go s) e) (tracepp "assertSelector" e) sims- forM_ sims $ \s -> Vis.mapMExpr (go s) e- return ()+cstrExprs :: BindEnv -> SimpC a -> ([(Symbol, SortedReft)], [Expr])+cstrExprs bds sub = (unElab <$> binds, unElab <$> es) where- go :: Rewrite -> Expr -> EvalST Expr- go (SMeasure f dc xs bd) e@(EApp _ _)- | (EVar dc', es) <- splitEApp e- , dc == dc'- , length xs == length es- = do let e1 = (EApp (EVar f) e)- let e2 = (subst (mkSubst $ zip xs es) bd)- addEquality γ e1 e2- return e- go _ e- = return e+ es = (crhs sub) : (expr <$> binds)+ binds = envCs bds (senv sub) --- _addSMTEquality :: Knowledge -> Expr -> Expr -> IO ()--- _addSMTEquality γ e1 e2 = do- -- ctx <- knContext γ- -- SMT.smtAssert ctx (tracepp "addSMTEQ" (PAtom Eq (makeLam γ e1) (makeLam γ e2)))+unElab :: (Vis.Visitable t) => t -> t+unElab = Vis.stripCasts . unApply +unApply :: (Vis.Visitable t) => t -> t+unApply = Vis.trans (Vis.defaultVisitor { Vis.txExpr = const go }) () ()+ where+ go (ECst (EApp (EApp f e1) e2) _)+ | Just _ <- unApplyAt f = EApp e1 e2+ go e = e+ -------------------------------------------------------------------------------- -- | Symbolic Evaluation with SMT --------------------------------------------------------------------------------+evaluate :: Config -> SMT.Context -> AxiomEnv -- ^ Definitions+ -> [(Symbol, SortedReft)] -- ^ Environment of "true" facts + -> [Expr] -- ^ Candidates for unfolding + -> SubcId -- ^ Constraint Id+ -> IO [(Expr, Expr)] -- ^ Newly unfolded equalities+--------------------------------------------------------------------------------+evaluate cfg ctx aenv facts es sid = do + let eqs = initEqualities ctx aenv facts + let γ = knowledge cfg ctx aenv + let cands = mytracepp ("evaluate-cands " ++ showpp sid) $ Misc.hashNub (concatMap topApps es)+ let s0 = EvalEnv 0 [] aenv (SMT.ctxSymEnv ctx) cfg+ let ctxEqs = [ toSMT cfg ctx [] (EEq e1 e2) | (e1, e2) <- eqs ]+ ++ [ toSMT cfg ctx [] (expr xr) | xr@(_, r) <- facts, null (Vis.kvars r) ] + eqss <- _evalLoop cfg ctx γ s0 ctxEqs cands + return $ eqs ++ eqss+++ +_evalLoop :: Config -> SMT.Context -> Knowledge -> EvalEnv -> [Pred] -> [Expr] -> IO [(Expr, Expr)]+_evalLoop cfg ctx γ s0 ctxEqs cands = loop 0 [] cands + where + loop _ acc [] = return acc+ loop i acc cands = do let eqp = toSMT cfg ctx [] $ pAnd $ equalitiesPred acc+ eqss <- SMT.smtBracket ctx "PLE.evaluate" $ do+ forM_ (eqp : ctxEqs) (SMT.smtAssert ctx) + mapM (evalOne γ s0) cands+ case concat eqss of + [] -> return acc + eqs' -> do let acc' = acc ++ eqs' + let oks = S.fromList (fst <$> eqs')+ let cands' = [ e | e <- cands, not (S.member e oks) ] + loop (i+1) acc' cands'++++-------------------------------------------------------------------------------- data EvalEnv = EvalEnv { evId :: !Int , evSequence :: [(Expr,Expr)]@@ -284,123 +375,170 @@ } type EvalST a = StateT EvalEnv IO a+-------------------------------------------------------------------------------- -evaluate :: Config -> SMT.Context -> [(Symbol, SortedReft)] -> AxiomEnv- -> [Expr]- -> IO [(Expr, Expr)]-evaluate cfg ctx facts aenv einit- = (eqs ++) <$>- (fmap join . sequence)- (evalOne <$> L.nub (grepTopApps =<< einit))- where- (eqs, γ) = makeKnowledge cfg ctx aenv facts- senv = SMT.ctxSymEnv ctx- initEvalSt = EvalEnv 0 [] aenv senv cfg- -- This adds all intermediate unfoldings into the assumptions- -- no test needs it- -- TODO: add a flag to enable it- evalOne :: Expr -> IO [(Expr, Expr)]- evalOne e = {- notracepp ("evalOne e = " ++ showpp e) <$> -} do- (e', st) <- runStateT (eval γ e) initEvalSt- if e' == e then return [] else return ((e, e'):evSequence st)+evalOne :: Knowledge -> EvalEnv -> Expr -> IO [(Expr, Expr)]+evalOne γ s0 e = do+ (e', st) <- runStateT (eval γ initCS (mytracepp "evalOne: " e)) s0 + if e' == e then return [] else return ((e, e') : evSequence st) --- Don't evaluate under Lam, App, Ite, or constants-grepTopApps :: Expr -> [Expr]-grepTopApps (PAnd es) = concatMap grepTopApps es-grepTopApps (POr es) = concatMap grepTopApps es-grepTopApps (PAtom _ e1 e2) = grepTopApps e1 ++ grepTopApps e2-grepTopApps (PIff e1 e2) = grepTopApps e1 ++ grepTopApps e2-grepTopApps (PImp e1 e2) = grepTopApps e1 ++ grepTopApps e2-grepTopApps (PNot e) = grepTopApps e-grepTopApps (EBin _ e1 e2) = grepTopApps e1 ++ grepTopApps e2-grepTopApps (ENeg e) = grepTopApps e-grepTopApps e@(EApp _ _) = [e]-grepTopApps _ = []+{- | [NOTE: Eval-Ite] We should not be doing any PLE/eval under if-then-else where + the guard condition does not provably hold. For example, see issue #387.+ However, its ok and desirable to `eval` in this case, as long as one is not + unfolding recursive functions. To permit this, we track the "call-stack" and + whether or not, `eval` is occurring under an unresolved guard: if so, we do not + expand under any function that is already on the call-stack.+ -} +data Recur = Ok | Stop deriving (Eq, Show)+type CStack = ([Symbol], Recur)++instance PPrint Recur where + pprintTidy _ = Misc.tshow ++initCS :: CStack +initCS = ([], Ok)++pushCS :: CStack -> Symbol -> CStack +pushCS (fs, r) f = (f:fs, r)++recurCS :: CStack -> Symbol -> Bool +recurCS (_, Ok) _ = True +-- recurCS (_, _ ) _ = False -- not (f `elem` fs) +recurCS (fs, _) f = not (f `elem` fs) ++noRecurCS :: CStack -> CStack +noRecurCS (fs, _) = (fs, Stop)++-- Don't evaluate under Lam, App, Ite, or Constants+topApps :: Expr -> [Expr]+topApps = go + where + go (PAnd es) = concatMap go es+ go (POr es) = concatMap go es+ go (PAtom _ e1 e2) = go e1 ++ go e2+ go (PIff e1 e2) = go e1 ++ go e2+ go (PImp e1 e2) = go e1 ++ go e2+ go (EBin _ e1 e2) = go e1 ++ go e2+ go (PNot e) = go e+ go (ENeg e) = go e+ go e@(EApp _ _) = [e]+ go _ = []+ -- makeLam is the adjoint of splitEApp makeLam :: Knowledge -> Expr -> Expr makeLam γ e = L.foldl' (flip ELam) e (knLams γ) -eval :: Knowledge -> Expr -> EvalST Expr-eval γ (ELam (x,s) e)- = do e' <- eval γ{knLams = (x, s) : knLams γ} e- return $ ELam (x, s) e'--eval γ e@(EIte b e1 e2)- = do b' <- eval γ b- evalIte γ e b' e1 e2-eval γ (ECoerc s t e)- = ECoerc s t <$> eval γ e-eval γ e@(EApp _ _)- = evalArgs γ e >>= evalApp γ e-eval γ e@(EVar _)- = evalApp γ e (e,[])-eval γ (PAtom r e1 e2)- = PAtom r <$> eval γ e1 <*> eval γ e2-eval γ (ENeg e)- = ENeg <$> eval γ e-eval γ (EBin o e1 e2)- = EBin o <$> eval γ e1 <*> eval γ e2-eval γ (ETApp e t)- = flip ETApp t <$> eval γ e-eval γ (ETAbs e s)- = flip ETAbs s <$> eval γ e-eval γ (PNot e)- = PNot <$> eval γ e-eval γ (PImp e1 e2)- = PImp <$> eval γ e1 <*> eval γ e2-eval γ (PIff e1 e2)- = PIff <$> eval γ e1 <*> eval γ e2-eval γ (PAnd es)- = PAnd <$> (eval γ <$$> es)-eval γ (POr es)- = POr <$> (eval γ <$$> es)-eval _ e = return e+eval :: Knowledge -> CStack -> Expr -> EvalST Expr+eval γ stk = go + where + go (ELam (x,s) e) = ELam (x, s) <$> eval γ' stk e where γ' = γ { knLams = (x, s) : knLams γ }+ go e@(EIte b e1 e2) = go b >>= \b' -> evalIte γ stk e b' e1 e2+ go (ECoerc s t e) = ECoerc s t <$> go e+ go e@(EApp _ _) = evalArgs γ stk e >>= evalApp γ stk e + go e@(EVar _) = evalApp γ stk e (e, [])+ go (PAtom r e1 e2) = PAtom r <$> go e1 <*> go e2+ go (ENeg e) = ENeg <$> go e+ go (EBin o e1 e2) = EBin o <$> go e1 <*> go e2+ go (ETApp e t) = flip ETApp t <$> go e+ go (ETAbs e s) = flip ETAbs s <$> go e+ go (PNot e) = PNot <$> go e+ go (PImp e1 e2) = PImp <$> go e1 <*> go e2+ go (PIff e1 e2) = PIff <$> go e1 <*> go e2+ go (PAnd es) = PAnd <$> (go <$$> es)+ go (POr es) = POr <$> (go <$$> es)+ go e = return e (<$$>) :: (Monad m) => (a -> m b) -> [a] -> m [b] f <$$> xs = f Misc.<$$> xs +-- | `evalArgs` also evaluates all the partial applications for hacky reasons,+-- suppose `foo g = id` then we want `foo g 10 = 10` and for that we need +-- to `eval` the term `foo g` into `id` to tickle the `eval` on `id 10`.+-- This seems a bit of a hack. At any rate, this can lead to divergence. +-- TODO: distill a .fq test from the MOSSAKA-hw3 example. -evalArgs :: Knowledge -> Expr -> EvalST (Expr, [Expr])-evalArgs γ = go []+evalArgs :: Knowledge -> CStack -> Expr -> EvalST (Expr, [Expr])+evalArgs γ stk e = go [] e where go acc (EApp f e)- = do f' <- eval γ f- e' <- eval γ e+ = do f' <- evalOk γ stk f+ e' <- eval γ stk e go (e':acc) f' go acc e- = (,acc) <$> eval γ e+ = (,acc) <$> eval γ stk e -evalApp :: Knowledge -> Expr -> (Expr, [Expr]) -> EvalST Expr-evalApp γ e (EVar f, [ex])+-- | Minimal test case illustrating this `evalOk` hack is LH#tests/ple/pos/MossakaBug.hs+-- too tired & baffled to generate simple .fq version. TODO:nuke and rewrite PLE!+evalOk :: Knowledge -> CStack -> Expr -> EvalST Expr+evalOk γ stk@(_, Ok) e = eval γ stk e +evalOk _ _ e = pure e ++{- +evalArgs :: Knowledge -> CStack -> Expr -> EvalST (Expr, [Expr])+evalArgs + | True = evalArgsOLD + | False = evalArgsNEW ++evalArgsNEW :: Knowledge -> CStack -> Expr -> EvalST (Expr, [Expr])+evalArgsNEW γ stk e = do + let (e1, es) = splitEApp e + e1' <- eval γ stk e1 + es' <- mapM (eval γ stk) es + return (e1', es')++-}+ +evalApp :: Knowledge -> CStack -> Expr -> (Expr, [Expr]) -> EvalST Expr+-- evalApp γ stk e (e1, es) = tracepp ("evalApp:END" ++ showpp (e1,es)) <$> (evalAppAc γ stk e (e1, es))+evalApp γ stk e (e1, es) = do + res <- evalAppAc γ stk e (e1, es)+ let diff = (res /= (eApps e1 es))+ return $ mytracepp ("evalApp:END:" ++ showpp diff) res ++evalAppAc :: Knowledge -> CStack -> Expr -> (Expr, [Expr]) -> EvalST Expr++{- MOSSAKA-} +evalAppAc γ stk e (EVar f, [ex]) | (EVar dc, es) <- splitEApp ex , Just simp <- L.find (\simp -> (smName simp == f) && (smDC simp == dc)) (knSims γ) , length (smArgs simp) == length es- = do e' <- eval γ $ wtf $ substPopIf (zip (smArgs simp) es) (smBody simp)+ = do let msg = "evalAppAc:ePop: " ++ showpp (f, dc, es)+ let ePopIf = mytracepp msg $ substPopIf (zip (smArgs simp) es) (smBody simp)+ e' <- eval γ stk ePopIf (e, "Rewrite -" ++ showpp f) ~> e'-evalApp γ _ (EVar f, es)++evalAppAc γ stk _ (EVar f, es) -- we should move the lookupKnowledge stuff here into kmAms γ- | Just eq <- L.find ((==f) . eqName) (knAms γ)+ | Just eq <- L.find (( == f) . eqName) (knAms γ) , Just bd <- getEqBody eq , length (eqArgs eq) == length es- , f `notElem` syms bd -- non-recursive equations- = eval γ . wtf =<< assertSelectors γ <<= substEq PopIf eq es bd+ , f `notElem` syms bd -- non-recursive equations << HACK! misses MUTUALLY RECURSIVE definitions! + , recurCS stk f + = do env <- seSort <$> gets evEnv+ let ee = substEq env PopIf eq es bd+ assertSelectors γ ee + eval γ (pushCS stk f) ee -evalApp γ _e (EVar f, es)- | Just eq <- L.find ((==f) . eqName) (knAms γ)+evalAppAc γ stk _e (EVar f, es)+ | Just eq <- L.find ((== f) . eqName) (knAms γ) , Just bd <- getEqBody eq , length (eqArgs eq) == length es -- recursive equations- = evalRecApplication γ (eApps (EVar f) es) =<< substEq Normal eq es bd-evalApp _ _ (f, es)- = return $ eApps f es+ , recurCS stk f + = do env <- seSort <$> gets evEnv+ mytracepp ("EVAL-REC-APP" ++ showpp (stk, _e)) + <$> evalRecApplication γ (pushCS stk f) (eApps (EVar f) es) (substEq env Normal eq es bd) +evalAppAc _ _ _ (f, es)+ = return (eApps f es)+ -------------------------------------------------------------------------------- -- | 'substEq' unfolds or instantiates an equation at a particular list of -- argument values. We must also substitute the sort-variables that appear -- as coercions. See tests/proof/ple1.fq ---------------------------------------------------------------------------------substEq :: SubstOp -> Equation -> [Expr] -> Expr -> EvalST Expr-substEq o eq es bd = substEqVal o eq es <$> substEqCoerce eq es bd+substEq :: SEnv Sort -> SubstOp -> Equation -> [Expr] -> Expr -> Expr+substEq env o eq es bd = substEqVal o eq es (substEqCoerce env eq es bd) data SubstOp = PopIf | Normal @@ -412,22 +550,25 @@ xes = zip xs es xs = eqArgNames eq -substEqCoerce :: Equation -> [Expr] -> Expr -> EvalST Expr-substEqCoerce eq es bd = do- env <- seSort <$> gets evEnv- let ts = snd <$> eqArgs eq- let sp = panicSpan "mkCoSub"- let eTs = sortExpr sp env <$> es- let coSub = notracepp ("substEqCoerce" ++ showpp (eqName eq, es, eTs, ts)) $ mkCoSub eTs ts- return $ Vis.applyCoSub coSub bd+substEqCoerce :: SEnv Sort -> Equation -> [Expr] -> Expr -> Expr+substEqCoerce env eq es bd = Vis.applyCoSub coSub bd+ where + ts = snd <$> eqArgs eq+ sp = panicSpan "mkCoSub"+ eTs = sortExpr sp env <$> es+ coSub = mytracepp ("substEqCoerce" ++ showpp (eqName eq, es, eTs, ts)) $ mkCoSub env eTs ts -mkCoSub :: [Sort] -> [Sort] -> Vis.CoSub-mkCoSub eTs xTs = Misc.safeFromList "mkCoSub" xys+mkCoSub :: SEnv Sort -> [Sort] -> [Sort] -> Vis.CoSub+mkCoSub env eTs xTs = M.fromList [ (x, unite ys) | (x, ys) <- Misc.groupList xys ] where- xys = concat (zipWith matchSorts xTs eTs)+ unite ts = mytracepp ("UNITE: " ++ showpp ts) $ Mb.fromMaybe (uError ts) (unifyTo1 senv ts)+ senv = mkSearchEnv env+ uError ts = panic ("mkCoSub: cannot build CoSub for " ++ showpp xys ++ " cannot unify " ++ showpp ts) + xys = mytracepp "mkCoSubXXX" $ Misc.sortNub $ concat $ zipWith matchSorts _xTs _eTs+ (_xTs,_eTs) = mytracepp "mkCoSub:MATCH" $ (xTs, eTs) matchSorts :: Sort -> Sort -> [(Symbol, Sort)]-matchSorts s1 s2 = notracepp ("matchSorts :" ++ show (s1, s2)) $ go s1 s2+matchSorts s1 s2 = mytracepp ("matchSorts :" ++ showpp (s1, s2)) $ go s1 s2 where go (FObj x) {-FObj-} y = [(x, y)] go (FAbs _ t1) (FAbs _ t2) = go t1 t2@@ -458,90 +599,222 @@ eqArgNames = map fst . eqArgs substPopIf :: [(Symbol, Expr)] -> Expr -> Expr-substPopIf xes e = wtf $ L.foldl' go e xes+substPopIf xes e = L.foldl' go e xes where go e (x, EIte b e1 e2) = EIte b (subst1 e (x, e1)) (subst1 e (x, e2)) go e (x, ex) = subst1 e (x, ex) -evalRecApplication :: Knowledge -> Expr -> Expr -> EvalST Expr-evalRecApplication γ e (EIte b e1 e2) = do- contra <- {- tracepp ("CONTRA? " ++ showpp e) <$> -} liftIO (isValid γ PFalse)+-- see [NOTE:Eval-Ite] the below is wrong; we need to guard other branches too. sigh.++evalRecApplication :: Knowledge -> CStack -> Expr -> Expr -> EvalST Expr+evalRecApplication γ stk e (EIte b e1 e2) = do+ contra <- {- mytracepp ("CONTRA? " ++ showpp e) <$> -} liftIO (isValid γ PFalse) if contra then return e- else do b' <- eval γ b+ else do b' <- eval γ stk (mytracepp "REC-APP-COND" b) -- <<<<<<<<<<<<<<<<<<<<< MOSSAKA-LOOP? b1 <- liftIO (isValid γ b') if b1 then addEquality γ e e1 >> ({-# SCC "assertSelectors-1" #-} assertSelectors γ e1) >>- eval γ e1 >>=- ((e, "App") ~>)+ eval γ stk (mytracepp ("evalREC-1: " ++ showpp stk) e1) >>=+ ((e, "App1: ") ~>) else do b2 <- liftIO (isValid γ (PNot b')) if b2 then addEquality γ e e2 >> ({-# SCC "assertSelectors-2" #-} assertSelectors γ e2) >>- eval γ e2 >>=- ((e, "App") ~>)+ eval γ stk (mytracepp ("evalREC-2: " ++ showpp stk) e2) >>=+ ((e, ("App2: " ++ showpp stk ) ) ~>) else return e-evalRecApplication _ _ e+evalRecApplication _ _ _ e = return e addEquality :: Knowledge -> Expr -> Expr -> EvalST () addEquality γ e1 e2 = modify (\st -> st{evSequence = (makeLam γ e1, makeLam γ e2):evSequence st}) -evalIte :: Knowledge -> Expr -> Expr -> Expr -> Expr -> EvalST Expr-evalIte γ e b e1 e2 = join $- evalIte' γ e b e1 e2 <$>- liftIO (isValid γ b) <*>- liftIO (isValid γ (PNot b))+evalIte :: Knowledge -> CStack -> Expr -> Expr -> Expr -> Expr -> EvalST Expr+evalIte γ stk e b e1 e2 = mytracepp "evalIte:END: " <$> + evalIteAc γ stk e b e1 (mytracepp msg e2) + where + msg = "evalIte:BEGINS: " ++ showpp (stk, e) -evalIte' :: Knowledge -> Expr -> Expr -> Expr -> Expr -> Bool -> Bool- -> EvalST Expr-evalIte' γ e _ e1 _ b _++evalIteAc :: Knowledge -> CStack -> Expr -> Expr -> Expr -> Expr -> EvalST Expr+evalIteAc γ stk e b e1 e2 + = join $ evalIte' γ stk e b e1 e2 <$> liftIO (isValid γ b) <*> liftIO (isValid γ (PNot b))++evalIte' :: Knowledge -> CStack -> Expr -> Expr -> Expr -> Expr -> Bool -> Bool -> EvalST Expr+evalIte' γ stk e _ e1 _ b _ | b- = do e' <- eval γ e1+ = do e' <- eval γ stk e1 (e, "If-True of:" ++ showpp b) ~> e'-evalIte' γ e _ _ e2 _ b'+evalIte' γ stk e _ _ e2 _ b' | b'- = do e' <- eval γ e2+ = do e' <- eval γ stk e2 (e, "If-False") ~> e'-evalIte' γ _ b e1 e2 _ _- = do e1' <- eval γ e1- e2' <- eval γ e2- return $ EIte b e1' e2'+evalIte' γ stk _ b e1 e2 _ _+ -- see [NOTE:Eval-Ite] #387 + = EIte b <$> eval γ stk' e1 <*> eval γ stk' e2 + where stk' = mytracepp "evalIte'" $ noRecurCS stk +instance Expression (Symbol, SortedReft) where+ expr (x, RR _ (Reft (v, r))) = subst1 (expr r) (v, EVar x)+ ----------------------------------------------------------------------------------- normalization required by ApplicativeMaybe.composition+-- | Knowledge (SMT Interaction) ----------------------------------------------------------------------------------- RJ: What on earth is this function doing?-wtf :: Expr -> Expr-wtf = id-{--wtf = snd . go+data Knowledge = KN + { knSims :: ![Rewrite] -- ^ Measure info, asserted for each new Ctor ('assertSelectors')+ , knAms :: ![Equation] -- ^ (Recursive) function definitions, used for PLE+ , knContext :: SMT.Context+ , knPreds :: SMT.Context -> [(Symbol, Sort)] -> Expr -> IO Bool+ , knLams :: [(Symbol, Sort)]+ }++isValid :: Knowledge -> Expr -> IO Bool+isValid γ e = mytracepp ("isValid: " ++ showpp e) <$> + knPreds γ (knContext γ) (knLams γ) e++isProof :: (a, SortedReft) -> Bool +isProof (_, RR s _) = showpp s == "Tuple"++knowledge :: Config -> SMT.Context -> AxiomEnv -> Knowledge+knowledge cfg ctx aenv = KN + { knSims = aenvSimpl aenv+ , knAms = aenvEqs aenv+ , knContext = ctx + , knPreds = askSMT cfg + , knLams = [] + } ++-- | This creates the rewrite rule e1 -> e2, applied when:+-- 1. when e2 is a DataCon and can lead to further reductions+-- 2. when size e2 < size e1+initEqualities :: SMT.Context -> AxiomEnv -> [(Symbol, SortedReft)] -> [(Expr, Expr)]+initEqualities ctx aenv es = concatMap (makeSimplifications (aenvSimpl aenv)) dcEqs where- go (EIte b t f)- | isTautoPred t && isFalse f- = (True, b)- go (EIte b e1 e2)- = let (fb, b') = go b- (f1, e1') = go e1- (f2, e2') = go e2- in- (fb || f1 || f2, EIte b' e1' e2')- go (EApp (EIte b f1 f2) e)- = (True, EIte b (snd $ go $ EApp f1 e) (snd $ go $ EApp f2 e))- go (EApp f (EIte b e1 e2))- = (True, EIte b (snd $ go $ EApp f e1) (snd $ go $ EApp f e2))- go (EApp e1 e2)- = let (f1, e1') = go e1- (f2, e2') = go e2- in- if f1 || f2- then go $ EApp e1' e2'- else (False, EApp e1' e2')- go e = (False, e)+ dcEqs = Misc.hashNub (Mb.catMaybes [getDCEquality senv e1 e2 | EEq e1 e2 <- atoms])+ atoms = splitPAnd =<< (expr <$> filter isProof es)+ senv = SMT.ctxSymEnv ctx --}-instance Expression (Symbol, SortedReft) where- expr (x, RR _ (Reft (v, r))) = subst1 (expr r) (v, EVar x)+-- AT: Non-obvious needed invariant: askSMT True is always the +-- totality-effecting one.+-- RJ: What does "totality effecting" mean? ++askSMT :: Config -> SMT.Context -> [(Symbol, Sort)] -> Expr -> IO Bool+askSMT cfg ctx bs e+ | isTautoPred e = return True+ | null (Vis.kvars e) = SMT.checkValidWithContext ctx [] PTrue e'+ | otherwise = return False+ where + e' = toSMT cfg ctx bs e ++toSMT :: Config -> SMT.Context -> [(Symbol, Sort)] -> Expr -> Pred+toSMT cfg ctx bs = defuncAny cfg senv . elaborate "makeKnowledge" (elabEnv bs)+ where+ elabEnv = insertsSymEnv senv+ senv = SMT.ctxSymEnv ctx++makeSimplifications :: [Rewrite] -> (Symbol, [Expr], Expr) -> [(Expr, Expr)]+makeSimplifications sis (dc, es, e)+ = go =<< sis+ where+ go (SMeasure f dc' xs bd)+ | dc == dc', length xs == length es+ = [(EApp (EVar f) e, subst (mkSubst $ zip xs es) bd)]+ go _+ = []++getDCEquality :: SymEnv -> Expr -> Expr -> Maybe (Symbol, [Expr], Expr)+getDCEquality senv e1 e2+ | Just dc1 <- f1+ , Just dc2 <- f2+ = if dc1 == dc2+ then Nothing+ else error ("isDCEquality on" ++ showpp e1 ++ "\n" ++ showpp e2)+ | Just dc1 <- f1+ = Just (dc1, es1, e2)+ | Just dc2 <- f2+ = Just (dc2, es2, e1)+ | otherwise+ = Nothing+ where+ (f1, es1) = Misc.mapFst (getDC senv) (splitEApp e1)+ (f2, es2) = Misc.mapFst (getDC senv) (splitEApp e2)++-- TODO: Stringy hacks+getDC :: SymEnv -> Expr -> Maybe Symbol+getDC senv (EVar x)+ | isUpperSymbol x && Mb.isNothing (symEnvTheory x senv)+ = Just x+getDC _ _+ = Nothing++isUpperSymbol :: Symbol -> Bool+isUpperSymbol = isUpper . headSym . dropModuleNames++dropModuleNames :: Symbol -> Symbol+dropModuleNames = mungeNames (symbol . last) "."+ where+ mungeNames _ _ "" = ""+ mungeNames f d s'@(symbolText -> s)+ | s' == tupConName = tupConName+ | otherwise = f $ T.splitOn d $ stripParens s+ stripParens t = Mb.fromMaybe t ((T.stripPrefix "(" >=> T.stripSuffix ")") t)++--------------------------------------------------------------------------------+-- | Creating Measure Info+--------------------------------------------------------------------------------+-- AT@TODO do this for all reflected functions, not just DataCons++{- [NOTE:Datacon-Selectors] The 'assertSelectors' function+ insert measure information for every constructor that appears+ in the expression e.++ In theory, this is not required as the SMT ADT encoding takes+ care of it. However, in practice, some constructors, e.g. from+ GADTs cannot be directly encoded in SMT due to the lack of SMTLIB+ support for GADT. Hence, we still need to hang onto this code.++ See tests/proof/ple2.fq for a concrete example.+ -}++assertSelectors :: Knowledge -> Expr -> EvalST ()+assertSelectors γ e = do+ sims <- aenvSimpl <$> gets _evAEnv+ -- cfg <- gets evCfg+ -- _ <- foldlM (\_ s -> Vis.mapMExpr (go s) e) (mytracepp "assertSelector" e) sims+ forM_ sims $ \s -> Vis.mapMExpr (go s) e+ return ()+ where+ go :: Rewrite -> Expr -> EvalST Expr+ go (SMeasure f dc xs bd) e@(EApp _ _)+ | (EVar dc', es) <- splitEApp e+ , dc == dc'+ , length xs == length es+ = do let e1 = EApp (EVar f) e+ let e2 = subst (mkSubst $ zip xs es) bd+ addEquality γ e1 e2+ return e+ go _ e+ = return e++--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------++withCtx :: Config -> FilePath -> SymEnv -> (SMT.Context -> IO a) -> IO a+withCtx cfg file env k = do+ ctx <- SMT.makeContextWithSEnv cfg file env+ _ <- SMT.smtPush ctx+ res <- k ctx+ _ <- SMT.cleanupContext ctx+ return res++(~>) :: (Expr, String) -> Expr -> EvalST Expr+(e, _str) ~> e' = do+ let msg = "PLE: " ++ _str ++ showpp (e, e') + modify (\st -> st {evId = (mytracepp msg $ evId st) + 1})+ return e'+
@@ -61,17 +61,19 @@ type SolveM = StateT SolverState IO -data SolverState = SS { ssCtx :: !Context -- ^ SMT Solver Context- , ssBinds :: !F.SolEnv -- ^ All variables and types- , ssStats :: !Stats -- ^ Solver Statistics- }+data SolverState = SS + { ssCtx :: !Context -- ^ SMT Solver Context+ , ssBinds :: !F.BindEnv -- ^ All variables and types+ , ssStats :: !Stats -- ^ Solver Statistics+ } -data Stats = Stats { numCstr :: !Int -- ^ # Horn Constraints- , numIter :: !Int -- ^ # Refine Iterations- , numBrkt :: !Int -- ^ # smtBracket calls (push/pop)- , numChck :: !Int -- ^ # smtCheckUnsat calls- , numVald :: !Int -- ^ # times SMT said RHS Valid- } deriving (Show, Generic)+data Stats = Stats + { numCstr :: !Int -- ^ # Horn Constraints+ , numIter :: !Int -- ^ # Refine Iterations+ , numBrkt :: !Int -- ^ # smtBracket calls (push/pop)+ , numChck :: !Int -- ^ # smtCheckUnsat calls+ , numVald :: !Int -- ^ # times SMT said RHS Valid+ } deriving (Show, Generic) instance NFData Stats @@ -99,13 +101,11 @@ return (fst res) where s0 ctx = SS ctx be (stats0 fi)- act' = {- declare initEnv >> -} assumesAxioms (F.asserts fi) >> act+ act' = assumesAxioms (F.asserts fi) >> act release = cleanupContext acquire = makeContextWithSEnv cfg file initEnv initEnv = symbolEnv cfg fi- -- lts = F.toListSEnv (F.dLits fi)- -- ds = F.ddecls fi- be = F.SolEnv (F.bs fi)+ be = F.bs fi file = C.srcFile cfg -- only linear arithmentic when: linear flag is on or solver /= Z3 -- lar = linear cfg || Z3 /= solver cfg@@ -113,7 +113,7 @@ ---------------------------------------------------------------------------------getBinds :: SolveM F.SolEnv+getBinds :: SolveM F.BindEnv -------------------------------------------------------------------------------- getBinds = ssBinds <$> get @@ -195,7 +195,6 @@ smtAssert me (F.PNot q) valid <- smtCheckUnsat me return $ if valid then Just x else Nothing- --------------------------------------------------------------------------------
@@ -16,7 +16,8 @@ import Language.Fixpoint.Types.PrettyPrint import Language.Fixpoint.Types.Visitor (symConsts, isConcC, isKvarC, mapKVars, mapKVarSubsts)-import Language.Fixpoint.SortCheck (applySorts, isFirstOrder)+import Language.Fixpoint.SortCheck (elaborate, applySorts, isFirstOrder)+-- import Language.Fixpoint.Defunctionalize import qualified Language.Fixpoint.Misc as Misc import qualified Language.Fixpoint.Types as F import Language.Fixpoint.Types.Config (Config, allowHO)@@ -241,11 +242,10 @@ cNoFreeVars fi known c = if S.null fv then Nothing else Just (S.toList fv) where be = F.bs fi- -- lits = fst <$> F.toListSEnv (F.gLits fi) ids = F.elemsIBindEnv $ F.senv c cDom = [fst $ F.lookupBindEnv i be | i <- ids] cRng = concat [S.toList . F.reftFreeVars . F.sr_reft . snd $ F.lookupBindEnv i be | i <- ids]- fv = (`nubDiff` cDom) . filter (not . known) $ cRng -- `nubDiff` (lits ++ cDom ++ prims fi)+ fv = (`Misc.nubDiff` cDom) . filter (not . known) $ cRng badCs :: Misc.ListNE (F.SimpC a, [F.Symbol]) -> E.Error badCs = E.catErrors . map (E.errFreeVarInConstraint . Misc.mapFst F.subcId)@@ -258,20 +258,15 @@ -------------------------------------------------------------------------------- banQualifFreeVars fi = Misc.applyNonNull (Right fi) (Left . badQuals) bads where- bads = [ (q, xs) | q <- F.quals fi, let xs = free q, not (null xs) ]- lits = fst <$> F.toListSEnv (F.gLits fi)- free q = S.toList $ F.syms (F.qBody q) `nubDiff` (lits ++ F.prims ++ F.syms (fst <$> F.qParams q))-+ bads = [ (q, xs) | q <- F.quals fi, let xs = free q, not (null xs) ]+ free q = filter (not . isLit) (F.syms q) + isLit x = F.memberSEnv x (F.gLits fi) + -- lits = fst <$> F.toListSEnv (F.gLits fi)+ -- free q = S.toList $ F.syms (F.qBody q) `nubDiff` (lits ++ F.prims ++ F.syms (F.qpSym <$> F.qParams q)) badQuals :: Misc.ListNE (F.Qualifier, Misc.ListNE F.Symbol) -> E.Error badQuals bqs = E.catErrors [ E.errFreeVarInQual q xs | (q, xs) <- bqs] --- Null if first is a subset of second-nubDiff :: [F.Symbol] -> [F.Symbol] -> S.HashSet F.Symbol-nubDiff a b = a' `S.difference` b'- where- a' = S.fromList a- b' = S.fromList b -------------------------------------------------------------------------------- -- | check that each constraint has RHS of form [k1,...,kn] or [p]@@ -295,10 +290,16 @@ -- | symbol |-> sort for EVERY variable in the SInfo; 'symbolEnv' can ONLY be -- called with **sanitized** environments (post the uniqification etc.) or -- else you get duplicate sorts and other such errors.+-- We do this peculiar dance with `env0` to extract the apply-sorts from the +-- function definitions inside the `AxiomEnv` which cannot be elaborated as +-- it makes it hard to actually find the fundefs within (breaking PLE.) -------------------------------------------------------------------------------- symbolEnv :: Config -> F.SInfo a -> F.SymEnv-symbolEnv cfg si = F.symEnv sEnv tEnv ds (F.dLits si) ts+symbolEnv cfg si = F.symEnv sEnv tEnv ds (F.dLits si) (ts ++ ts') where+ ts' = applySorts ae' + ae' = elaborate (F.atLoc E.dummySpan "symbolEnv") env0 (F.ae si)+ env0 = F.symEnv sEnv tEnv ds (F.dLits si) ts tEnv = Thy.theorySymbols ds ds = F.ddecls si ts = Misc.hashNub (applySorts si ++ [t | (_, t) <- F.toListSEnv sEnv])@@ -315,7 +316,8 @@ normalize = fmap (map (unShadow txFun dm)) dm = M.fromList defs defs = F.toListSEnv . F.gLits $ fi- txFun+ txFun + | True = id | allowHO cfg = id | otherwise = defuncSort
@@ -1,5 +1,6 @@-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE TupleSections #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TupleSections #-}+{-# LANGUAGE PatternGuards #-} module Language.Fixpoint.Solver.Solution ( -- * Create Initial Solution@@ -13,17 +14,16 @@ ) where import Control.Parallel.Strategies-import Control.Arrow (second)+import Control.Arrow (second, (***)) import qualified Data.HashSet as S import qualified Data.HashMap.Strict as M import qualified Data.List as L import Data.Maybe (fromMaybe, maybeToList, isNothing)-import Data.Monoid ((<>))+import Data.Semigroup (Semigroup (..)) import Language.Fixpoint.Types.PrettyPrint () import Language.Fixpoint.Types.Visitor as V import qualified Language.Fixpoint.SortCheck as So-import Language.Fixpoint.Misc--- import qualified Language.Fixpoint.Smt.Theories as Thy+import qualified Language.Fixpoint.Misc as Misc import Language.Fixpoint.Types.Config import qualified Language.Fixpoint.Types as F import Language.Fixpoint.Types ((&.&))@@ -33,8 +33,8 @@ import Language.Fixpoint.Solver.Sanitize -- DEBUG--- import Text.Printf (printf)--- import Debug.Trace (trace)+import Text.Printf (printf)+-- import Debug.Trace --------------------------------------------------------------------------------@@ -42,13 +42,15 @@ -------------------------------------------------------------------------------- init :: (F.Fixpoint a) => Config -> F.SInfo a -> S.HashSet F.KVar -> Sol.Solution ---------------------------------------------------------------------------------init cfg si ks = Sol.fromList senv mempty keqs [] mempty+init cfg si ks = Sol.fromList senv mempty keqs [] mempty ebs xEnv where keqs = map (refine si qs genv) ws `using` parList rdeepseq qs = F.quals si ws = [ w | (k, w) <- M.toList (F.ws si), not (isGWfc w) , k `S.member` ks] genv = instConstants si senv = symbolEnv cfg si+ ebs = ebindInfo si+ xEnv = F.fromListSEnv [ (x, (i, F.sr_sort sr)) | (i,x,sr) <- F.bindEnvToList (F.bs si)] -------------------------------------------------------------------------------- refine :: F.SInfo a -> [F.Qualifier] -> F.SEnv F.Sort -> F.WfC a -> (F.KVar, Sol.QBind)@@ -64,11 +66,11 @@ refineK :: Bool -> F.SEnv F.Sort -> [F.Qualifier] -> (F.Symbol, F.Sort, F.KVar) -> (F.KVar, Sol.QBind)-refineK ho env qs (v, t, k) = {- F.tracepp _msg -} (k, eqs')+refineK ho env qs (v, t, k) = F.notracepp _msg (k, eqs') where eqs = instK ho env v t qs eqs' = Sol.qbFilter (okInst env v t) eqs- -- _msg = printf "\n\nrefineK: k = %s, eqs = %s" (F.showpp k) (F.showpp eqs)+ _msg = printf "\n\nrefineK: k = %s, eqs = %s" (F.showpp k) (F.showpp eqs) -------------------------------------------------------------------------------- instK :: Bool@@ -88,40 +90,70 @@ -> F.Sort -> F.Qualifier -> [Sol.EQual]-instKQ ho env v t q- = do (su0, v0) <- candidates senv [(t, [v])] qt- xs <- match senv tyss [v0] (So.apply su0 <$> qts)- return $ Sol.eQual q (reverse xs)- where- qt : qts = snd <$> F.qParams q- tyss = instCands ho env- senv = (`F.lookupSEnvWithDistance` env)+instKQ ho env v t q = do + (su0, qsu0, v0) <- candidates senv [(t, [v])] qp+ xs <- match senv tyss [v0] (applyQP su0 qsu0 <$> qps) + return $ Sol.eQual q (F.notracepp msg (reverse xs))+ where+ msg = "instKQ " ++ F.showpp (F.qName q) ++ F.showpp (F.qParams q)+ qp : qps = F.qParams q+ tyss = instCands ho env+ senv = (`F.lookupSEnvWithDistance` env) instCands :: Bool -> F.SEnv F.Sort -> [(F.Sort, [F.Symbol])] instCands ho env = filter isOk tyss where- tyss = groupList [(t, x) | (x, t) <- xts]+ tyss = Misc.groupList [(t, x) | (x, t) <- xts] isOk = if ho then const True else isNothing . F.functionSort . fst xts = F.toListSEnv env -match :: So.Env -> [(F.Sort, [F.Symbol])] -> [F.Symbol] -> [F.Sort] -> [[F.Symbol]]-match env tyss xs (t : ts)- = do (su, x) <- candidates env tyss t- match env tyss (x : xs) (So.apply su <$> ts)+match :: So.Env -> [(F.Sort, [F.Symbol])] -> [F.Symbol] -> [F.QualParam] -> [[F.Symbol]]+match env tyss xs (qp : qps)+ = do (su, qsu, x) <- candidates env tyss qp+ match env tyss (x : xs) (applyQP su qsu <$> qps) match _ _ xs [] = return xs +applyQP :: So.TVSubst -> QPSubst -> F.QualParam -> F.QualParam+applyQP su qsu qp = qp { qpSort = So.apply su (qpSort qp) + , qpPat = applyQPSubst qsu (qpPat qp) + }+ ---------------------------------------------------------------------------------candidates :: So.Env -> [(F.Sort, [F.Symbol])] -> F.Sort -> [(So.TVSubst, F.Symbol)]+candidates :: So.Env -> [(F.Sort, [F.Symbol])] -> F.QualParam + -> [(So.TVSubst, QPSubst, F.Symbol)] ---------------------------------------------------------------------------------candidates env tyss tx = -- traceShow _msg- [(su, y) | (t, ys) <- tyss- , su <- maybeToList $ So.unifyFast mono env tx t- , y <- ys ]+candidates env tyss x = -- traceShow _msg+ [(su, qsu, y) | (t, ys) <- tyss+ , su <- maybeToList (So.unifyFast mono env xt t)+ , y <- ys+ , qsu <- maybeToList (matchSym x y) + ] where- mono = So.isMono tx- _msg = "candidates tyss :=" ++ F.showpp tyss ++ "tx := " ++ F.showpp tx+ xt = F.qpSort x+ mono = So.isMono xt+ _msg = "candidates tyss :=" ++ F.showpp tyss ++ "tx := " ++ F.showpp xt +matchSym :: F.QualParam -> F.Symbol -> Maybe QPSubst +matchSym qp y' = case F.qpPat qp of+ F.PatPrefix s i -> JustSub i <$> F.stripPrefix s y + F.PatSuffix i s -> JustSub i <$> F.stripSuffix s y + F.PatNone -> Just NoSub + F.PatExact s -> if s == y then Just NoSub else Nothing + where + y = F.tidySymbol y'+++data QPSubst = NoSub | JustSub Int F.Symbol ++applyQPSubst :: QPSubst -> F.QualPattern -> F.QualPattern +applyQPSubst (JustSub i x) (F.PatPrefix s j) + | i == j = F.PatExact (F.mappendSym s x) +applyQPSubst (JustSub i x) (F.PatSuffix j s) + | i == j = F.PatExact (F.mappendSym x s) +applyQPSubst _ p + = p + -------------------------------------------------------------------------------- okInst :: F.SEnv F.Sort -> F.Symbol -> F.Sort -> Sol.EQual -> Bool --------------------------------------------------------------------------------@@ -129,52 +161,97 @@ where sr = F.RR t (F.Reft (v, p)) p = Sol.eqPred eq- tc = So.checkSorted env sr -- (F.tracepp _msg sr)+ tc = So.checkSorted (F.srcSpan eq) env sr -- _msg = printf "okInst: t = %s, eq = %s, env = %s" (F.showpp t) (F.showpp eq) (F.showpp env) -------------------------------------------------------------------------------- -- | Predicate corresponding to LHS of constraint in current solution ---------------------------------------------------------------------------------lhsPred :: F.SolEnv -> Sol.Solution -> F.SimpC a -> F.Expr+lhsPred :: (F.Loc a) => F.BindEnv -> Sol.Solution -> F.SimpC a -> F.Expr lhsPred be s c = F.notracepp _msg $ fst $ apply g s bs where- g = (ci, be, bs)+ g = CEnv ci be bs (F.srcSpan c) bs = F.senv c ci = sid c- _msg = "LhsPred for id = " ++ show (sid c)+ _msg = "LhsPred for id = " ++ show (sid c) ++ " with SOLUTION = " ++ F.showpp s +data CombinedEnv = CEnv + { ceCid :: !Cid+ , ceBEnv :: !F.BindEnv+ , ceIEnv :: !F.IBindEnv + , ceSpan :: !F.SrcSpan+ }++instance F.Loc CombinedEnv where + srcSpan = ceSpan+ type Cid = Maybe Integer-type CombinedEnv = (Cid, F.SolEnv, F.IBindEnv) type ExprInfo = (F.Expr, KInfo) apply :: CombinedEnv -> Sol.Sol a Sol.QBind -> F.IBindEnv -> ExprInfo apply g s bs = (F.pAnd (pks:ps), kI) where- (pks, kI) = applyKVars g s ks -- RJ: switch to applyKVars' to revert to old behavior- (ps, ks, _) = envConcKVars g bs+ (pks, kI) = applyKVars g s ks + (ps, ks, _) = envConcKVars g s bs -envConcKVars :: CombinedEnv -> F.IBindEnv -> ([F.Expr], [F.KVSub], [F.KVSub])-envConcKVars g bs = (concat pss, concat kss, L.nubBy (\x y -> F.ksuKVar x == F.ksuKVar y) $ concat gss)+envConcKVars :: CombinedEnv -> Sol.Sol a Sol.QBind -> F.IBindEnv -> ([F.Expr], [F.KVSub], [F.KVSub])+envConcKVars g s bs = (concat pss, concat kss, L.nubBy (\x y -> F.ksuKVar x == F.ksuKVar y) $ concat gss) where (pss, kss, gss) = unzip3 [ F.notracepp ("sortedReftConcKVars" ++ F.showpp sr) $ F.sortedReftConcKVars x sr | (x, sr) <- xrs ]- xrs = (\i -> F.notracepp ("lookupBE i := " ++ show i) $ F.lookupBindEnv i be) <$> is+ xrs = lookupBindEnvExt g s <$> is is = F.elemsIBindEnv bs- be = F.soeBinds (snd3 g) +lookupBindEnvExt :: CombinedEnv -> Sol.Sol a Sol.QBind -> F.BindId -> (F.Symbol, F.SortedReft)+lookupBindEnvExt g s i + | Just p <- ebSol g s i = (x, sr { F.sr_reft = F.Reft (x, p) }) + | otherwise = (x, sr)+ where + (x, sr) = F.lookupBindEnv i (ceBEnv g) ++ebSol :: CombinedEnv -> Sol.Sol a Sol.QBind -> F.BindId -> Maybe F.Expr+ebSol g s i = case M.lookup i sebds of+ Just (Sol.EbSol p) -> Just p+ Just (Sol.EbDef cs _) -> Just $ F.PAnd (cSol <$> cs)+ _ -> Nothing+ where+ sebds = Sol.sEbd s++ ebReft s (i,c) = exElim (Sol.sxEnv s) (senv c) i (ebindReft g s c)+ cSol c = if sid c == ceCid g + then F.PFalse+ else ebReft s' (i, c)++ s' = s { Sol.sEbd = M.insert i Sol.EbIncr sebds }++ebindReft :: CombinedEnv -> Sol.Sol a Sol.QBind -> F.SimpC () -> F.Pred+ebindReft g s c = F.pAnd [ fst $ apply g' s bs, F.crhs c ]+ where+ g' = g { ceCid = sid c, ceIEnv = bs } + bs = F.senv c++exElim :: F.SEnv (F.BindId, F.Sort) -> F.IBindEnv -> F.BindId -> F.Pred -> F.Pred+exElim env ienv xi p = F.notracepp msg (F.pExist yts p)+ where+ msg = "exElim" -- printf "exElim: ix = %d, p = %s" xi (F.showpp p)+ yts = [ (y, yt) | y <- F.syms p+ , (yi, yt) <- maybeToList (F.lookupSEnv y env)+ , xi < yi+ , yi `F.memberIBindEnv` ienv ]+ applyKVars :: CombinedEnv -> Sol.Sol a Sol.QBind -> [F.KVSub] -> ExprInfo applyKVars g s = mrExprInfos (applyKVar g s) F.pAnd mconcat applyKVar :: CombinedEnv -> Sol.Sol a Sol.QBind -> F.KVSub -> ExprInfo applyKVar g s ksu = case Sol.lookup s (F.ksuKVar ksu) of- Left cs -> hypPred g s ksu cs+ Left cs -> hypPred g s ksu cs Right eqs -> (F.pAnd $ fst <$> Sol.qbPreds msg s (F.ksuSubst ksu) eqs, mempty) -- TODO: don't initialize kvars that have a hyp solution where- msg = "applyKVar: " ++ show (fst3 g)+ msg = "applyKVar: " ++ show (ceCid g) hypPred :: CombinedEnv -> Sol.Sol a Sol.QBind -> F.KVSub -> Sol.Hyp -> ExprInfo-hypPred g s ksu = mrExprInfos (cubePred g s ksu) F.pOr mconcatPlus+hypPred g s ksu hyp = F.pOr *** mconcatPlus $ unzip $ cubePred g s ksu <$> hyp {- | `cubePred g s k su c` returns the predicate for @@ -191,16 +268,17 @@ -} -elabExist :: Sol.Sol a Sol.QBind -> [(F.Symbol, F.Sort)] -> F.Expr -> F.Expr-elabExist s xts = F.pExist xts'+elabExist :: F.SrcSpan -> Sol.Sol a Sol.QBind -> [(F.Symbol, F.Sort)] -> F.Expr -> F.Expr+elabExist sp s xts p = F.pExist xts' p where xts' = [ (x, elab t) | (x, t) <- xts]- elab = So.elaborate "elabExist" env+ elab = So.elaborate (F.atLoc sp "elabExist") env env = Sol.sEnv s cubePred :: CombinedEnv -> Sol.Sol a Sol.QBind -> F.KVSub -> Sol.Cube -> ExprInfo-cubePred g s ksu c = (elabExist s xts (psu &.& p), kI)+cubePred g s ksu c = (F.notracepp "cubePred" $ elabExist sp s xts (psu &.& p), kI) where+ sp = F.srcSpan g ((xts,psu,p), kI) = cubePredExc g s ksu c bs' bs' = delCEnv s k bs bs = Sol.cuBinds c@@ -217,7 +295,8 @@ cubePredExc g s ksu c bs' = (cubeP, extendKInfo kI (Sol.cuTag c)) where- cubeP = (xts, psu, elabExist s yts' (p' &.& psu') )+ cubeP = (xts, psu, elabExist sp s yts' (p' &.& psu') )+ sp = F.srcSpan g yts' = symSorts g bs' g' = addCEnv g bs (p', kI) = apply g' s bs'@@ -258,13 +337,14 @@ substElim :: F.SymEnv -> F.SEnv F.Sort -> CombinedEnv -> F.KVar -> F.Subst -> ([(F.Symbol, F.Sort)], F.Pred) substElim syEnv sEnv g _ (F.Su m) = (xts, p) where- p = F.pAnd [ mkSubst syEnv x (substSort sEnv frees x t) e t | (x, e, t) <- xets ]+ p = F.pAnd [ mkSubst sp syEnv x (substSort sEnv frees x t) e t | (x, e, t) <- xets ] xts = [ (x, t) | (x, _, t) <- xets, not (S.member x frees) ] xets = [ (x, e, t) | (x, e) <- xes, t <- sortOf e, not (isClass t)] xes = M.toList m env = combinedSEnv g frees = S.fromList (concatMap (F.syms . snd) xes)- sortOf = maybeToList . So.checkSortExpr env+ sortOf = maybeToList . So.checkSortExpr sp env+ sp = F.srcSpan g substSort :: F.SEnv F.Sort -> S.HashSet F.Symbol -> F.Symbol -> F.Sort -> F.Sort substSort sEnv _frees x _t = fromMaybe (err x) $ F.lookupSEnv x sEnv@@ -273,18 +353,18 @@ -- LH #1091-mkSubst :: F.SymEnv -> F.Symbol -> F.Sort -> F.Expr -> F.Sort -> F.Expr-mkSubst env x tx ey ty+mkSubst :: F.SrcSpan -> F.SymEnv -> F.Symbol -> F.Sort -> F.Expr -> F.Sort -> F.Expr+mkSubst sp env x tx ey ty | tx == ty = F.EEq ex ey | otherwise = {- F.tracepp _msg -} (F.EEq ex' ey') where _msg = "mkSubst-DIFF:" ++ F.showpp (tx, ty) ++ F.showpp (ex', ey') ex = F.expr x- ex' = elabToInt env ex tx- ey' = elabToInt env ey ty+ ex' = elabToInt sp env ex tx+ ey' = elabToInt sp env ey ty -elabToInt :: F.SymEnv -> F.Expr -> F.Sort -> F.Expr-elabToInt env e s = So.elaborate "elabToInt" env (So.toInt env e s)+elabToInt :: F.SrcSpan -> F.SymEnv -> F.Expr -> F.Sort -> F.Expr+elabToInt sp env e s = So.elaborate (F.atLoc sp "elabToInt") env (So.toInt env e s) isClass :: F.Sort -> Bool isClass F.FNum = True@@ -305,26 +385,23 @@ -- substPred (F.Su m) = F.pAnd [ F.PAtom F.Eq (F.eVar x) e | (x, e) <- M.toList m] combinedSEnv :: CombinedEnv -> F.SEnv F.Sort-combinedSEnv (_, se, bs) = F.sr_sort <$> F.fromListSEnv (F.envCs be bs)- where- be = F.soeBinds se+combinedSEnv g = F.sr_sort <$> F.fromListSEnv (F.envCs be bs)+ where + be = ceBEnv g + bs = ceIEnv g addCEnv :: CombinedEnv -> F.IBindEnv -> CombinedEnv-addCEnv (x, be, bs) bs' = (x, be, F.unionIBindEnv bs bs')+addCEnv g bs' = g { ceIEnv = F.unionIBindEnv (ceIEnv g) bs' }+-- addCEnv (x, be, bs) bs' = (x, be, F.unionIBindEnv bs bs') --- delCEnv :: F.IBindEnv -> CombinedEnv -> F.IBindEnv--- delCEnv bs (_, _, bs') = F.diffIBindEnv bs bs' delCEnv :: Sol.Sol a Sol.QBind -> F.KVar -> F.IBindEnv -> F.IBindEnv-delCEnv s k bs = F.diffIBindEnv bs _kbs- -- ORIG: bs'+delCEnv s k bs = F.diffIBindEnv bs _kbs where- _kbs = safeLookup "delCEnv" k (Sol.sScp s)+ _kbs = Misc.safeLookup "delCEnv" k (Sol.sScp s) symSorts :: CombinedEnv -> F.IBindEnv -> [(F.Symbol, F.Sort)]-symSorts (_, se, _) bs = second F.sr_sort <$> F.envCs be bs- where- be = F.soeBinds se+symSorts g bs = second F.sr_sort <$> F.envCs (ceBEnv g) bs _noKvars :: F.Expr -> Bool _noKvars = null . V.kvars@@ -337,14 +414,17 @@ , kiCubes :: !Integer } deriving (Eq, Ord, Show) -instance Monoid KInfo where- mempty = KI [] 0 1- mappend ki ki' = KI ts d s+instance Semigroup KInfo where+ ki <> ki' = KI ts d s where- ts = appendTags (kiTags ki) (kiTags ki')- d = max (kiDepth ki) (kiDepth ki')- s = (*) (kiCubes ki) (kiCubes ki')+ ts = appendTags (kiTags ki) (kiTags ki')+ d = max (kiDepth ki) (kiDepth ki')+ s = (*) (kiCubes ki) (kiCubes ki') +instance Monoid KInfo where+ mempty = KI [] 0 1+ mappend = (<>)+ mplus :: KInfo -> KInfo -> KInfo mplus ki ki' = (mappend ki ki') { kiCubes = kiCubes ki + kiCubes ki'} @@ -352,7 +432,7 @@ mconcatPlus = foldr mplus mempty appendTags :: [Tag] -> [Tag] -> [Tag]-appendTags ts ts' = sortNub (ts ++ ts')+appendTags ts ts' = Misc.sortNub (ts ++ ts') extendKInfo :: KInfo -> F.Tag -> KInfo extendKInfo ki t = ki { kiTags = appendTags [t] (kiTags ki)@@ -363,3 +443,45 @@ mrExprInfos mF erF irF xs = (erF es, irF is) where (es, is) = unzip $ map mF xs++--------------------------------------------------------------------------------+-- | `ebindInfo` constructs the information about the "ebind-definitions". +--------------------------------------------------------------------------------+ebindInfo :: F.SInfo a -> [(F.BindId, Sol.EbindSol)]+ebindInfo si = group [((bid, x), cons cid) | (bid, cid, x) <- ebindDefs si]+ where cons cid = const () <$> Misc.safeLookup "ebindInfo" cid cs+ cs = F.cm si+ cmpByFst x y = fst ( fst x ) == fst ( fst y )+ group xs = (\ys -> ( (fst $ fst $ head ys)+ , Sol.EbDef (snd <$> ys) (snd $ fst $ head ys)))+ <$> L.groupBy cmpByFst xs++ebindDefs :: F.SInfo a -> [(F.BindId, F.SubcId, F.Symbol)]+ebindDefs si = [ (bid, cid, x) | (cid, x) <- cDefs+ , bid <- maybeToList (M.lookup x ebSyms)]+ where + ebSyms = ebindSyms si + cDefs = cstrDefs si ++ebindSyms :: F.SInfo a -> M.HashMap F.Symbol F.BindId+ebindSyms si = M.fromList [ (xi, bi) | bi <- ebinds si+ , let (xi,_) = F.lookupBindEnv bi be ] + where+ be = F.bs si + +cstrDefs :: F.SInfo a -> [(F.SubcId, F.Symbol)]+cstrDefs si = [(cid, x) | (cid, c) <- M.toList (cm si)+ , x <- maybeToList (cstrDef be c) ]+ where + be = F.bs si++cstrDef :: F.BindEnv -> F.SimpC a -> Maybe F.Symbol +cstrDef be c + | Just (F.EVar x) <- e = Just x + | otherwise = Nothing + where + (v,_) = F.lookupBindEnv (cbind c) be + e = F.notracepp _msg $ F.isSingletonExpr v rhs + _msg = "cstrDef: " ++ show (stag c) ++ " crhs = " ++ F.showpp rhs + rhs = V.stripCasts (crhs c)+
@@ -30,7 +30,8 @@ import Control.DeepSeq import qualified Data.HashMap.Strict as M import qualified Data.HashSet as S-import qualified Data.List as L+-- import qualified Data.Maybe as Mb +import qualified Data.List as L -------------------------------------------------------------------------------- solve :: (NFData a, F.Fixpoint a, Show a, F.Loc a) => Config -> F.SInfo a -> IO (F.Result (Integer, a))@@ -70,7 +71,7 @@ | useElim cfg = E.solverInfo cfg fI | otherwise = SI mempty fI cD (siKvars fI) where- cD = elimDeps fI (kvEdges fI) mempty+ cD = elimDeps fI (kvEdges fI) mempty mempty siKvars :: F.SInfo a -> S.HashSet F.KVar siKvars = S.fromList . M.keys . F.ws@@ -85,8 +86,10 @@ -> SolveM (F.Result (Integer, a), Stats) -------------------------------------------------------------------------------- solve_ cfg fi s0 ks wkl = do- let s1 = mappend s0 $ {-# SCC "sol-init" #-} S.init cfg fi ks- s <- {-# SCC "sol-refine" #-} refine s1 wkl+ let s1 = {-# SCC "sol-init" #-} S.init cfg fi ks+ let s2 = mappend s0 s1 + -- let s3 = solveEbinds fi s2 + s <- {-# SCC "sol-refine" #-} refine s2 wkl res <- {-# SCC "sol-result" #-} result cfg wkl s st <- stats let res' = {-# SCC "sol-tidy" #-} tidyResult res@@ -157,12 +160,12 @@ -------------------------------------------------------------------------------- -- | Convert Solution into Result ---------------------------------------------- ---------------------------------------------------------------------------------result :: (F.Fixpoint a, F.Loc a) => Config -> W.Worklist a -> Sol.Solution+result :: (F.Fixpoint a, F.Loc a, NFData a) => Config -> W.Worklist a -> Sol.Solution -> SolveM (F.Result (Integer, a)) -------------------------------------------------------------------------------- result cfg wkl s = do lift $ writeLoud "Computing Result"- stat <- result_ wkl s+ stat <- result_ cfg wkl s lift $ whenLoud $ putStrLn $ "RESULT: " ++ show (F.sid <$> stat) F.Result (ci <$> stat) <$> solResult cfg s <*> return mempty where@@ -171,13 +174,19 @@ solResult :: Config -> Sol.Solution -> SolveM (M.HashMap F.KVar F.Expr) solResult cfg = minimizeResult cfg . Sol.result -result_ :: (F.Loc a) => W.Worklist a -> Sol.Solution -> SolveM (F.FixResult (F.SimpC a))-result_ w s = res <$> filterM (isUnsat s) cs+result_ :: (F.Loc a, NFData a) => Config -> W.Worklist a -> Sol.Solution -> SolveM (F.FixResult (F.SimpC a))+result_ cfg w s = res <$> filterM (isUnsat s) cs where- cs = W.unsatCandidates w- res [] = F.Safe- res cs' = F.Unsafe cs'+ cs = isChecked cfg (W.unsatCandidates w)+ res [] = F.Safe+ res cs' = F.Unsafe cs' +isChecked :: Config -> [F.SimpC a] -> [F.SimpC a]+isChecked cfg cs = case checkCstr cfg of + [] -> cs + ids -> let s = S.fromList ids in + [c | c <- cs, S.member (F.subcId c) s ]+ -------------------------------------------------------------------------------- -- | `minimizeResult` transforms each KVar's result by removing -- conjuncts that are implied by others. That is,@@ -204,7 +213,7 @@ else go ps (p:acc) ---------------------------------------------------------------------------------isUnsat :: (F.Loc a) => Sol.Solution -> F.SimpC a -> SolveM Bool+isUnsat :: (F.Loc a, NFData a) => Sol.Solution -> F.SimpC a -> SolveM Bool -------------------------------------------------------------------------------- isUnsat s c = do -- lift $ printf "isUnsat %s" (show (F.subcId c))
@@ -110,7 +110,7 @@ isValidInRefinements FFrac = False isValidInRefinements (FObj _) = True isValidInRefinements (FVar _) = True-isValidInRefinements (FFunc _ _) = False+isValidInRefinements (FFunc _ _) = True -- False isValidInRefinements (FAbs _ t) = isValidInRefinements t isValidInRefinements (FTC _) = True --TODO is this true? seems to be required for e.g. ResolvePred.hs isValidInRefinements (FApp _ _) = True
@@ -16,6 +16,7 @@ -- * Sort Substitutions TVSubst , Env+ , mkSearchEnv -- * Checking Well-Formedness , checkSorted@@ -33,6 +34,7 @@ -- * Unify , unifyFast , unifySorts+ , unifyTo1 -- * Apply Substitution , apply@@ -59,15 +61,15 @@ import qualified Data.HashMap.Strict as M import qualified Data.List as L-import Data.Maybe (mapMaybe, fromMaybe, catMaybes)+import Data.Maybe (mapMaybe, fromMaybe, catMaybes, isJust)+import Data.Semigroup (Semigroup (..)) import Language.Fixpoint.Types.PrettyPrint import Language.Fixpoint.Misc import Language.Fixpoint.Types hiding (subst) import qualified Language.Fixpoint.Types.Visitor as Vis import qualified Language.Fixpoint.Smt.Theories as Thy--- import qualified Language.Fixpoint.Smt.Types as Thy-import Text.PrettyPrint.HughesPJ+import Text.PrettyPrint.HughesPJ.Compat import Text.Printf -- import Debug.Trace@@ -91,9 +93,10 @@ -- instantiated to `int` and `bool`. -------------------------------------------------------------------------------- class Elaborate a where- elaborate :: String -> SymEnv -> a -> a+ elaborate :: Located String -> SymEnv -> a -> a -instance Elaborate (SInfo a) where++instance (Loc a) => Elaborate (SInfo a) where elaborate x senv si = si { cm = elaborate x senv <$> cm si , bs = elaborate x senv $ bs si@@ -110,16 +113,38 @@ elaborate _ _ = go where go s | isString s = strSort- go (FAbs i s) = FAbs i $ go s+ go (FAbs i s) = FAbs i (go s) go (FFunc s1 s2) = funSort (go s1) (go s2) go (FApp s1 s2) = FApp (go s1) (go s2) go s = s funSort :: Sort -> Sort -> Sort funSort = FApp . FApp funcSort +instance Elaborate AxiomEnv where+ elaborate msg env ae = ae+ { aenvEqs = elaborate msg env (aenvEqs ae) + -- MISSING SORTS OOPS, aenvSimpl = elaborate msg env (aenvSimpl ae) + }++instance Elaborate Rewrite where + elaborate msg env rw = rw { smBody = skipElabExpr msg env' (smBody rw) } + where + env' = insertsSymEnv env undefined++instance Elaborate Equation where + elaborate msg env eq = eq { eqBody = skipElabExpr msg env' (eqBody eq) } + where+ env' = insertsSymEnv env (eqArgs eq) + instance Elaborate Expr where- elaborate msg env = elabNumeric . elabApply env . elabExpr msg env+ elaborate msg env = elabNumeric . elabApply env . elabExpr msg env ++skipElabExpr :: Located String -> SymEnv -> Expr -> Expr +skipElabExpr msg env e = case elabExprE msg env e of + Left _ -> e + Right e' -> elabNumeric . elabApply env $ e'+ instance Elaborate (Symbol, Sort) where elaborate msg env (x, s) = (x, elaborate msg env s) @@ -147,34 +172,38 @@ env' = insertSymEnv v s env instance Elaborate BindEnv where- elaborate z env = mapBindEnv (\i (x, sr) -> (x, elaborate (z ++ msg i x sr) env sr))+ elaborate z env = mapBindEnv (\i (x, sr) -> (x, elaborate (z' i x sr) env sr)) where+ z' i x sr = z { val = (val z) ++ msg i x sr } msg i x sr = unwords [" elabBE", show i, show x, show sr] -instance Elaborate (SimpC a) where- elaborate x env c = c {_crhs = elaborate x env (_crhs c) }--+instance (Loc a) => Elaborate (SimpC a) where+ elaborate msg env c = c {_crhs = elaborate msg' env (_crhs c) }+ where msg' = atLoc c (val msg) -------------------------------------------------------------------------------- -- | 'elabExpr' adds "casts" to decorate polymorphic instantiation sites. ---------------------------------------------------------------------------------elabExpr :: String -> SymEnv -> Expr -> Expr-elabExpr msg env e- = case runCM0 $ elab (env, f) e of- Left msg -> die $ err dummySpan (d msg)- Right s -> notracepp ("elabExpr: e =" ++ showpp e) $ fst s- where- sEnv = seSort env- f = (`lookupSEnvWithDistance` sEnv)- -- γ' = γ `mappend` (Thy.tsSort <$> Thy.theorySymbols)- d m = vcat [ "elaborate" <+> text msg <+> "failed on:"- , nest 4 (pprint e)- , "with error"- , nest 4 (text m)- , "in environment"- , nest 4 (pprint $ subEnv sEnv e)- ]+elabExpr :: Located String -> SymEnv -> Expr -> Expr+elabExpr msg env e = case elabExprE msg env e of + Left ex -> die ex + Right e' -> e' +elabExprE :: Located String -> SymEnv -> Expr -> Either Error Expr+elabExprE msg env e = + case runCM0 (srcSpan msg) (elab (env, f) e) of+ Left e -> Left $ err (srcSpan e) (d (val e))+ Right s -> Right (fst s)+ where+ sEnv = seSort env+ f = (`lookupSEnvWithDistance` sEnv)+ d m = vcat [ "elaborate" <+> text (val msg) <+> "failed on:"+ , nest 4 (pprint e)+ , "with error"+ , nest 4 (text m)+ , "in environment"+ , nest 4 (pprint $ subEnv sEnv e)+ ]+ -------------------------------------------------------------------------------- -- | 'elabApply' replaces all direct function calls indirect calls via `apply` --------------------------------------------------------------------------------@@ -213,9 +242,9 @@ -- | Sort Inference ------------------------------------------------------------ -------------------------------------------------------------------------------- sortExpr :: SrcSpan -> SEnv Sort -> Expr -> Sort-sortExpr l γ e = case runCM0 $ checkExpr f e of- Left msg -> die $ err l (d msg)- Right s -> s+sortExpr l γ e = case runCM0 l (checkExpr f e) of+ Left e -> die $ err l (d (val e))+ Right s -> s where f = (`lookupSEnvWithDistance` γ) d m = vcat [ "sortExpr failed on expression:"@@ -226,8 +255,8 @@ , nest 4 (pprint γ) ] -checkSortExpr :: SEnv Sort -> Expr -> Maybe Sort-checkSortExpr γ e = case runCM0 $ checkExpr f e of+checkSortExpr :: SrcSpan -> SEnv Sort -> Expr -> Maybe Sort+checkSortExpr sp γ e = case runCM0 sp (checkExpr f e) of Left _ -> Nothing Right s -> Just s where@@ -247,24 +276,31 @@ -- | Types used throughout checker type CheckM = StateT ChState (Either ChError)-type ChError = String-type ChState = Int+type ChError = Located String+data ChState = ChS { chCount :: Int, chSpan :: SrcSpan } type Env = Symbol -> SESearch Sort type ElabEnv = (SymEnv, Env) -withError :: CheckM a -> String -> CheckM a-act `withError` e' = act `catchError` (\e -> throwError (e ++ "\n because\n" ++ e')) -runCM0 :: CheckM a -> Either String a-runCM0 act = fst <$> runStateT act initCM- where- initCM = 42+--------------------------------------------------------------------------------+mkSearchEnv :: SEnv a -> Symbol -> SESearch a +--------------------------------------------------------------------------------+mkSearchEnv env x = lookupSEnvWithDistance x env +-- withError :: CheckM a -> ChError -> CheckM a+-- act `withError` e' = act `catchError` (\e -> throwError (atLoc e (val e ++ "\n because\n" ++ val e')))+ +withError :: CheckM a -> String -> CheckM a+act `withError` msg = act `catchError` (\e -> throwError (atLoc e (val e ++ "\n because\n" ++ msg)))+ +runCM0 :: SrcSpan -> CheckM a -> Either ChError a+runCM0 sp act = fst <$> runStateT act (ChS 42 sp)+ fresh :: CheckM Int fresh = do- !n <- get- put (n + 1)+ !n <- gets chCount+ modify $ \s -> s { chCount = 1 + chCount s } return n --------------------------------------------------------------------------------@@ -277,32 +313,42 @@ unknowns = [ x | x <- syms sr, x `notElem` v : xs, not (x `memberSEnv` env)] Reft (v,_) = sr_reft sr -checkSortedReftFull :: Checkable a => SEnv SortedReft -> a -> Maybe Doc-checkSortedReftFull γ t- = case runCM0 $ check γ' t of- Left e -> Just (text e)- Right _ -> Nothing- where- γ' = sr_sort <$> γ+checkSortedReftFull :: Checkable a => SrcSpan -> SEnv SortedReft -> a -> Maybe Doc+checkSortedReftFull sp γ t = + case runCM0 sp (check γ' t) of+ Left e -> Just (text (val e))+ Right _ -> Nothing+ where+ γ' = sr_sort <$> γ -checkSortFull :: Checkable a => SEnv SortedReft -> Sort -> a -> Maybe Doc-checkSortFull γ s t- = case runCM0 $ checkSort γ' s t of- Left e -> Just (text e)- Right _ -> Nothing- where+checkSortFull :: Checkable a => SrcSpan -> SEnv SortedReft -> Sort -> a -> Maybe Doc+checkSortFull sp γ s t = + case runCM0 sp (checkSort γ' s t) of+ Left e -> Just (text (val e))+ Right _ -> Nothing+ where γ' = sr_sort <$> γ -checkSorted :: Checkable a => SEnv Sort -> a -> Maybe Doc-checkSorted γ t- = case runCM0 $ check γ t of- Left e -> Just (text e)- Right _ -> Nothing+checkSorted :: Checkable a => SrcSpan -> SEnv Sort -> a -> Maybe Doc+checkSorted sp γ t = + case runCM0 sp (check γ t) of+ Left e -> Just (text (val e))+ Right _ -> Nothing -pruneUnsortedReft :: SEnv Sort -> SortedReft -> SortedReft-pruneUnsortedReft γ (RR s (Reft (v, p))) = RR s (Reft (v, tx p))+pruneUnsortedReft :: SEnv Sort -> Templates -> SortedReft -> SortedReft+pruneUnsortedReft _ t r + | isEmptyTemplates t + = r +pruneUnsortedReft γ t (RR s (Reft (v, p)))+ | isAnyTemplates t + -- this is the old code that checks everything + = RR s (Reft (v, tx filterAny p))+ | otherwise+ = RR s (Reft (v, tx (filter filterWithTemplate) p)) where- tx = pAnd . mapMaybe (checkPred' f) . conjuncts+ filterAny = mapMaybe (checkPred' f)+ filterWithTemplate e = not (matchesTemplates t e) || isJust (checkPred' f e)+ tx f = pAnd . f . conjuncts f = (`lookupSEnvWithDistance` γ') γ' = insertSEnv v s γ -- wmsg t r = "WARNING: prune unsorted reft:\n" ++ showFix r ++ "\n" ++ t@@ -310,9 +356,9 @@ checkPred' :: Env -> Expr -> Maybe Expr checkPred' f p = res -- traceFix ("checkPred: p = " ++ showFix p) $ res where- res = case runCM0 $ checkPred f p of- Left _err -> {- trace (_wmsg _err p) -} Nothing- Right _ -> Just p+ res = case runCM0 dummySpan (checkPred f p) of+ Left _err -> notracepp ("Removing" ++ showpp p) Nothing+ Right _ -> Just p class Checkable a where check :: SEnv Sort -> a -> CheckM ()@@ -464,7 +510,7 @@ (e2', _) <- elab f e2 return (PAtom r e1' e2', boolSort) -elab f@(env, _) (PAtom r e1 e2) = do+elab f@(env,_) (PAtom r e1 e2) = do e1' <- uncurry (toInt env) <$> elab f e1 e2' <- uncurry (toInt env) <$> elab f e2 return (PAtom r e1' e2', boolSort)@@ -556,7 +602,8 @@ makeApplication :: Expr -> (Expr, Sort) -> Expr makeApplication e1 (e2, s) = ECst (EApp (EApp f e1) e2) s where- f = applyAt (exprSort "makeAppl" e2) s+ f = {- notracepp ("makeApplication: " ++ showpp (e2, t2)) $ -} applyAt t2 s+ t2 = exprSort "makeAppl" e2 applyAt :: Sort -> Sort -> Expr applyAt s t = ECst (EVar applyName) (FFunc s t)@@ -593,10 +640,7 @@ splitArgs = go [] where go acc (ECst (EApp e1 e) s) = go ((e, s) : acc) e1- -- go acc e@(EApp f _)- -- | Just _ <- unApplyAt f = (e, acc) go _ e@EApp{} = errorstar $ "UNEXPECTED: splitArgs: EApp without output type: " ++ showpp e- -- go acc (ECst e _) = go acc e go acc e = (e, acc) --------------------------------------------------------------------------------@@ -624,6 +668,88 @@ of all sorts at which 'apply' is used, computed by 'applySorts'. -} +{- | [NOTE:coerce-apply] -- related to [NOTE:apply-monomorphism]++Haskell's GADTs cause a peculiar problem illustrated below:++```haskell+data Field a where+ FInt :: Field Int+ FBool :: Field Bool++{-@ reflect proj @-}+proj :: Field a -> a -> a+proj fld x = case fld of+ FInt -> 1 + x+ FBool -> not b +```++## The Problem++The problem is you cannot encode the body of `proj` as a well-sorted refinement:+ +```haskell+ if is$FInt fld+ then (1 + (coerce (a ~ Int) x))+ else (not (coerce (a ~ Bool) x))+```++The catch is that `x` is being used BOTH as `Int` and as `Bool` +which is not supported in SMTLIB.++## Approach: Uninterpreted Functions++We encode `coerce` as an explicit **uninterpreted function**:++```haskell+ if is$FInt fld+ then (1 + (coerce@(a -> int) x))+ else (not (coerce@(a -> bool) x))+```++where we define, extra constants in the style of `apply` ++```haskell+ constant coerce@(a -> int ) :: a -> int+ constant coerce@(a -> bool) :: a -> int+```++However, it would not let us verify:+++```haskell+{-@ reflect unwrap @-}+unwrap :: Field a -> a -> a+unwrap fld x = proj fld x++{-@ test :: _ -> TT @-}+test = unwrap FInt 4 == 5+ && unwrap FBool True == False+```++because we'd get++```haskell+ unwrap FInt 4 :: { if is$FInt FInt then (1 + coerce_int_int 4) else ... }+```++and the UIF nature of `coerce_int_int` renders the VC invalid.++## Solution: Eliminate Trivial Coercions++HOWEVER, the solution here, may simply be to use UIFs when the+coercion is non-trivial (e.g. `a ~ int`) but to eschew them when+they are trivial. That is we would encode:++| Expr | SMTLIB |+|:-----------------------|:-------------------|+| `coerce (a ~ int) x` | `coerce_a_int x` |+| `coerce (int ~ int) x` | `x` |++which, I imagine is what happens _somewhere_ inside GHC too?++-}+ -------------------------------------------------------------------------------- applySorts :: Vis.Visitable t => t -> [Sort] --------------------------------------------------------------------------------@@ -631,9 +757,11 @@ where defs = [FFunc t1 t2 | t1 <- basicSorts, t2 <- basicSorts] vis = (Vis.defaultVisitor :: Vis.Visitor [KVar] t) { Vis.accExpr = go }- go _ (EApp (ECst (EVar f) t) _)+ go _ (EApp (ECst (EVar f) t) _) -- get types needed for [NOTE:apply-monomorphism] | f == applyName = [t]+ go _ (ECoerc t1 t2 _) -- get types needed for [NOTE:coerce-apply]+ = [FFunc t1 t2] go _ _ = [] --------------------------------------------------------------------------------@@ -644,11 +772,6 @@ where err = printf "exprSort [%s] on unexpected expression %s" msg (show e) - -- case exprSort_maybe e of- -- Nothing -> errorstar ("\nexprSort [" ++ msg ++ "] on unexpected expressions " ++ show e)- -- Just s -> s-- exprSort_maybe :: Expr -> Maybe Sort exprSort_maybe = go where@@ -668,12 +791,16 @@ su <- unifys f (Just e) [t1] [t2] return (apply su t1, apply su t2) +throwErrorAt :: String -> CheckM a +throwErrorAt err = do + sp <- gets chSpan + throwError (atLoc sp err) -- | Helper for checking symbol occurrences checkSym :: Env -> Symbol -> CheckM Sort checkSym f x = case f x of Found s -> instantiate s- Alts xs -> throwError (errUnboundAlts x xs)+ Alts xs -> throwErrorAt (errUnboundAlts x xs) -- | Helper for checking if-then-else expressions checkIte :: Env -> Expr -> Expr -> Expr -> CheckM Sort@@ -762,31 +889,30 @@ = checkNumeric f t >> return t checkOpTy _ e t t'- = throwError $ errOp e t t'+ = throwErrorAt (errOp e t t') checkFractional :: Env -> Sort -> CheckM () checkFractional f s@(FObj l) = do t <- checkSym f l- unless (t == FFrac) (throwError $ errNonFractional s)+ unless (t == FFrac) $ throwErrorAt (errNonFractional s) checkFractional _ s- = unless (isReal s) (throwError $ errNonFractional s)+ = unless (isReal s) $ throwErrorAt (errNonFractional s) checkNumeric :: Env -> Sort -> CheckM () checkNumeric f s@(FObj l) = do t <- checkSym f l- unless (t `elem` [FNum, FFrac, intSort, FInt]) (throwError $ errNonNumeric s)+ unless (t `elem` [FNum, FFrac, intSort, FInt]) (throwErrorAt $ errNonNumeric s) checkNumeric _ s- = unless (isNumeric s) (throwError $ errNonNumeric s)+ = unless (isNumeric s) (throwErrorAt $ errNonNumeric s) -checkEqConstr :: Env -> Maybe Expr -> a -> Symbol -> Sort -> CheckM a+checkEqConstr :: Env -> Maybe Expr -> TVSubst -> Symbol -> Sort -> CheckM TVSubst checkEqConstr _ _ θ a (FObj b) | a == b = return θ checkEqConstr f e θ a t = do case f a of- Found tA -> do unless (tA == t) (throwError $ errUnify e tA t)- return θ- _ -> throwError $ errUnify e (FObj a) t+ Found tA -> unify1 f e θ tA t + _ -> throwErrorAt $ errUnifyMsg (Just "ceq2") e (FObj a) t -------------------------------------------------------------------------------- -- | Checking Predicates -------------------------------------------------------@@ -796,9 +922,8 @@ checkBoolSort :: Expr -> Sort -> CheckM () checkBoolSort e s- | s == boolSort = return ()- | otherwise = throwError $ errBoolSort e s-+ | s == boolSort = return ()+ | otherwise = throwErrorAt (errBoolSort e s) -- | Checking Relations checkRel :: Env -> Brel -> Expr -> Expr -> CheckM ()@@ -819,10 +944,10 @@ checkRelTy :: Env -> Expr -> Brel -> Sort -> Sort -> CheckM ()-checkRelTy _ _ Ueq _ _ = return ()-checkRelTy _ _ Une _ _ = return ()+checkRelTy _ e Ueq s1 s2 = checkURel e s1 s2+checkRelTy _ e Une s1 s2 = checkURel e s1 s2 checkRelTy f _ _ s1@(FObj l) s2@(FObj l') | l /= l'- = (checkNumeric f s1 >> checkNumeric f s2) `withError` (errNonNumerics l l')+ = (checkNumeric f s1 >> checkNumeric f s2) `withError` (errNonNumerics l l') checkRelTy _ _ _ FReal FReal = return () checkRelTy _ _ _ FInt FReal = return () checkRelTy _ _ _ FReal FInt = return ()@@ -832,10 +957,13 @@ checkRelTy f _ _ s1 FReal = checkFractional f s1 `withError` (errNonFractional s1) checkRelTy f e Eq t1 t2 = void (unifys f (Just e) [t1] [t2] `withError` (errRel e t1 t2)) checkRelTy f e Ne t1 t2 = void (unifys f (Just e) [t1] [t2] `withError` (errRel e t1 t2))--checkRelTy _ e _ t1 t2 = unless (t1 == t2) (throwError $ errRel e t1 t2)-+checkRelTy _ e _ t1 t2 = unless (t1 == t2) (throwErrorAt $ errRel e t1 t2) +checkURel :: Expr -> Sort -> Sort -> CheckM ()+checkURel e s1 s2 = unless (b1 == b2) (throwErrorAt $ errRel e s1 s2)+ where + b1 = s1 == boolSort+ b2 = s2 == boolSort -------------------------------------------------------------------------------- -- | Sort Unification on Expressions@@ -868,17 +996,39 @@ unify :: Env -> Maybe Expr -> Sort -> Sort -> Maybe TVSubst -------------------------------------------------------------------------------- unify f e t1 t2- = case runCM0 $ unify1 f e emptySubst t1 t2 of+ = case runCM0 dummySpan (unify1 f e emptySubst t1 t2) of Left _ -> Nothing Right su -> Just su --------------------------------------------------------------------------------+unifyTo1 :: Env -> [Sort] -> Maybe Sort+--------------------------------------------------------------------------------+unifyTo1 f ts + = case runCM0 dummySpan (unifyTo1M f ts) of+ Left _ -> Nothing+ Right t -> Just t +++--------------------------------------------------------------------------------+unifyTo1M :: Env -> [Sort] -> CheckM Sort +--------------------------------------------------------------------------------+unifyTo1M _ [] = panic "unifyTo1: empty list"+unifyTo1M f (t0:ts) = snd <$> foldM step (emptySubst, t0) ts+ where + step :: (TVSubst, Sort) -> Sort -> CheckM (TVSubst, Sort)+ step (su, t) t' = do + su' <- unify1 f Nothing su t t' + return (su', apply su' t)+++-------------------------------------------------------------------------------- unifySorts :: Sort -> Sort -> Maybe TVSubst -------------------------------------------------------------------------------- unifySorts = unifyFast False emptyEnv where emptyEnv = const $ die $ err dummySpan "SortChecl: lookup in Empty Env " + -------------------------------------------------------------------------------- -- | Fast Unification; `unifyFast True` is just equality --------------------------------------------------------------------------------@@ -892,6 +1042,7 @@ | otherwise = Nothing + -------------------------------------------------------------------------------- unifys :: Env -> Maybe Expr -> [Sort] -> [Sort] -> CheckM TVSubst --------------------------------------------------------------------------------@@ -900,8 +1051,7 @@ unifyMany :: Env -> Maybe Expr -> TVSubst -> [Sort] -> [Sort] -> CheckM TVSubst unifyMany f e θ ts ts' | length ts == length ts' = foldM (uncurry . unify1 f e) θ $ zip ts ts'- | otherwise = throwError $ errUnifyMany ts ts'-+ | otherwise = throwErrorAt (errUnifyMany ts ts') unify1 :: Env -> Maybe Expr -> TVSubst -> Sort -> Sort -> CheckM TVSubst unify1 f e !θ (FVar !i) !t@@ -947,8 +1097,7 @@ | t1 == t2 = return θ | otherwise- = throwError $ errUnify e t1 t2-+ = throwErrorAt (errUnify e t1 t2) subst :: Int -> Sort -> Sort -> Sort subst !j !tj !t@(FVar !i)@@ -1034,7 +1183,7 @@ checkFunSort (FVar i) = do j <- fresh k <- fresh return (FVar j, FVar k, updateVar i (FFunc (FVar j) (FVar k)) emptySubst)-checkFunSort t = throwError $ errNonFunction 1 t+checkFunSort t = throwErrorAt (errNonFunction 1 t) -------------------------------------------------------------------------------- -- | API for manipulating Sort Substitutions -----------------------------------@@ -1042,9 +1191,12 @@ newtype TVSubst = Th (M.HashMap Int Sort) deriving (Show) +instance Semigroup TVSubst where+ (Th s1) <> (Th s2) = Th (s1 <> s2)+ instance Monoid TVSubst where- mempty = Th mempty- mappend (Th s1) (Th s2) = Th (mappend s1 s2)+ mempty = Th mempty+ mappend = (<>) lookupVar :: Int -> TVSubst -> Maybe Sort lookupVar i (Th m) = M.lookup i m@@ -1059,12 +1211,18 @@ -- | Error messages ------------------------------------------------------------ -------------------------------------------------------------------------------- -errElabExpr :: Expr -> String-errElabExpr e = printf "Elaborate fails on %s" (showpp e)+errElabExpr :: Expr -> String+errElabExpr e = printf "Elaborate fails on %s" (showpp e) +errUnifyMsg :: Maybe String -> Maybe Expr -> Sort -> Sort -> String+errUnifyMsg msgMb eo t1 t2 + = printf "Cannot unify %s with %s %s %s"+ (showpp t1) {- (show t1) -} (showpp t2) {-(show t2)-} (errUnifyExpr eo) msgStr+ where + msgStr = case msgMb of { Nothing -> ""; Just s -> "<< " ++ s ++ " >>"} + errUnify :: Maybe Expr -> Sort -> Sort -> String-errUnify eo t1 t2 = printf "Cannot unify %s with %s %s"- (showpp t1) (showpp t2) (errUnifyExpr eo)+errUnify = errUnifyMsg Nothing errUnifyExpr :: Maybe Expr -> String errUnifyExpr Nothing = ""@@ -1094,9 +1252,8 @@ (showpp e) (showpp t') (showpp t) errUnboundAlts :: Symbol -> [Symbol] -> String-errUnboundAlts x xs = printf "Unbound Symbol %s\n Perhaps you meant: %s"- (showpp x)- (foldr1 (\w s -> w ++ ", " ++ s) (showpp <$> xs))+errUnboundAlts x xs = printf "Unbound symbol %s --- perhaps you meant: %s ?"+ (showpp x) (L.intercalate ", " (showpp <$> xs)) errNonFunction :: Int -> Sort -> String errNonFunction i t = printf "The sort %s is not a function with at least %s arguments\n" (showpp t) (showpp i)
@@ -17,3 +17,4 @@ import Language.Fixpoint.Types.Utils as X import Language.Fixpoint.Types.Triggers as X import Language.Fixpoint.Types.Theories as X+import Language.Fixpoint.Types.Templates as X
@@ -69,6 +69,7 @@ , allowHOqs :: Bool -- ^ allow higher order qualifiers , eliminate :: Eliminate -- ^ eliminate non-cut KVars , elimBound :: Maybe Int -- ^ maximum length of KVar chain to eliminate+ , smtTimeout :: Maybe Int -- ^ smt timeout in msec , elimStats :: Bool -- ^ print eliminate stats , solverStats :: Bool -- ^ print solver stats , metadata :: Bool -- ^ print meta-data associated with constraints@@ -81,14 +82,12 @@ , minimalSol :: Bool -- ^ shrink final solution by pruning redundant qualfiers from fixpoint , gradual :: Bool -- ^ solve "gradual" constraints , ginteractive :: Bool -- ^ interactive gradual solving- , extensionality :: Bool -- ^ allow function extensionality- , alphaEquivalence :: Bool -- ^ allow lambda alpha equivalence axioms- , betaEquivalence :: Bool -- ^ allow lambda beta equivalence axioms- , normalForm :: Bool -- ^ allow lambda normal-form equivalence axioms , autoKuts :: Bool -- ^ ignore given kut variables , nonLinCuts :: Bool -- ^ Treat non-linear vars as cuts , noslice :: Bool -- ^ Disable non-concrete KVar slicing- , rewriteAxioms :: Bool -- ^ allow axiom instantiation via rewriting+ , rewriteAxioms :: Bool -- ^ Allow axiom instantiation via rewriting+ , noIncrPle :: Bool -- ^ Use incremental PLE+ , checkCstr :: [Integer] -- ^ Only check these specific constraints } deriving (Eq,Data,Typeable,Show,Generic) instance Default Config where@@ -112,11 +111,15 @@ -- None = use PA/Quals for ALL k-vars, i.e. no eliminate -- Some = use PA/Quals for CUT k-vars, i.e. eliminate non-cuts -- All = eliminate ALL k-vars, solve cut-vars to TRUE+-- Horn = eliminate kvars using the Horn solver+-- Existentials = eliminate kvars and existentials --------------------------------------------------------------------------------------- data Eliminate = None | Some | All+ | Horn+ | Existentials deriving (Eq, Data, Typeable, Generic) instance Serialize Eliminate@@ -128,6 +131,8 @@ show None = "none" show Some = "some" show All = "all"+ show Horn = "horn"+ show Existentials = "existentials" useElim :: Config -> Bool@@ -145,7 +150,8 @@ , allowHO = False &= help "Allow higher order binders into fixpoint environment" , allowHOqs = False &= help "Allow higher order qualifiers" , eliminate = None &= help "Eliminate KVars [none = quals for all-kvars, cuts = quals for cut-kvars, all = eliminate all-kvars (TRUE for cuts)]"- , elimBound = Nothing &= name "elimBound" &= help "(alpha) Maximum eliminate-chain depth"+ , elimBound = Nothing &= name "elimBound" &= help "(alpha) Maximum eliminate-chain depth"+ , smtTimeout = Nothing &= name "smtTimeout" &= help "smt timeout in msec" , elimStats = False &= help "(alpha) Print eliminate stats" , solverStats = False &= help "Print solver stats" , save = False &= help "Save Query as .fq and .bfq files"@@ -160,15 +166,13 @@ , minimizeKs = False &= help "Delta debug to minimize fq file (sat with max kvars replaced by True)" , minimalSol = False &= help "Shrink fixpoint by removing implied qualifiers" , gradual = False &= help "Solve gradual-refinement typing constraints"- , ginteractive = False &= help "Interactive Gradual Solving"- , extensionality = False &= help "Allow function extensionality axioms"- , alphaEquivalence = False &= help "Allow lambda alpha equivalence axioms"- , betaEquivalence = False &= help "Allow lambda alpha equivalence axioms"- , normalForm = False &= help "Allow lambda normal-form equivalence axioms"+ , ginteractive = False &= help "Interactive Gradual Solving" , autoKuts = False &= help "Ignore given Kut vars, compute from scratch" , nonLinCuts = False &= help "Treat non-linear kvars as cuts" , noslice = False &= help "Disable non-concrete KVar slicing" , rewriteAxioms = False &= help "allow axiom instantiation via rewriting"+ , noIncrPle = False &= help "Don't use incremental PLE"+ , checkCstr = [] &= help "Only check these specific constraint-ids" } &= verbosity &= program "fixpoint"
@@ -13,7 +13,6 @@ -- | This module contains the top-level QUERY data types and elements, -- including (Horn) implication & well-formedness constraints and sets.- module Language.Fixpoint.Types.Constraints ( -- * Top-level Queries@@ -38,6 +37,7 @@ , TaggedC, clhs, crhs -- , strengthenLhs , strengthenHyp+ , strengthenBinds -- * Accessing Constraints , addIds@@ -46,10 +46,15 @@ , gwInfo, GWInfo (..) -- * Qualifiers- , Qualifier (..)+ , Qualifier (..)+ , QualParam (..)+ , QualPattern (..) , trueQual , qualifier- , mkQual, remakeQual+ , mkQual+ , remakeQual+ , mkQ + , qualBinds -- * Results , FixSolution@@ -74,10 +79,12 @@ -- * Misc [should be elsewhere but here due to dependencies] , substVars+ , sortVars ) where import qualified Data.Binary as B import Data.Generics (Data)+import Data.Semigroup (Semigroup (..)) import Data.Typeable (Typeable) import GHC.Generics (Generic) import qualified Data.List as L -- (sort, nub, delete)@@ -97,7 +104,7 @@ import qualified Language.Fixpoint.Utils.Files as Files import Language.Fixpoint.Misc-import Text.PrettyPrint.HughesPJ+import Text.PrettyPrint.HughesPJ.Compat import qualified Data.HashMap.Strict as M import qualified Data.HashSet as S @@ -161,22 +168,24 @@ { _cenv :: !IBindEnv , _crhs :: !Expr , _cid :: !(Maybe Integer)- , _cbind :: !BindId -- ^ Id of lhs/rhs binder+ , cbind :: !BindId -- ^ Id of lhs/rhs binder , _ctag :: !Tag , _cinfo :: !a } deriving (Generic, Functor) +instance Loc a => Loc (SimpC a) where + srcSpan = srcSpan . _cinfo strengthenHyp :: SInfo a -> [(Integer, Expr)] -> SInfo a strengthenHyp si ies = strengthenBinds si bindExprs where- bindExprs = safeFromList "strengthenHyp" (mapFst (subcBind si) <$> ies)+ bindExprs = safeFromList "strengthenHyp" [ (subcBind si i, e) | (i, e) <- ies ] -subcBind :: SInfo a -> Integer -> BindId+subcBind :: SInfo a -> SubcId -> BindId subcBind si i | Just c <- M.lookup i (cm si)- = _cbind c+ = cbind c | otherwise = errorstar $ "Unknown subcId in subcBind: " ++ show i @@ -192,7 +201,6 @@ strengthenSortedReft (RR s (Reft (v, r))) e = RR s (Reft (v, pAnd [r, e])) - {- [(Int, Expr)] ==> [(BindId, Expr)] @@ -242,25 +250,31 @@ type GFixSolution = GFixSol Expr type FixSolution = M.HashMap KVar Expr+ newtype GFixSol e = GSol (M.HashMap KVar (e, [e]))- deriving (Generic, Monoid, Functor)+ deriving (Generic, Semigroup, Monoid, Functor) toGFixSol :: M.HashMap KVar (e, [e]) -> GFixSol e toGFixSol = GSol -data Result a = Result { resStatus :: !(FixResult a)- , resSolution :: !FixSolution- , gresSolution :: !GFixSolution }- deriving (Generic, Show)+data Result a = Result + { resStatus :: !(FixResult a)+ , resSolution :: !FixSolution+ , gresSolution :: !GFixSolution + }+ deriving (Generic, Show, Functor) +instance Semigroup (Result a) where+ r1 <> r2 = Result stat soln gsoln+ where+ stat = (resStatus r1) <> (resStatus r2)+ soln = (resSolution r1) <> (resSolution r2)+ gsoln = (gresSolution r1) <> (gresSolution r2)+ instance Monoid (Result a) where mempty = Result mempty mempty mempty- mappend r1 r2 = Result stat soln gsoln- where- stat = mappend (resStatus r1) (resStatus r2)- soln = mappend (resSolution r1) (resSolution r2)- gsoln = mappend (gresSolution r1) (gresSolution r2)+ mappend = (<>) unsafe, safe :: Result a unsafe = mempty {resStatus = Unsafe []}@@ -282,7 +296,7 @@ toFix (Unsafe xs) = vcat $ text "Unsafe:" : pprSinfos "WARNING: " xs pprSinfos :: (Ord a, Fixpoint a) => String -> [SubC a] -> [Doc]-pprSinfos msg = map ((text msg <>) . toFix) . L.sort . fmap sinfo+pprSinfos msg = map ((text msg <->) . toFix) . L.sort . fmap sinfo instance Fixpoint a => Show (WfC a) where show = showFix@@ -337,7 +351,7 @@ pprintTidy k (GSol xs) = vcat $ punctuate "\n\n" (pprintTidyGradual k <$> M.toList xs) pprintTidyGradual :: Tidy -> (KVar, (Expr, [Expr])) -> Doc-pprintTidyGradual _ (x, (e, es)) = ppLocOfKVar x <+> text ":=" <+> (ppNonTauto " && " e <> pprint es)+pprintTidyGradual _ (x, (e, es)) = ppLocOfKVar x <+> text ":=" <+> (ppNonTauto " && " e <-> pprint es) ppLocOfKVar :: KVar -> Doc ppLocOfKVar = text. dropWhile (/='(') . symbolString .kv@@ -345,12 +359,14 @@ ppNonTauto :: Doc -> Expr -> Doc ppNonTauto d e | isTautoPred e = mempty- | otherwise = pprint e <> d+ | otherwise = pprint e <-> d instance Show GFixSolution where show = showpp ----------------------------------------------------------------+instance B.Binary QualPattern +instance B.Binary QualParam instance B.Binary Qualifier instance B.Binary Kuts instance B.Binary HOInfo@@ -361,6 +377,8 @@ instance (B.Binary a) => B.Binary (SimpC a) instance (B.Binary (c a), B.Binary a) => B.Binary (GInfo c a) +instance NFData QualPattern +instance NFData QualParam instance NFData Qualifier instance NFData Kuts instance NFData HOInfo@@ -378,7 +396,7 @@ --------------------------------------------------------------------------- wfC :: (Fixpoint a) => IBindEnv -> SortedReft -> a -> [WfC a]-wfC be sr x = if all isEmptySubst (sus ) -- ++ gsus)+wfC be sr x = if all isEmptySubst sus -- ++ gsus) -- NV TO RJ This tests fails with [LT:=GHC.Types.LT][EQ:=GHC.Types.EQ][GT:=GHC.Types.GT]] -- NV TO RJ looks like a resolution issue then [WfC be (v, sr_sort sr, k) x | k <- ks ]@@ -421,7 +439,8 @@ addIds :: [SubC a] -> [(Integer, SubC a)] addIds = zipWith (\i c -> (i, shiftId i $ c {_sid = Just i})) [1..]- where -- Adding shiftId to have distinct VV for SMT conversion+ where + -- Adding shiftId to have distinct VV for SMT conversion shiftId i c = c { slhs = shiftSR i $ slhs c } { srhs = shiftSR i $ srhs c } shiftSR i sr = sr { sr_reft = shiftR i $ sr_reft sr }@@ -430,14 +449,28 @@ -------------------------------------------------------------------------------- -- | Qualifiers ---------------------------------------------------------------- --------------------------------------------------------------------------------+data Qualifier = Q + { qName :: !Symbol -- ^ Name+ , qParams :: [QualParam] -- ^ Parameters+ , qBody :: !Expr -- ^ Predicate+ , qPos :: !SourcePos -- ^ Source Location+ }+ deriving (Eq, Show, Data, Typeable, Generic) -data Qualifier = Q { qName :: !Symbol -- ^ Name- , qParams :: [(Symbol, Sort)] -- ^ Parameters- , qBody :: !Expr -- ^ Predicate- , qPos :: !SourcePos -- ^ Source Location- }- deriving (Eq, Show, Data, Typeable, Generic)+data QualParam = QP + { qpSym :: !Symbol+ , qpPat :: !QualPattern + , qpSort :: !Sort+ } + deriving (Eq, Show, Data, Typeable, Generic) +data QualPattern + = PatNone -- ^ match everything + | PatPrefix !Symbol !Int -- ^ str . $i i.e. match prefix 'str' with suffix bound to $i+ | PatSuffix !Int !Symbol -- ^ $i . str i.e. match suffix 'str' with prefix bound to $i+ | PatExact !Symbol -- ^ str i.e. exactly match 'str'+ deriving (Eq, Show, Data, Typeable, Generic)+ trueQual :: Qualifier trueQual = Q (symbol ("QTrue" :: String)) [] mempty (dummyPos "trueQual") @@ -446,6 +479,32 @@ where l = qPos q +instance Subable Qualifier where + syms = qualFreeSymbols + subst = mapQualBody . subst+ substf = mapQualBody . substf+ substa = mapQualBody . substa++mapQualBody :: (Expr -> Expr) -> Qualifier -> Qualifier+mapQualBody f q = q { qBody = f (qBody q) }+ +qualFreeSymbols :: Qualifier -> [Symbol]+qualFreeSymbols q = filter (not . isPrim) xs + where+ xs = syms (qBody q) L.\\ syms (qpSym <$> qParams q) ++instance Fixpoint QualParam where + toFix (QP x _ t) = toFix (x, t) ++instance PPrint QualParam where + pprintTidy k (QP x pat t) = pprintTidy k x <+> pprintTidy k pat <+> colon <+> pprintTidy k t ++instance PPrint QualPattern where + pprintTidy _ PatNone = "" + pprintTidy k (PatPrefix s i) = "as" <+> pprintTidy k s <+> ("$" <-> pprint i)+ pprintTidy k (PatSuffix s i) = "as" <+> ("$" <-> pprint i) <+> pprintTidy k s + pprintTidy k (PatExact s ) = "~" <+> pprintTidy k s + instance Fixpoint Qualifier where toFix = pprQual @@ -453,16 +512,25 @@ pprintTidy k q = "qualif" <+> pprintTidy k (qName q) <+> "defined at" <+> pprintTidy k (qPos q) pprQual :: Qualifier -> Doc-pprQual (Q n xts p l) = text "qualif" <+> text (symbolString n) <> parens args <> colon <+> parens (toFix p) <+> text "//" <+> toFix l+pprQual (Q n xts p l) = text "qualif" <+> text (symbolString n) <-> parens args <-> colon <+> parens (toFix p) <+> text "//" <+> toFix l where args = intersperse comma (toFix <$> xts) qualifier :: SEnv Sort -> SourcePos -> SEnv Sort -> Symbol -> Sort -> Expr -> Qualifier-qualifier lEnv l γ v so p = Q "Auto" ((v, so) : xts) p l+qualifier lEnv l γ v so p = mkQ "Auto" ((v, so) : xts) p l where xs = L.delete v $ L.nub $ syms p xts = catMaybes $ zipWith (envSort l lEnv γ) xs [0..] +mkQ :: Symbol -> [(Symbol, Sort)] -> Expr -> SourcePos -> Qualifier +mkQ n = Q n . qualParams++qualParams :: [(Symbol, Sort)] -> [QualParam]+qualParams xts = [ QP x PatNone t | (x, t) <- xts]++qualBinds :: Qualifier -> [(Symbol, Sort)]+qualBinds q = [ (qpSym qp, qpSort qp) | qp <- qParams q ]+ envSort :: SourcePos -> SEnv Sort -> SEnv Sort -> Symbol -> Integer -> Maybe (Symbol, Sort) envSort l lEnv tEnv x i | Just t <- lookupSEnv x tEnv = Just (x, t)@@ -473,21 +541,19 @@ -- msg = "unknown symbol in qualifier: " ++ show x remakeQual :: Qualifier -> Qualifier-remakeQual q = {- traceShow msg $ -} mkQual (qName q) (qParams q) (qBody q) (qPos q)+remakeQual q = mkQual (qName q) (qParams q) (qBody q) (qPos q) -- | constructing qualifiers-mkQual :: Symbol -> [(Symbol, Sort)] -> Expr -> SourcePos -> Qualifier-mkQual n xts p = Q n ((v, t) : yts) (subst su p)+mkQual :: Symbol -> [QualParam] -> Expr -> SourcePos -> Qualifier+mkQual n qps p = Q n qps' p where- (v, t):zts = gSorts xts- -- yts = first mkParam <$> zts- yts = zts- su = mkSubst $ zipWith (\(z,_) (y,_) -> (z, eVar y)) zts yts+ qps' = zipWith (\qp t' -> qp { qpSort = t'}) qps ts'+ ts' = gSorts (qpSort <$> qps) -gSorts :: [(a, Sort)] -> [(a, Sort)]-gSorts xts = [(x, substVars su t) | (x, t) <- xts]+gSorts :: [Sort] -> [Sort]+gSorts ts = substVars su <$> ts where- su = (`zip` [0..]) . sortNub . concatMap (sortVars . snd) $ xts+ su = (`zip` [0..]) . sortNub . concatMap sortVars $ ts substVars :: [(Symbol, Int)] -> Sort -> Sort substVars su = mapSort' tx@@ -531,14 +597,17 @@ deriving (Eq, Show, Generic) instance Fixpoint Kuts where- toFix (KS s) = vcat $ ((text "cut " <>) . toFix) <$> S.toList s+ toFix (KS s) = vcat $ (("cut " <->) . toFix) <$> S.toList s ksMember :: KVar -> Kuts -> Bool ksMember k (KS s) = S.member k s +instance Semigroup Kuts where+ k1 <> k2 = KS $ S.union (ksVars k1) (ksVars k2)+ instance Monoid Kuts where- mempty = KS S.empty- mappend k1 k2 = KS $ S.union (ksVars k1) (ksVars k2)+ mempty = KS S.empty+ mappend = (<>) ------------------------------------------------------------------------ -- | Constructing Queries@@ -556,11 +625,12 @@ -> [Triggered Expr] -> AxiomEnv -> [DataDecl]+ -> [BindId] -> GInfo SubC a-fi cs ws binds ls ds ks qs bi aHO aHOq es axe adts+fi cs ws binds ls ds ks qs bi aHO aHOq es axe adts ebs = FI { cm = M.fromList $ addIds cs , ws = M.fromListWith err [(k, w) | w <- ws, let (_, _, k) = wrft w]- , bs = binds+ , bs = foldr (adjustBindEnv stripReft) binds ebs , gLits = ls , dLits = ds , kuts = ks@@ -570,69 +640,95 @@ , asserts = es , ae = axe , ddecls = adts+ , ebinds = ebs } where --TODO handle duplicates gracefully instead (merge envs by intersect?) err = errorstar "multiple WfCs with same kvar"+ stripReft (sym, reft) = (sym, reft { sr_reft = trueReft }) ------------------------------------------------------------------------ -- | Top-level Queries ------------------------------------------------------------------------ -data FInfoWithOpts a = FIO {fioFI :: FInfo a, fioOpts :: [String]}+data FInfoWithOpts a = FIO + { fioFI :: FInfo a+ , fioOpts :: [String]+ } type FInfo a = GInfo SubC a type SInfo a = GInfo SimpC a -data HOInfo = HOI { hoBinds :: Bool -- ^ Allow higher order binds in the environemnt- , hoQuals :: Bool -- ^ Allow higher order quals- }+data HOInfo = HOI + { hoBinds :: Bool -- ^ Allow higher order binds in the environemnt+ , hoQuals :: Bool -- ^ Allow higher order quals+ } deriving (Eq, Show, Generic) allowHO, allowHOquals :: GInfo c a -> Bool allowHO = hoBinds . hoInfo allowHOquals = hoQuals . hoInfo -data GInfo c a =- FI { cm :: !(M.HashMap SubcId (c a)) -- ^ cst id |-> Horn Constraint- , ws :: !(M.HashMap KVar (WfC a)) -- ^ Kvar |-> WfC defining its scope/args- , bs :: !BindEnv -- ^ Bind |-> (Symbol, SortedReft)- , gLits :: !(SEnv Sort) -- ^ Global Constant symbols- , dLits :: !(SEnv Sort) -- ^ Distinct Constant symbols- , kuts :: !Kuts -- ^ Set of KVars *not* to eliminate- , quals :: ![Qualifier] -- ^ Abstract domain- , bindInfo :: !(M.HashMap BindId a) -- ^ Metadata about binders- , ddecls :: ![DataDecl] -- ^ User-defined data declarations- , hoInfo :: !HOInfo -- ^ Higher Order info- , asserts :: ![Triggered Expr]- , ae :: AxiomEnv- }+data GInfo c a = FI + { cm :: !(M.HashMap SubcId (c a)) -- ^ cst id |-> Horn Constraint+ , ws :: !(M.HashMap KVar (WfC a)) -- ^ Kvar |-> WfC defining its scope/args+ , bs :: !BindEnv -- ^ Bind |-> (Symbol, SortedReft)+ , ebinds :: ![BindId] -- ^ Subset of existential binders+ , gLits :: !(SEnv Sort) -- ^ Global Constant symbols+ , dLits :: !(SEnv Sort) -- ^ Distinct Constant symbols+ , kuts :: !Kuts -- ^ Set of KVars *not* to eliminate+ , quals :: ![Qualifier] -- ^ Abstract domain+ , bindInfo :: !(M.HashMap BindId a) -- ^ Metadata about binders+ , ddecls :: ![DataDecl] -- ^ User-defined data declarations+ , hoInfo :: !HOInfo -- ^ Higher Order info+ , asserts :: ![Triggered Expr] -- ^ TODO: what is this?+ , ae :: AxiomEnv -- ^ Information about reflected function defs+ } deriving (Eq, Show, Functor, Generic) instance HasGradual (GInfo c a) where isGradual info = any isGradual (M.elems $ ws info) +instance Semigroup HOInfo where+ i1 <> i2 = HOI { hoBinds = hoBinds i1 || hoBinds i2+ , hoQuals = hoQuals i1 || hoQuals i2+ }+ instance Monoid HOInfo where mempty = HOI False False- mappend i1 i2 = HOI { hoBinds = hoBinds i1 || hoBinds i2- , hoQuals = hoQuals i1 || hoQuals i2- } +instance Semigroup (GInfo c a) where+ i1 <> i2 = FI { cm = (cm i1) <> (cm i2)+ , ws = (ws i1) <> (ws i2)+ , bs = (bs i1) <> (bs i2)+ , ebinds = (ebinds i1) <> (ebinds i2)+ , gLits = (gLits i1) <> (gLits i2)+ , dLits = (dLits i1) <> (dLits i2)+ , kuts = (kuts i1) <> (kuts i2)+ , quals = (quals i1) <> (quals i2)+ , bindInfo = (bindInfo i1) <> (bindInfo i2)+ , ddecls = (ddecls i1) <> (ddecls i2)+ , hoInfo = (hoInfo i1) <> (hoInfo i2)+ , asserts = (asserts i1) <> (asserts i2)+ , ae = (ae i1) <> (ae i2)+ }++ instance Monoid (GInfo c a) where- mempty = FI M.empty mempty mempty mempty mempty mempty mempty mempty mempty mempty mempty mempty- mappend i1 i2 = FI { cm = mappend (cm i1) (cm i2)- , ws = mappend (ws i1) (ws i2)- , bs = mappend (bs i1) (bs i2)- , gLits = mappend (gLits i1) (gLits i2)- , dLits = mappend (dLits i1) (dLits i2)- , kuts = mappend (kuts i1) (kuts i2)- , quals = mappend (quals i1) (quals i2)- , bindInfo = mappend (bindInfo i1) (bindInfo i2)- , ddecls = mappend (ddecls i1) (ddecls i2)- , hoInfo = mappend (hoInfo i1) (hoInfo i2)- , asserts = mappend (asserts i1) (asserts i2)- , ae = mappend (ae i1) (ae i2)- }+ mempty = FI { cm = M.empty+ , ws = mempty + , bs = mempty + , ebinds = mempty + , gLits = mempty + , dLits = mempty + , kuts = mempty + , quals = mempty + , bindInfo = mempty + , ddecls = mempty + , hoInfo = mempty + , asserts = mempty + , ae = mempty+ } instance PTable (SInfo a) where ptable z = DocTable [ (text "# Sub Constraints", pprint $ length $ cm z)@@ -652,7 +748,7 @@ -- $++$ packsDoc x' $++$ gConDoc x' $++$ dConDoc x'- $++$ bindsDoc x'+ $++$ bindsDoc $++$ csDoc x' $++$ wsDoc x' $++$ binfoDoc x'@@ -666,7 +762,9 @@ kutsDoc = toFix . kuts -- packsDoc = toFix . packs declsDoc = vcat . map ((text "data" <+>) . toFix) . ddecls- bindsDoc = toFix . bs+ (ubs, ebs) = splitByQuantifiers (bs x') (ebinds x')+ bindsDoc = toFix ubs+ $++$ toFix ebs qualsDoc = vcat . map toFix . quals aeDoc = toFix . ae metaDoc (i,d) = toFixMeta (text "bind" <+> toFix i) (toFix d)@@ -700,7 +798,7 @@ { _cenv = senv s , _crhs = reftPred $ sr_reft $ srhs s , _cid = sid s- , _cbind = safeLookup "subcToSimpc" (subcId s) m+ , cbind = safeLookup "subcToSimpc" (subcId s) m , _ctag = stag s , _cinfo = sinfo s }@@ -766,13 +864,16 @@ instance NFData SMTSolver instance NFData Eliminate -instance Monoid AxiomEnv where- mempty = AEnv [] [] (M.fromList [])- mappend a1 a2 = AEnv aenvEqs' aenvSimpl' aenvExpand'+instance Semigroup AxiomEnv where+ a1 <> a2 = AEnv aenvEqs' aenvSimpl' aenvExpand' where- aenvEqs' = mappend (aenvEqs a1) (aenvEqs a2)- aenvSimpl' = mappend (aenvSimpl a1) (aenvSimpl a2)- aenvExpand' = mappend (aenvExpand a1) (aenvExpand a2)+ aenvEqs' = (aenvEqs a1) <> (aenvEqs a2)+ aenvSimpl' = (aenvSimpl a1) <> (aenvSimpl a2)+ aenvExpand' = (aenvExpand a1) <> (aenvExpand a2)++instance Monoid AxiomEnv where+ mempty = AEnv [] [] (M.fromList [])+ mappend = (<>) instance PPrint AxiomEnv where pprintTidy _ = text . show
@@ -45,9 +45,10 @@ , insertBindEnv, lookupBindEnv , filterBindEnv, mapBindEnv, mapWithKeyMBindEnv, adjustBindEnv , bindEnvFromList, bindEnvToList, elemsBindEnv+ , EBindEnv, splitByQuantifiers -- * Information needed to lookup and update Solutions- , SolEnv (..)+ -- , SolEnv (..) -- * Groups of KVars (needed by eliminate) , Packs (..)@@ -59,6 +60,7 @@ import qualified Data.Binary as B import qualified Data.List as L import Data.Generics (Data)+import Data.Semigroup (Semigroup (..)) import Data.Typeable (Typeable) import GHC.Generics (Generic) import Data.Hashable@@ -66,7 +68,7 @@ import qualified Data.HashSet as S import Data.Maybe import Data.Function (on)-import Text.PrettyPrint.HughesPJ+import Text.PrettyPrint.HughesPJ.Compat import Control.DeepSeq import Language.Fixpoint.Types.PrettyPrint@@ -93,13 +95,18 @@ instance PPrint a => PPrint (SizedEnv a) where pprintTidy k (BE _ m) = pprintTidy k m -type BindEnv = SizedEnv (Symbol, SortedReft) -- Invariant: All BindIds in the map are less than beSize+type BindEnv = SizedEnv (Symbol, SortedReft)+newtype EBindEnv = EB BindEnv -data SolEnv = SolEnv { soeBinds :: !BindEnv- -- , soePacks :: !Packs- } deriving (Eq, Show, Generic)+splitByQuantifiers :: BindEnv -> [BindId] -> (BindEnv, EBindEnv)+splitByQuantifiers (BE i bs) ebs = ( BE i $ M.filterWithKey (\k _ -> not (elem k ebs)) bs+ , EB $ BE i $ M.filterWithKey (\k _ -> elem k ebs) bs+ ) +-- data SolEnv = SolEnv { soeBinds :: !BindEnv } +-- deriving (Eq, Show, Generic)+ instance PPrint a => PPrint (SEnv a) where pprintTidy k = pprintKVs k . L.sortBy (compare `on` fst) . toListSEnv @@ -168,10 +175,12 @@ -- | Functions for Indexed Bind Environment +instance Semigroup IBindEnv where+ (FB e1) <> (FB e2) = FB (e1 <> e2) instance Monoid IBindEnv where- mempty = emptyIBindEnv- mappend (FB e1) (FB e2) = FB (e1 `mappend` e2)+ mempty = emptyIBindEnv+ mappend = (<>) emptyIBindEnv :: IBindEnv emptyIBindEnv = FB S.empty@@ -249,6 +258,11 @@ instance Functor SEnv where fmap = mapSEnv +instance Fixpoint EBindEnv where+ toFix (EB (BE _ m)) = vcat $ map toFixBind $ hashMapToAscList m+ where+ toFixBind (i, (x, r)) = "ebind" <+> toFix i <+> toFix x <+> ": { " <+> toFix (sr_sort r) <+> " }"+ instance Fixpoint BindEnv where toFix (BE _ m) = vcat $ map toFixBind $ hashMapToAscList m where@@ -260,15 +274,20 @@ instance Fixpoint (SEnv a) => Show (SEnv a) where show = render . toFix +instance Semigroup (SEnv a) where+ s1 <> s2 = SE $ M.union (seBinds s1) (seBinds s2)+ instance Monoid (SEnv a) where mempty = SE M.empty- mappend s1 s2 = SE $ M.union (seBinds s1) (seBinds s2) +instance Semigroup BindEnv where+ (BE 0 _) <> b = b+ b <> (BE 0 _) = b+ _ <> _ = errorstar "mappend on non-trivial BindEnvs"+ instance Monoid BindEnv where- mempty = BE 0 M.empty- mappend (BE 0 _) b = b- mappend b (BE 0 _) = b- mappend _ _ = errorstar "mappend on non-trivial BindEnvs"+ mempty = BE 0 M.empty+ mappend = (<>) envCs :: BindEnv -> IBindEnv -> [(Symbol, SortedReft)] envCs be env = [lookupBindEnv i be | i <- elemsIBindEnv env]@@ -306,9 +325,12 @@ instance PPrint Packs where pprintTidy _ = toFix +instance Semigroup Packs where+ m1 <> m2 = Packs $ M.union (packm m1) (packm m2)+ instance Monoid Packs where- mempty = Packs mempty- mappend m1 m2 = Packs $ M.union (packm m1) (packm m2)+ mempty = Packs mempty+ mappend = (<>) getPack :: KVar -> Packs -> Maybe Int getPack k (Packs m) = M.lookup k m
@@ -22,9 +22,10 @@ , FixResult (..) , colorResult , resultDoc+ , resultExit - -- * Abstract Error Type- , Error+ -- * Error Type+ , Error, Error1 -- * Constructor , err@@ -32,6 +33,7 @@ -- * Accessors , errLoc , errMsg+ , errs -- * Adding Insult to Injury , catError@@ -49,10 +51,12 @@ , errIllScopedKVar ) where +import System.Exit (ExitCode (..)) import Control.Exception import Data.Serialize (Serialize (..)) import Data.Generics (Data) import Data.Typeable+import Data.Semigroup (Semigroup (..)) import Control.DeepSeq -- import Data.Hashable import qualified Data.Binary as B@@ -60,19 +64,17 @@ import Language.Fixpoint.Types.PrettyPrint import Language.Fixpoint.Types.Spans import Language.Fixpoint.Misc-import Text.PrettyPrint.HughesPJ+import Text.PrettyPrint.HughesPJ.Compat -- import Text.Printf import Data.Function (on) -- import Debug.Trace -#if MIN_VERSION_pretty(1,1,3) import qualified Text.PrettyPrint.Annotated.HughesPJ as Ann deriving instance Generic (Ann.AnnotDetails a) instance Serialize a => Serialize (Ann.AnnotDetails a) instance Serialize a => Serialize (Ann.Doc a)-#endif instance Serialize Error1 -- FIXME: orphans are bad...@@ -91,6 +93,10 @@ newtype Error = Error [Error1] deriving (Eq, Ord, Show, Typeable, Generic) ++errs :: Error -> [Error1]+errs (Error es) = es + data Error1 = Error1 { errLoc :: SrcSpan , errMsg :: Doc@@ -100,7 +106,7 @@ compare = compare `on` errLoc instance PPrint Error1 where- pprintTidy k (Error1 l msg) = (pprintTidy k l <> ": Error")+ pprintTidy k (Error1 l msg) = (pprintTidy k l <-> ": Error") $+$ nest 2 msg instance PPrint Error where@@ -172,13 +178,16 @@ Safe == Safe = True _ == _ = False +instance Semigroup (FixResult a) where+ Safe <> x = x+ x <> Safe = x+ _ <> c@(Crash{}) = c+ c@(Crash{}) <> _ = c+ (Unsafe xs) <> (Unsafe ys) = Unsafe (xs ++ ys)+ instance Monoid (FixResult a) where- mempty = Safe- mappend Safe x = x- mappend x Safe = x- mappend _ c@(Crash _ _) = c- mappend c@(Crash _ _) _ = c- mappend (Unsafe xs) (Unsafe ys) = Unsafe (xs ++ ys)+ mempty = Safe+ mappend = (<>) instance Functor FixResult where fmap f (Crash xs msg) = Crash (f <$> xs) msg@@ -194,6 +203,11 @@ colorResult (Safe) = Happy colorResult (Unsafe _) = Angry colorResult (_) = Sad++resultExit :: FixResult a -> ExitCode+resultExit Safe = ExitSuccess+resultExit (Unsafe _) = ExitFailure 1+resultExit _ = ExitFailure 2 --------------------------------------------------------------------- -- | Catalogue of Errors --------------------------------------------
@@ -43,15 +43,18 @@ import Control.Monad.State.Lazy import Data.Maybe (fromMaybe)+import Data.Semigroup (Semigroup (..)) import qualified Language.Fixpoint.SortCheck as So import Language.Fixpoint.Solver.Sanitize (symbolEnv) data GSol = GSol !SymEnv !(M.HashMap KVar (Expr, GradInfo)) +instance Semigroup GSol where+ (GSol e1 m1) <> (GSol e2 m2) = GSol (e1 <> e2) (m1 <> m2)+ instance Monoid GSol where mempty = GSol mempty mempty- mappend (GSol e1 m1) (GSol e2 m2) = GSol (mappend e1 e2) (mappend m1 m2) instance Show GSol where show (GSol _ m) = "GSOL = \n" ++ unlines ((\(k,(e, i)) -> showpp k ++ showInfo i ++ " |-> " ++ showpp (tx e)) <$> M.toList m)
@@ -45,6 +45,7 @@ -- * Destructors , stripPrefix+ , stripSuffix , consSym , unconsSym , dropSym@@ -75,6 +76,7 @@ , kArgSymbol , existSymbol , suffixSymbol+ , mappendSym -- * Unwrapping Symbols , unLitSymbol@@ -90,6 +92,7 @@ , setConName , mapConName , strConName+ , charConName , nilName , consName , vvName@@ -100,6 +103,7 @@ , bvOrName , propConName -- HKT , tyAppName+ , isPrim , prims , mulFuncName , divFuncName@@ -108,6 +112,7 @@ , setToIntName, bitVecToIntName, mapToIntName, boolToIntName, realToIntName, toIntName , setApplyName, bitVecApplyName, mapApplyName, boolApplyName, realApplyName, intApplyName , applyName+ , coerceName , lambdaName , lamArgSymbol@@ -166,14 +171,16 @@ S i _ _ == S j _ _ = i == j instance Ord Symbol where- compare (S i _ _) (S j _ _) = compare i j+ -- compare (S i _ _) (S j _ _) = compare i j+ -- compare s1 s2 = compare (symbolString s1) (symbolString s2)+ compare s1 s2 = compare (symbolText s1) (symbolText s2) instance Interned Symbol where type Uninterned Symbol = T.Text newtype Description Symbol = DT T.Text deriving (Eq)- describe = DT+ describe = DT identify i t = S i t (encode t)- cache = sCache+ cache = sCache instance Uninternable Symbol where unintern (S _ t _) = t@@ -383,7 +390,10 @@ stripPrefix :: Symbol -> Symbol -> Maybe Symbol stripPrefix p x = symbol <$> T.stripPrefix (symbolText p) (symbolText x) +stripSuffix :: Symbol -> Symbol -> Maybe Symbol+stripSuffix p x = symbol <$> T.stripSuffix (symbolText p) (symbolText x) + -------------------------------------------------------------------------------- -- | Use this **EXCLUSIVELY** when you want to add stuff in front of a Symbol --------------------------------------------------------------------------------@@ -425,7 +435,7 @@ unLitSymbol = stripPrefix litPrefix intSymbol :: (Show a) => Symbol -> a -> Symbol-intSymbol x i = x `suffixSymbol` (symbol $ show i)+intSymbol x i = x `suffixSymbol` symbol (show i) tempSymbol :: Symbol -> Integer -> Symbol tempSymbol prefix = intSymbol (tempPrefix `mappendSym` prefix)@@ -508,6 +518,7 @@ buildMany [] = mempty buildMany [b] = b buildMany (b:bs) = b <> mconcat [ " " <> b | b <- bs ]+ ---------------------------------------------------------------------------- --------------- Global Name Definitions ------------------------------------ ----------------------------------------------------------------------------@@ -545,6 +556,9 @@ applyName :: Symbol applyName = "apply" +coerceName :: Symbol+coerceName = "coerce"+ preludeName, dummyName, boolConName, funConName :: Symbol preludeName = "Prelude" dummyName = "LIQUID$dummy"@@ -562,8 +576,9 @@ propConName = "Prop" _hpropConName = "HProp" -strConName :: (IsString a) => a+strConName, charConName :: (IsString a) => a strConName = "Str"+charConName = "Char" -- symSepName :: Char -- symSepName = '#' -- DO NOT EVER CHANGE THIS @@ -586,36 +601,44 @@ mulFuncName = "Z3_OP_MUL" divFuncName = "Z3_OP_DIV" -prims :: [Symbol]-prims = [ propConName- , _hpropConName- , vvName- , "Pred"- , "List"- , "[]"- , setConName- , "Set_sng"- , "Set_cup"- , "Set_cap"- , "Set_dif"- , "Set_emp"- , "Set_empty"- , "Set_mem"- , "Set_sub"- , mapConName- , "Map_select"- , "Map_store"- , "Map_union"- , "Map_default"- , size32Name- , size64Name- , bitVecName- , bvOrName- , bvAndName- , "FAppTy"- , nilName- , consName- ]+isPrim :: Symbol -> Bool +isPrim x = S.member x prims ++prims :: S.HashSet Symbol+prims = S.fromList + [ propConName+ , _hpropConName+ , vvName+ , "Pred"+ , "List"+ , "[]"+ , "bool"+ -- , "int"+ -- , "real"+ , setConName+ , charConName+ , "Set_sng"+ , "Set_cup"+ , "Set_cap"+ , "Set_dif"+ , "Set_emp"+ , "Set_empty"+ , "Set_mem"+ , "Set_sub"+ , mapConName+ , "Map_select"+ , "Map_store"+ , "Map_union"+ , "Map_default"+ , size32Name+ , size64Name+ , bitVecName+ , bvOrName+ , bvAndName+ , "FAppTy"+ , nilName+ , consName+ ] {- -------------------------------------------------------------------------------
@@ -6,16 +6,16 @@ module Language.Fixpoint.Types.PrettyPrint where import Debug.Trace (trace)-import Text.PrettyPrint.HughesPJ+import Text.PrettyPrint.HughesPJ.Compat import qualified Text.PrettyPrint.Boxes as B import qualified Data.HashMap.Strict as M import qualified Data.HashSet as S import qualified Data.List as L import Language.Fixpoint.Misc import Data.Hashable+import Data.Semigroup (Semigroup (..)) import qualified Data.Text as T - traceFix :: (Fixpoint a) => String -> a -> a traceFix s x = trace ("\nTrace: [" ++ s ++ "] : " ++ showFix x) x @@ -66,7 +66,6 @@ toFix = double ------------------------------------------------------------------- data Tidy = Lossy | Full deriving (Eq, Ord) -- | Implement either `pprintTidy` or `pprintPrec`@@ -98,6 +97,10 @@ instance PPrint Doc where pprintTidy _ = id +instance (PPrint a, PPrint b) => PPrint (Either a b) where + pprintTidy k (Left a) = "Left" <+> pprintTidy k a+ pprintTidy k (Right b) = "Right" <+> pprintTidy k b+ instance PPrint a => PPrint (Maybe a) where pprintTidy k = maybe "Nothing" (("Just" <+>) . pprintTidy k) @@ -116,23 +119,23 @@ pp1 (x,y) = pprintTidy t x <+> ":=" <+> pprintTidy t y instance (PPrint a, PPrint b, PPrint c) => PPrint (a, b, c) where- pprintTidy k (x, y, z) = parens $ pprintTidy k x <> "," <+>- pprintTidy k y <> "," <+>+ pprintTidy k (x, y, z) = parens $ pprintTidy k x <-> "," <+>+ pprintTidy k y <-> "," <+> pprintTidy k z instance (PPrint a, PPrint b, PPrint c, PPrint d) => PPrint (a, b, c, d) where- pprintTidy k (w, x, y, z) = parens $ pprintTidy k w <> "," <+>- pprintTidy k x <> "," <+>- pprintTidy k y <> "," <+>+ pprintTidy k (w, x, y, z) = parens $ pprintTidy k w <-> "," <+>+ pprintTidy k x <-> "," <+>+ pprintTidy k y <-> "," <+> pprintTidy k z instance (PPrint a, PPrint b, PPrint c, PPrint d, PPrint e) => PPrint (a, b, c, d, e) where- pprintTidy k (v, w, x, y, z) = parens $ pprintTidy k v <> "," <+>- pprintTidy k w <> "," <+>- pprintTidy k x <> "," <+>- pprintTidy k y <> "," <+>+ pprintTidy k (v, w, x, y, z) = parens $ pprintTidy k v <-> "," <+>+ pprintTidy k w <-> "," <+>+ pprintTidy k x <-> "," <+>+ pprintTidy k y <-> "," <+> pprintTidy k z @@ -165,9 +168,12 @@ newtype DocTable = DocTable [(Doc, Doc)] +instance Semigroup DocTable where+ DocTable t1 <> DocTable t2 = DocTable (t1 ++ t2)+ instance Monoid DocTable where- mempty = DocTable []- mappend (DocTable t1) (DocTable t2) = DocTable (t1 ++ t2)+ mempty = DocTable []+ mappend = (<>) class PTable a where ptable :: a -> DocTable
@@ -70,6 +70,7 @@ , isNonTrivial , isContraPred , isTautoPred+ , isSingletonExpr , isSingletonReft , isFalse @@ -79,6 +80,7 @@ , eApps , eAppC , splitEApp+ , splitPAnd , reftConjuncts -- * Transforming@@ -94,31 +96,29 @@ ) where +import Prelude hiding ((<>)) import qualified Data.Binary as B import Data.Generics (Data) import Data.Typeable (Typeable) import Data.Hashable import GHC.Generics (Generic)-import Data.List (foldl', partition) -- , sort, sortBy)+import Data.List (foldl', partition) import Data.String import Data.Text (Text) import qualified Data.Text as T+import qualified Data.HashMap.Strict as M import Control.DeepSeq import Data.Maybe (isJust)--- import Text.Printf (printf)--- import Language.Fixpoint.Types.Config import Language.Fixpoint.Types.Names import Language.Fixpoint.Types.PrettyPrint--- import Language.Fixpoint.Types.Errors import Language.Fixpoint.Types.Spans import Language.Fixpoint.Types.Sorts import Language.Fixpoint.Misc--- import Text.Parsec.Pos-import Text.PrettyPrint.HughesPJ--- import Data.Array hiding (indices)-import qualified Data.HashMap.Strict as M--- import qualified Data.HashSet as S+import Text.PrettyPrint.HughesPJ.Compat +-- import Text.Printf (printf)++ instance NFData KVar instance NFData SrcSpan instance NFData Subst@@ -135,6 +135,7 @@ put = B.put . M.toList get = M.fromList <$> B.get +instance (Eq a, Hashable a, B.Binary a) => B.Binary (TCEmb a) instance B.Binary SrcSpan instance B.Binary KVar instance B.Binary Subst@@ -191,7 +192,6 @@ refaConjuncts :: Expr -> [Expr] refaConjuncts p = [p' | p' <- conjuncts p, not $ isTautoPred p'] - -------------------------------------------------------------------------------- -- | Kvars --------------------------------------------------------------------- --------------------------------------------------------------------------------@@ -210,6 +210,9 @@ instance Hashable Bop instance Hashable SymConst instance Hashable Constant+instance Hashable GradInfo +instance Hashable Subst +instance Hashable Expr -------------------------------------------------------------------------------- -- | Substitutions -------------------------------------------------------------@@ -223,7 +226,7 @@ instance Fixpoint Subst where toFix (Su m) = case hashMapToAscList m of [] -> empty- xys -> hcat $ map (\(x,y) -> brackets $ toFix x <> text ":=" <> toFix y) xys+ xys -> hcat $ map (\(x,y) -> brackets $ toFix x <-> text ":=" <-> toFix y) xys instance PPrint Subst where pprintTidy _ = toFix@@ -257,7 +260,7 @@ data Bop = Plus | Minus | Times | Div | Mod | RTimes | RDiv deriving (Eq, Ord, Show, Data, Typeable, Generic)- -- NOTE: For "Mod" 2nd expr should be a constant or a var *)+ -- NOTE: For "Mod" 2nd expr should be a constant or a var *) data Expr = ESym !SymConst | ECon !Constant@@ -314,6 +317,10 @@ go acc (EApp f e) = go (e:acc) f go acc e = (e, acc) +splitPAnd :: Expr -> [Expr]+splitPAnd (PAnd es) = concatMap splitPAnd es+splitPAnd e = [e]+ eAppC :: Sort -> Expr -> Expr -> Expr eAppC s e1 e2 = ECst (EApp e1 e2) s @@ -358,7 +365,7 @@ instance Fixpoint Constant where toFix (I i) = toFix i toFix (R i) = toFix i- toFix (L s t) = parens $ text "lit" <+> text "\"" <> toFix s <> text "\"" <+> toFix t+ toFix (L s t) = parens $ text "lit" <+> text "\"" <-> toFix s <-> text "\"" <+> toFix t -------------------------------------------------------------------------------- -- | String Constants ----------------------------------------------------------@@ -373,14 +380,14 @@ encodeSymConst :: SymConst -> Symbol encodeSymConst (SL s) = litSymbol $ symbol s -_decodeSymConst :: Symbol -> Maybe SymConst-_decodeSymConst = fmap (SL . symbolText) . unLitSymbol+-- _decodeSymConst :: Symbol -> Maybe SymConst+-- _decodeSymConst = fmap (SL . symbolText) . unLitSymbol instance Fixpoint SymConst where toFix = toFix . encodeSymConst instance Fixpoint KVar where- toFix (KV k) = text "$" <> toFix k+ toFix (KV k) = text "$" <-> toFix k instance Fixpoint Brel where toFix Eq = text "="@@ -421,7 +428,7 @@ toFix (PAnd ps) = text "&&" <+> toFix ps toFix (POr ps) = text "||" <+> toFix ps toFix (PAtom r e1 e2) = parens $ toFix e1 <+> toFix r <+> toFix e2- toFix (PKVar k su) = toFix k <> toFix su+ toFix (PKVar k su) = toFix k <-> toFix su toFix (PAll xts p) = "forall" <+> (toFix xts $+$ ("." <+> toFix p)) toFix (PExist xts p) = "exists" <+> (toFix xts@@ -429,7 +436,7 @@ toFix (ETApp e s) = text "tapp" <+> toFix e <+> toFix s toFix (ETAbs e s) = text "tabs" <+> toFix e <+> toFix s toFix (PGrad k _ _ e) = toFix e <+> text "&&" <+> toFix k -- text "??" -- <+> toFix k <+> toFix su- toFix (ECoerc a t e) = text "coerce" <+> toFix a <+> text "~" <+> toFix t <+> text "in" <+> toFix e -- text "??" -- <+> toFix k <+> toFix su+ toFix (ECoerc a t e) = parens (text "coerce" <+> toFix a <+> text "~" <+> toFix t <+> text "in" <+> toFix e) toFix (ELam (x,s) e) = text "lam" <+> toFix x <+> ":" <+> toFix s <+> "." <+> toFix e simplify (PAnd []) = PTrue@@ -505,8 +512,11 @@ instance PPrint Sort where pprintTidy _ = toFix +instance PPrint a => PPrint (TCEmb a) where + pprintTidy k = pprintTidy k . tceToList + instance PPrint KVar where- pprintTidy _ (KV x) = text "$" <> pprint x+ pprintTidy _ (KV x) = text "$" <-> pprint x instance PPrint SymConst where pprintTidy _ (SL x) = doubleQuotes $ text $ T.unpack x@@ -550,7 +560,7 @@ pprintPrec _ k (EVar s) = pprintTidy k s -- pprintPrec _ (EBot) = text "_|_" pprintPrec z k (ENeg e) = parensIf (z > zn) $- "-" <> pprintPrec (zn + 1) k e+ "-" <-> pprintPrec (zn + 1) k e where zn = 2 pprintPrec z k (EApp f es) = parensIf (z > za) $ pprintPrec za k f <+> pprintPrec (za+1) k es@@ -567,8 +577,8 @@ where zi = 1 -- RJ: DO NOT DELETE!- pprintPrec _ k (ECst e so) = parens $ pprint e <+> ":" <+> {- const (text "...") -} (pprintTidy k so)- -- pprintPrec z k (ECst e _) = pprintPrec z k e+ -- pprintPrec _ k (ECst e so) = parens $ pprint e <+> ":" <+> {- const (text "...") -} (pprintTidy k so)+ pprintPrec z k (ECst e _) = pprintPrec z k e pprintPrec _ _ PTrue = trueD pprintPrec _ _ PFalse = falseD pprintPrec z k (PNot p) = parensIf (z > zn) $@@ -692,6 +702,9 @@ isSingletonExpr v (PAtom r e1 e2) | e1 == EVar v && isEq r = Just e2 | e2 == EVar v && isEq r = Just e1+isSingletonExpr v (PIff e1 e2) + | e1 == EVar v = Just e2+ | e2 == EVar v = Just e1 isSingletonExpr _ _ = Nothing pAnd, pOr :: ListNE Pred -> Pred@@ -820,7 +833,7 @@ ------------------------------------------------------------------------- class Subable a where- syms :: a -> [Symbol]+ syms :: a -> [Symbol] -- ^ free symbols of a substa :: (Symbol -> Symbol) -> a -> a -- substa f = substf (EVar . f)
@@ -6,8 +6,11 @@ {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE GADTs #-}+{-# LANGUAGE BangPatterns #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveAnyClass #-}+{-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE TupleSections #-} @@ -18,13 +21,15 @@ -- * Solution tables Solution, GSolution- , Sol (gMap, sEnv), updateGMap, updateGMapWithKey+ , Sol (gMap, sEnv, sEbd, sxEnv)+ , updateGMap, updateGMapWithKey , sScp , CMap -- * Solution elements , Hyp, Cube (..), QBind, GBind , EQual (..)+ , EbindSol (..) -- * Equal elements , eQual@@ -41,6 +46,7 @@ -- * Update , update+ , updateEbind -- * Lookup , lookupQBind@@ -66,16 +72,17 @@ import Prelude hiding (lookup) import GHC.Generics import Control.DeepSeq-import Data.Maybe (fromMaybe) import Data.Hashable-import qualified Data.HashMap.Strict as M-import qualified Data.List as L+import qualified Data.Maybe as Mb +import qualified Data.HashMap.Strict as M+import qualified Data.List as L import Data.Generics (Data)+import Data.Semigroup (Semigroup (..)) import Data.Typeable (Typeable) import Control.Monad (filterM)--- import qualified Data.HashSet as S import Language.Fixpoint.Misc import Language.Fixpoint.Types.PrettyPrint+import Language.Fixpoint.Types.Spans import Language.Fixpoint.Types.Names import Language.Fixpoint.Types.Sorts import Language.Fixpoint.Types.Theories@@ -84,7 +91,7 @@ import Language.Fixpoint.Types.Constraints import Language.Fixpoint.Types.Substitutions import Language.Fixpoint.SortCheck (elaborate)-import Text.PrettyPrint.HughesPJ+import Text.PrettyPrint.HughesPJ.Compat -------------------------------------------------------------------------------- -- | Update Solution -----------------------------------------------------------@@ -115,13 +122,14 @@ oldQs = lookupQBind s k change = qbSize oldQs /= qbSize qs + -------------------------------------------------------------------------------- -- | The `Solution` data type -------------------------------------------------- -------------------------------------------------------------------------------- type Solution = Sol () QBind type GSolution = Sol (((Symbol, Sort), Expr), GBind) QBind-newtype QBind = QB [EQual] deriving (Show, Data, Typeable, Generic, Eq)-newtype GBind = GB [[EQual]] deriving (Show, Data, Typeable, Generic)+newtype QBind = QB [EQual] deriving (Show, Data, Typeable, Generic, Eq)+newtype GBind = GB [[EQual]] deriving (Show, Data, Typeable, Generic) emptyGMap :: GSolution -> GSolution emptyGMap sol = mapGMap sol (\(x,_) -> (x, GB []))@@ -167,41 +175,81 @@ pprintTidy k = pprintTidy k . qbEQuals --------------------------------------------------------------------------------+-- | An `EbindSol` contains the relevant information for an existential-binder;+-- (See tests/pos/ebind-*.fq for examples.) This is either +-- 1. the constraint whose HEAD is a singleton that defines the binder, OR +-- 2. the solved out TERM that we should use in place of the ebind at USES.+--------------------------------------------------------------------------------+data EbindSol+ = EbDef [SimpC ()] Symbol -- ^ The constraint whose HEAD "defines" the Ebind+ -- and the @Symbol@ for that EBind+ | EbSol Expr -- ^ The solved out term that should be used at USES.+ | EbIncr -- ^ EBinds not to be solved for (because they're currently being solved for)+ deriving (Show, Generic, NFData)++instance PPrint EbindSol where + pprintTidy k (EbDef i x) = "EbDef:" <+> pprintTidy k i <+> pprintTidy k x+ pprintTidy k (EbSol e) = "EbSol:" <+> pprintTidy k e+ pprintTidy _ (EbIncr) = "EbIncr"++--------------------------------------------------------------------------------+updateEbind :: Sol a b -> BindId -> Pred -> Sol a b +--------------------------------------------------------------------------------+updateEbind s i !e = case M.lookup i (sEbd s) of + Nothing -> errorstar $ "updateEBind: Unknown ebind " ++ show i+ Just (EbSol e0) -> errorstar $ "updateEBind: Re-assigning ebind " ++ show i ++ " with solution: " ++ show e0 + Just _ -> s { sEbd = M.insert i (EbSol e) (sEbd s) }+ +-------------------------------------------------------------------------------- -- | A `Sol` contains the various indices needed to compute a solution, -- in particular, to compute `lhsPred` for any given constraint. -------------------------------------------------------------------------------- data Sol b a = Sol- { sEnv :: !SymEnv -- ^ Environment used to elaborate solutions- , sMap :: !(M.HashMap KVar a) -- ^ Actual solution (for cut kvar)- , gMap :: !(M.HashMap KVar b) -- ^ Solution for gradual variables- , sHyp :: !(M.HashMap KVar Hyp) -- ^ Defining cubes (for non-cut kvar)- , sScp :: !(M.HashMap KVar IBindEnv) -- ^ set of allowed binders for kvar- }+ { sEnv :: !SymEnv -- ^ Environment used to elaborate solutions+ , sMap :: !(M.HashMap KVar a) -- ^ Actual solution (for cut kvar)+ , gMap :: !(M.HashMap KVar b) -- ^ Solution for gradual variables+ , sHyp :: !(M.HashMap KVar Hyp) -- ^ Defining cubes (for non-cut kvar)+ , sScp :: !(M.HashMap KVar IBindEnv) -- ^ Set of allowed binders for kvar+ , sEbd :: !(M.HashMap BindId EbindSol) -- ^ EbindSol for each existential binder+ , sxEnv :: !(SEnv (BindId, Sort)) -- TODO: merge with sEnv? used for sorts of ebinds to solve ebinds in lhsPred+ } deriving (Generic) +deriving instance (NFData b, NFData a) => NFData (Sol b a)+ updateGMap :: Sol b a -> M.HashMap KVar b -> Sol b a updateGMap sol gmap = sol {gMap = gmap} - mapGMap :: Sol b a -> (b -> b) -> Sol b a mapGMap sol f = sol {gMap = M.map f (gMap sol)} +instance Semigroup (Sol a b) where+ s1 <> s2 = Sol { sEnv = (sEnv s1) <> (sEnv s2)+ , sMap = (sMap s1) <> (sMap s2)+ , gMap = (gMap s1) <> (gMap s2)+ , sHyp = (sHyp s1) <> (sHyp s2)+ , sScp = (sScp s1) <> (sScp s2)+ , sEbd = (sEbd s1) <> (sEbd s2) + , sxEnv = (sxEnv s1) <> (sxEnv s2) + } instance Monoid (Sol a b) where- mempty = Sol mempty mempty mempty mempty mempty- mappend s1 s2 = Sol { sEnv = mappend (sEnv s1) (sEnv s2)- , sMap = mappend (sMap s1) (sMap s2)- , gMap = mappend (gMap s1) (gMap s2)- , sHyp = mappend (sHyp s1) (sHyp s2)- -- , sBot = mappend (sBot s1) (sBot s2)- , sScp = mappend (sScp s1) (sScp s2)- }+ mempty = Sol { sEnv = mempty + , sMap = mempty + , gMap = mempty + , sHyp = mempty + , sScp = mempty + , sEbd = mempty+ , sxEnv = mempty+ }+ mappend = (<>) instance Functor (Sol a) where- fmap f (Sol e s m1 m2 m3) = Sol e (f <$> s) m1 m2 m3+ fmap f (Sol e s m1 m2 m3 m4 m5) = Sol e (f <$> s) m1 m2 m3 m4 m5 instance (PPrint a, PPrint b) => PPrint (Sol a b) where- pprintTidy k = pprintTidy k . sMap-+ pprintTidy k s = vcat [ "sMap :=" <+> pprintTidy k (sMap s)+ , "sEbd :=" <+> pprintTidy k (sEbd s) + ] -------------------------------------------------------------------------------- -- | A `Cube` is a single constraint defining a KVar ---------------------------@@ -213,7 +261,7 @@ , cuSubst :: Subst -- ^ Substitutions from cstrs Rhs , cuId :: SubcId -- ^ Id of defining Cstr , cuTag :: Tag -- ^ Tag of defining Cstr (DEBUG)- }+ } deriving (Generic, NFData) instance PPrint Cube where pprintTidy _ c = "Cube" <+> pprint (cuId c)@@ -238,28 +286,39 @@ -------------------------------------------------------------------------------- -- | Create a Solution --------------------------------------------------------- ---------------------------------------------------------------------------------fromList :: SymEnv -> [(KVar, a)] -> [(KVar, b)] -> [(KVar, Hyp)] -> M.HashMap KVar IBindEnv -> Sol a b-fromList env kGs kXs kYs = Sol env kXm kGm kYm -- kBm+fromList :: SymEnv + -> [(KVar, a)] + -> [(KVar, b)] + -> [(KVar, Hyp)] + -> M.HashMap KVar IBindEnv + -> [(BindId, EbindSol)]+ -> SEnv (BindId, Sort)+ -> Sol a b+fromList env kGs kXs kYs z ebs xbs+ = Sol env kXm kGm kYm z ebm xbs where- kXm = M.fromList kXs- kYm = M.fromList kYs- kGm = M.fromList kGs- -- kBm = const () <$> kXm+ kXm = M.fromList kXs+ kYm = M.fromList kYs+ kGm = M.fromList kGs+ ebm = M.fromList ebs -------------------------------------------------------------------------------- qbPreds :: String -> Sol a QBind -> Subst -> QBind -> [(Pred, EQual)] -------------------------------------------------------------------------------- qbPreds msg s su (QB eqs) = [ (elabPred eq, eq) | eq <- eqs ] where- elabPred = elaborate ("qbPreds:" ++ msg) env . subst su . eqPred- env = sEnv s+ elabPred eq = elaborate (atLoc eq $ "qbPreds:" ++ msg) env + . subst su + . eqPred + $ eq+ env = sEnv s -------------------------------------------------------------------------------- -- | Read / Write Solution at KVar --------------------------------------------- -------------------------------------------------------------------------------- lookupQBind :: Sol a QBind -> KVar -> QBind ---------------------------------------------------------------------------------lookupQBind s k = {- tracepp _msg $ -} fromMaybe (QB []) (lookupElab s k)+lookupQBind s k = {- tracepp _msg $ -} Mb.fromMaybe (QB []) (lookupElab s k) where _msg = "lookupQB: k = " ++ show k @@ -310,11 +369,14 @@ -- | Instantiated Qualifiers --------------------------------------------------- -------------------------------------------------------------------------------- data EQual = EQL- { _eqQual :: !Qualifier+ { eqQual :: !Qualifier , eqPred :: !Expr , _eqArgs :: ![Expr] } deriving (Eq, Show, Data, Typeable, Generic) +instance Loc EQual where + srcSpan = srcSpan . eqQual + trueEqual :: EQual trueEqual = EQL trueQual mempty [] @@ -330,7 +392,7 @@ p = subst su $ qBody q su = mkSubst $ safeZip "eQual" qxs es es = eVar <$> xs- qxs = fst <$> qParams q+ qxs = qpSym <$> qParams q -------------------------------------------------------------------------------- -- | A KIndex uniquely identifies each *use* of a KVar in an (LHS) binder
@@ -1,9 +1,10 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE TupleSections #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveFunctor #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE NoMonomorphismRestriction #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE UndecidableInstances #-}@@ -19,11 +20,11 @@ module Language.Fixpoint.Types.Sorts ( - -- * Embedding to Fixpoint Types+ -- * Fixpoint Types Sort (..)- , Sub (..)- , FTycon, TCEmb+ , FTycon+ , sortFTycon , intFTyCon , boolFTyCon@@ -32,9 +33,11 @@ , strFTyCon , setFTyCon , mapFTyCon -- TODO: hide these+ , mapFVar , basicSorts, intSort, realSort, boolSort, strSort, funcSort- , setSort, bitVecSort, mapSort+ , setSort, bitVecSort, mapSort, charSort+ , listFTyCon , isListTC , sizeBv@@ -47,11 +50,14 @@ , fObj , unFApp , unAbs+ , sortAbs + , mkSortSubst , sortSubst , functionSort , mkFFunc , bkFFunc+ , mkPoly , isNumeric, isReal, isString, isPolyInst @@ -59,7 +65,17 @@ , DataField (..) , DataCtor (..) , DataDecl (..)+ , muSort + -- * Embedding Source types as Sorts+ , TCEmb, TCArgs (..)+ , tceLookup + , tceFromList + , tceToList+ , tceMember + , tceInsert+ , tceInsertWith+ , tceMap ) where import qualified Data.Binary as B@@ -67,7 +83,7 @@ import Data.Typeable (Typeable) import GHC.Generics (Generic) -import Data.Monoid ()+import Data.Semigroup (Semigroup (..)) import Data.Hashable import Data.List (foldl') import Control.DeepSeq@@ -76,12 +92,11 @@ import Language.Fixpoint.Types.PrettyPrint import Language.Fixpoint.Types.Spans import Language.Fixpoint.Misc-import Text.PrettyPrint.HughesPJ+import Text.PrettyPrint.HughesPJ.Compat import qualified Data.HashMap.Strict as M-+import qualified Data.List as L data FTycon = TC LocSymbol TCInfo deriving (Ord, Show, Data, Typeable, Generic)-type TCEmb a = M.HashMap a Sort -- FTycon -- instance Show FTycon where -- show (TC s _) = show (val s)@@ -98,9 +113,12 @@ mappendFTC :: FTycon -> FTycon -> FTycon mappendFTC (TC x i1) (TC _ i2) = TC x (mappend i1 i2) +instance Semigroup TCInfo where+ TCInfo i1 i2 i3 <> TCInfo i1' i2' i3' = TCInfo (i1 || i1') (i2 || i2') (i3 || i3')+ instance Monoid TCInfo where- mempty = TCInfo defNumInfo defRealInfo defStrInfo- mappend (TCInfo i1 i2 i3) (TCInfo i1' i2' i3') = TCInfo (i1 || i1') (i2 || i2') (i3 || i3')+ mempty = TCInfo defNumInfo defRealInfo defStrInfo+ mappend = (<>) defTcInfo, numTcInfo, realTcInfo, strTcInfo :: TCInfo defTcInfo = TCInfo defNumInfo defRealInfo defStrInfo@@ -122,7 +140,7 @@ funcFTyCon = TC (dummyLoc "function" ) defTcInfo strFTyCon = TC (dummyLoc strConName ) strTcInfo listFTyCon = TC (dummyLoc listConName) defTcInfo-charFTyCon = TC (dummyLoc "Char" ) defTcInfo+charFTyCon = TC (dummyLoc charConName) defTcInfo setFTyCon = TC (dummyLoc setConName ) defTcInfo mapFTyCon = TC (dummyLoc mapConName ) defTcInfo @@ -152,7 +170,7 @@ | otherwise = TC c tcinfo where- tcinfo = defTcInfo{tc_isNum = isNum, tc_isReal = isReal}+ tcinfo = defTcInfo { tc_isNum = isNum, tc_isReal = isReal} @@ -205,6 +223,26 @@ go vs ss (FFunc s1 s2) = go vs (s1:ss) s2 go vs ss t = (reverse vs, reverse ss, t) ++sortAbs :: Sort -> Int +sortAbs (FAbs i s) = max i (sortAbs s) +sortAbs (FFunc s1 s2) = max (sortAbs s1) (sortAbs s2) +sortAbs (FApp s1 s2) = max (sortAbs s1) (sortAbs s2)+sortAbs _ = -1 ++mapFVar :: (Int -> Int) -> Sort -> Sort +mapFVar f = go + where go (FVar i) = FVar (f i)+ go (FAbs i t) = FAbs (f i) (go t)+ go (FFunc t1 t2) = FFunc (go t1) (go t2)+ go (FApp t1 t2) = FApp (go t1) (go t2)+ go t@(FObj _) = t + go t@(FTC _) = t + go t@FInt = t + go t@FReal = t + go t@FNum = t + go t@FFrac = t + -------------------------------------------------------------------------------- -- | Sorts --------------------------------------------------------------------- --------------------------------------------------------------------------------@@ -233,7 +271,7 @@ data DataDecl = DDecl { ddTyCon :: !FTycon -- ^ Name of defined datatype , ddVars :: !Int -- ^ Number of type variables- , ddCtors :: [DataCtor] -- ^ Datatype Ctors+ , ddCtors :: [DataCtor] -- ^ Datatype Ctors. Invariant: type variables bound in ctors are greater than ddVars } deriving (Eq, Ord, Show, Data, Typeable, Generic) instance Symbolic DataDecl where@@ -245,6 +283,17 @@ instance Symbolic DataCtor where symbol = val . dcName ++muSort :: [DataDecl] -> [DataDecl]+muSort dds = mapSortDataDecl tx <$> dds+ where+ selfs = [(fTyconSelfSort c n, fTyconSort c) | DDecl c n _ <- dds]+ tx t = fromMaybe t $ L.lookup t selfs ++ mapSortDataDecl f dd = dd { ddCtors = mapSortDataCTor f <$> ddCtors dd }+ mapSortDataCTor f ct = ct { dcFields = mapSortDataField f <$> dcFields ct }+ mapSortDataField f df = df { dfSort = f $ dfSort df }+ isFirstOrder, isFunction :: Sort -> Bool isFirstOrder (FFunc sx s) = not (isFunction sx) && isFirstOrder s isFirstOrder (FAbs _ s) = isFirstOrder s@@ -319,7 +368,10 @@ isPoly (FAbs {}) = True isPoly _ = False +mkPoly :: Int -> Sort -> Sort +mkPoly i s = foldl (flip FAbs) s [0..i] + instance Hashable FTycon where hashWithSalt i (TC s _) = hashWithSalt i s @@ -333,10 +385,8 @@ instance Fixpoint Sort where toFix = toFixSort -- toFixSort :: Sort -> Doc-toFixSort (FVar i) = text "@" <> parens (toFix i)+toFixSort (FVar i) = text "@" <-> parens (toFix i) toFixSort FInt = text "int" toFixSort FReal = text "real" toFixSort FFrac = text "frac"@@ -348,7 +398,7 @@ toFixSort t@(FApp _ _) = toFixFApp (unFApp t) toFixAbsApp :: Sort -> Doc-toFixAbsApp t = text "func" <> parens (toFix n <> text ", " <> toFix ts)+toFixAbsApp t = text "func" <-> parens (toFix n <+> text "," <+> toFix ts) where Just (vs, ss, s) = functionSort t n = length vs@@ -392,8 +442,9 @@ -- | Exported Basic Sorts ----------------------------------------------- ------------------------------------------------------------------------- -boolSort, intSort, realSort, strSort, funcSort :: Sort+boolSort, intSort, realSort, strSort, charSort, funcSort :: Sort boolSort = fTyconSort boolFTyCon+charSort = fTyconSort charFTyCon strSort = fTyconSort strFTyCon intSort = fTyconSort intFTyCon realSort = fTyconSort realFTyCon@@ -419,10 +470,15 @@ | otherwise = FTC c basicSorts :: [Sort]-basicSorts = [FInt, boolSort] -- , setSort, mapSort, bitVecSort]+basicSorts = [FInt, boolSort] +type SortSubst = M.HashMap Symbol Sort ++mkSortSubst :: [(Symbol, Sort)] -> SortSubst+mkSortSubst = M.fromList+ -------------------------------------------------------------------------sortSubst :: M.HashMap Symbol Sort -> Sort -> Sort+sortSubst :: SortSubst -> Sort -> Sort ------------------------------------------------------------------------ sortSubst θ t@(FObj x) = fromMaybe t (M.lookup x θ) sortSubst θ (FFunc t1 t2) = FFunc (sortSubst θ t1) (sortSubst θ t2)@@ -430,7 +486,8 @@ sortSubst θ (FAbs i t) = FAbs i (sortSubst θ t) sortSubst _ t = t -+-- instance (B.Binary a) => B.Binary (TCEmb a) +instance B.Binary TCArgs instance B.Binary FTycon instance B.Binary TCInfo instance B.Binary Sort@@ -442,7 +499,8 @@ instance NFData FTycon where rnf (TC x i) = x `seq` i `seq` () -+instance (NFData a) => NFData (TCEmb a) +instance NFData TCArgs instance NFData TCInfo instance NFData Sort instance NFData DataField@@ -450,11 +508,65 @@ instance NFData DataDecl instance NFData Sub --instance Monoid Sort where- mempty = FObj "any"- mappend t1 t2+instance Semigroup Sort where+ t1 <> t2 | t1 == mempty = t2 | t2 == mempty = t1 | t1 == t2 = t1 | otherwise = errorstar $ "mappend-sort: conflicting sorts t1 =" ++ show t1 ++ " t2 = " ++ show t2++instance Monoid Sort where+ mempty = FObj "any"+ mappend = (<>)++-------------------------------------------------------------------------------+-- | Embedding stuff as Sorts +-------------------------------------------------------------------------------+newtype TCEmb a = TCE (M.HashMap a (Sort, TCArgs)) + deriving (Eq, Show, Data, Typeable, Generic) ++data TCArgs = WithArgs | NoArgs + deriving (Eq, Ord, Show, Data, Typeable, Generic) ++tceInsertWith :: (Eq a, Hashable a) => (Sort -> Sort -> Sort) -> a -> Sort -> TCArgs -> TCEmb a -> TCEmb a+tceInsertWith f k t a (TCE m) = TCE (M.insertWith ff k (t, a) m)+ where + ff (t1, a1) (t2, a2) = (f t1 t2, a1 <> a2)++instance Semigroup TCArgs where + NoArgs <> NoArgs = NoArgs+ _ <> _ = WithArgs++instance Monoid TCArgs where + mempty = NoArgs + mappend = (<>)++instance PPrint TCArgs where + pprintTidy _ WithArgs = "*"+ pprintTidy _ NoArgs = ""++tceInsert :: (Eq a, Hashable a) => a -> Sort -> TCArgs -> TCEmb a -> TCEmb a+tceInsert k t a (TCE m) = TCE (M.insert k (t, a) m)++tceLookup :: (Eq a, Hashable a) => a -> TCEmb a -> Maybe (Sort, TCArgs) +tceLookup k (TCE m) = M.lookup k m++instance (Eq a, Hashable a) => Semigroup (TCEmb a) where + (TCE m1) <> (TCE m2) = TCE (m1 <> m2)++instance (Eq a, Hashable a) => Monoid (TCEmb a) where + mempty = TCE mempty + mappend = (<>)+++tceMap :: (Eq b, Hashable b) => (a -> b) -> TCEmb a -> TCEmb b+tceMap f = tceFromList . fmap (mapFst f) . tceToList ++tceFromList :: (Eq a, Hashable a) => [(a, (Sort, TCArgs))] -> TCEmb a+tceFromList = TCE . M.fromList ++tceToList :: TCEmb a -> [(a, (Sort, TCArgs))]+tceToList (TCE m) = M.toList m++tceMember :: (Eq a, Hashable a) => a -> TCEmb a -> Bool +tceMember k (TCE m) = M.member k m
@@ -25,6 +25,7 @@ -- * Destructing spans , sourcePosElts+ , srcLine ) where -- import Control.Exception@@ -111,7 +112,6 @@ instance Functor Located where fmap f (Loc l l' x) = Loc l l' (f x) - instance Foldable Located where foldMap f (Loc _ _ x) = f x @@ -140,6 +140,8 @@ instance (IsString a) => IsString (Located a) where fromString = dummyLoc . fromString +srcLine :: (Loc a) => a -> Int +srcLine = sourceLine . sp_start . srcSpan ----------------------------------------------------------------------- -- | A Reusable SrcSpan Type ------------------------------------------@@ -171,8 +173,14 @@ instance Hashable SrcSpan where hashWithSalt i z = hashWithSalt i (sp_start z, sp_stop z) +instance Loc SrcSpan where + srcSpan x = x + instance Loc () where srcSpan _ = dummySpan++instance Loc SourcePos where + srcSpan l = SS l l dummySpan :: SrcSpan dummySpan = panicSpan ""
@@ -14,17 +14,21 @@ import Data.Maybe import qualified Data.HashMap.Strict as M import qualified Data.HashSet as S+import Data.Semigroup (Semigroup (..)) import Language.Fixpoint.Types.PrettyPrint import Language.Fixpoint.Types.Names import Language.Fixpoint.Types.Sorts import Language.Fixpoint.Types.Refinements import Language.Fixpoint.Misc-import Text.PrettyPrint.HughesPJ+import Text.PrettyPrint.HughesPJ.Compat import Text.Printf (printf) +instance Semigroup Subst where+ (<>) = catSubst+ instance Monoid Subst where mempty = emptySubst- mappend = catSubst+ mappend = (<>) filterSubst :: (Symbol -> Expr -> Bool) -> Subst -> Subst filterSubst f (Su m) = Su (M.filterWithKey f m)@@ -38,7 +42,6 @@ s1' = subst θ2 <$> s1 mkSubst :: [(Symbol, Expr)] -> Subst- mkSubst = Su . M.fromList . reverse . filter notTrivial where notTrivial (x, EVar y) = x /= y@@ -50,6 +53,8 @@ targetSubstSyms :: Subst -> [Symbol] targetSubstSyms (Su ms) = syms $ M.elems ms ++ instance Subable () where syms _ = [] subst _ () = ()@@ -64,10 +69,17 @@ instance Subable a => Subable [a] where syms = concatMap syms- subst = map . subst- substf = map . substf- substa = map . substa+ subst = fmap . subst+ substf = fmap . substf+ substa = fmap . substa +instance Subable a => Subable (Maybe a) where+ syms = concatMap syms . maybeToList+ subst = fmap . subst+ substf = fmap . substf+ substa = fmap . substa++ instance Subable a => Subable (M.HashMap k a) where syms = syms . M.elems subst = M.map . subst@@ -147,7 +159,7 @@ | otherwise = errorstar "subst: PAll (without disjoint binds)" subst su (PExist bs p) | disjoint su bs = PExist bs $ subst su p --(substExcept su (fst <$> bs)) p- | otherwise = errorstar ("subst: EXISTS (without disjoint binds)" ++ show (bs, su))+ | otherwise = errorstar ("subst: EXISTS (without disjoint binds)" ++ show (bs, su, p)) subst _ p = p removeSubst :: Subst -> Symbol -> Subst@@ -159,14 +171,20 @@ suSyms = S.fromList $ syms (M.elems su) ++ syms (M.keys su) bsSyms = S.fromList $ syms $ fst <$> bs +instance Semigroup Expr where+ p <> q = pAnd [p, q]+ instance Monoid Expr where- mempty = PTrue- mappend p q = pAnd [p, q]- mconcat = pAnd+ mempty = PTrue+ mappend = (<>)+ mconcat = pAnd +instance Semigroup Reft where+ (<>) = meetReft+ instance Monoid Reft where mempty = trueReft- mappend = meetReft+ mappend = (<>) meetReft :: Reft -> Reft -> Reft meetReft (Reft (v, ra)) (Reft (v', ra'))@@ -174,9 +192,12 @@ | v == dummySymbol = Reft (v', ra' `mappend` (ra `subst1` (v , EVar v'))) | otherwise = Reft (v , ra `mappend` (ra' `subst1` (v', EVar v ))) +instance Semigroup SortedReft where+ t1 <> t2 = RR (mappend (sr_sort t1) (sr_sort t2)) (mappend (sr_reft t1) (sr_reft t2))+ instance Monoid SortedReft where- mempty = RR mempty mempty- mappend t1 t2 = RR (mappend (sr_sort t1) (sr_sort t2)) (mappend (sr_reft t1) (sr_reft t2))+ mempty = RR mempty mempty+ mappend = (<>) instance Subable Reft where syms (Reft (v, ras)) = v : syms ras@@ -264,23 +285,47 @@ -------------------------------------------------------------------------------- -- | TODO: Rewrite using visitor ----------------------------------------------- --------------------------------------------------------------------------------+-- exprSymbols :: Expr -> [Symbol]+-- exprSymbols = go+ -- where+ -- go (EVar x) = [x]+ -- go (EApp f e) = go f ++ go e+ -- go (ELam (x,_) e) = filter (/= x) (go e)+ -- go (ECoerc _ _ e) = go e+ -- go (ENeg e) = go e+ -- go (EBin _ e1 e2) = go e1 ++ go e2+ -- go (EIte p e1 e2) = exprSymbols p ++ go e1 ++ go e2+ -- go (ECst e _) = go e+ -- go (PAnd ps) = concatMap go ps+ -- go (POr ps) = concatMap go ps+ -- go (PNot p) = go p+ -- go (PIff p1 p2) = go p1 ++ go p2+ -- go (PImp p1 p2) = go p1 ++ go p2+ -- go (PAtom _ e1 e2) = exprSymbols e1 ++ exprSymbols e2+ -- go (PKVar _ (Su su)) = syms (M.elems su)+ -- go (PAll xts p) = (fst <$> xts) ++ go p+ -- go _ = []+ exprSymbols :: Expr -> [Symbol]-exprSymbols = go+exprSymbols = S.toList . go where- go (EVar x) = [x]- go (EApp f e) = go f ++ go e- go (ELam (x,_) e) = filter (/= x) (go e)+ gos es = S.unions (go <$> es)+ go (EVar x) = S.singleton x+ go (EApp f e) = gos [f, e] + go (ELam (x,_) e) = S.delete x (go e) go (ECoerc _ _ e) = go e go (ENeg e) = go e- go (EBin _ e1 e2) = go e1 ++ go e2- go (EIte p e1 e2) = exprSymbols p ++ go e1 ++ go e2+ go (EBin _ e1 e2) = gos [e1, e2] + go (EIte p e1 e2) = gos [p, e1, e2] go (ECst e _) = go e- go (PAnd ps) = concatMap go ps- go (POr ps) = concatMap go ps+ go (PAnd ps) = gos ps+ go (POr ps) = gos ps go (PNot p) = go p- go (PIff p1 p2) = go p1 ++ go p2- go (PImp p1 p2) = go p1 ++ go p2- go (PAtom _ e1 e2) = exprSymbols e1 ++ exprSymbols e2- go (PKVar _ (Su su)) = {- CUTSOLVER k : -} syms (M.elems su)- go (PAll xts p) = (fst <$> xts) ++ go p- go _ = []+ go (PIff p1 p2) = gos [p1, p2] + go (PImp p1 p2) = gos [p1, p2]+ go (PAtom _ e1 e2) = gos [e1, e2] + go (PKVar _ (Su su)) = S.fromList $ syms $ M.elems su+ go (PAll xts p) = go p `S.difference` S.fromList (fst <$> xts) + go (PExist xts p) = go p `S.difference` S.fromList (fst <$> xts) + go _ = S.empty +
@@ -0,0 +1,106 @@+module Language.Fixpoint.Types.Templates (++ anything, Templates, makeTemplates, ++ isEmptyTemplates, isAnyTemplates,++ matchesTemplates, filterUnMatched++ )where++import Language.Fixpoint.Types.Refinements+import Language.Fixpoint.Types.Names+import Language.Fixpoint.Types.PrettyPrint+import Text.PrettyPrint.HughesPJ.Compat++data Templates + = TAll + | TExprs [Template] + deriving Show+++type Template = ([Symbol], Expr)+++class HasTemplates a where + filterUnMatched :: Templates -> a -> a +++instance HasTemplates Expr where+ filterUnMatched temps e = pAnd $ filter (not . matchesTemplates temps) $ conjuncts e ++instance HasTemplates Reft where+ filterUnMatched temps (Reft (x,e)) = Reft (x, filterUnMatched temps e)++matchesTemplates :: Templates -> Expr -> Bool +matchesTemplates TAll _ = True +matchesTemplates (TExprs ts) e = any (`matchesTemplate` e) ts++matchesTemplate :: Template -> Expr -> Bool +matchesTemplate (xs, t@(EVar x)) e+ = x `elem` xs || e == t +matchesTemplate (xs, EApp t1 t2) (EApp e1 e2) + = matchesTemplate (xs, t1) e1 && matchesTemplate (xs, t2) e2 +matchesTemplate (xs, ENeg t) (ENeg e) + = matchesTemplate (xs, t) e+matchesTemplate (xs, EBin b t1 t2) (EBin b' e1 e2) + = b == b' && matchesTemplate (xs, t1) e1 && matchesTemplate (xs, t2) e2 +matchesTemplate (xs, EIte t1 t2 t3) (EIte e1 e2 e3) + = matchesTemplate (xs, t1) e1 && matchesTemplate (xs, t2) e2 && matchesTemplate (xs, t3) e3 +matchesTemplate (xs, ECst t s) (ECst e s') + = s == s' && matchesTemplate (xs, t) e+matchesTemplate (xs, ELam b t) (ELam b' e) + = b == b' && matchesTemplate (xs, t) e+matchesTemplate (xs, ETApp t s) (ETApp e s') + = s == s' && matchesTemplate (xs, t) e+matchesTemplate (xs, ETAbs t s) (ETAbs e s') + = s == s' && matchesTemplate (xs, t) e+matchesTemplate (xs, PNot t) (PNot e) + = matchesTemplate (xs, t) e+matchesTemplate (xs, PAnd ts) (PAnd es) + = and $ zipWith (\t e -> matchesTemplate (xs, t) e) ts es +matchesTemplate (xs, POr ts) (POr es) + = and $ zipWith (\t e -> matchesTemplate (xs, t) e) ts es +matchesTemplate (xs, PImp t1 t2) (PImp e1 e2) + = matchesTemplate (xs, t1) e1 && matchesTemplate (xs, t2) e2 +matchesTemplate (xs, PIff t1 t2) (PIff e1 e2) + = matchesTemplate (xs, t1) e1 && matchesTemplate (xs, t2) e2 +matchesTemplate (xs, PAtom b t1 t2) (PAtom b' e1 e2) + = b == b' && matchesTemplate (xs, t1) e1 && matchesTemplate (xs, t2) e2 +matchesTemplate (xs, PAll s t) (PAll s' e) + = s == s' && matchesTemplate (xs, t) e+matchesTemplate (xs, PExist s t) (PExist s' e) + = s == s' && matchesTemplate (xs, t) e+matchesTemplate (xs, PGrad s1 s2 s3 t) (PGrad s1' s2' s3' e) + = s1 == s1' && s2 == s2' && s3 == s3' && matchesTemplate (xs, t) e+matchesTemplate (xs, ECoerc s1 s2 t) (ECoerc s1' s2' e) + = s1 == s1' && s2 == s2' && matchesTemplate (xs, t) e+matchesTemplate (_, t) e + = t == e ++++makeTemplates :: [([Symbol], Expr)] -> Templates+makeTemplates = TExprs +++isEmptyTemplates, isAnyTemplates :: Templates -> Bool +isEmptyTemplates (TExprs []) = True +isEmptyTemplates _ = False ++isAnyTemplates TAll = True +isAnyTemplates _ = False ++anything :: Templates+anything = TAll++instance Semigroup Templates where + TAll <> _ = TAll+ _ <> TAll = TAll+ TExprs i1 <> TExprs i2 = TExprs (i1 ++ i2)++instance Monoid Templates where + mempty = TExprs [] ++instance PPrint Templates where+ pprintTidy _ = text . show
@@ -1,8 +1,3 @@-{- LANGUAGE FlexibleInstances #-}-{- LANGUAGE FlexibleContexts #-}-{- LANGUAGE NoMonomorphismRestriction #-}-{- LANGUAGE OverloadedStrings #-}-{- LANGUAGE UndecidableInstances #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE DeriveDataTypeable #-}@@ -29,6 +24,7 @@ , symEnvSort , symEnvTheory , insertSymEnv+ , insertsSymEnv , symbolAtName , symbolAtSmtName @@ -37,6 +33,7 @@ import Data.Generics (Data)+import Data.Semigroup (Semigroup (..)) import Data.Typeable (Typeable) import Data.Hashable import GHC.Generics (Generic)@@ -47,11 +44,12 @@ import Language.Fixpoint.Types.Errors import Language.Fixpoint.Types.Environments -import Text.PrettyPrint.HughesPJ+import Text.PrettyPrint.HughesPJ.Compat+import qualified Data.List as L import qualified Data.Text.Lazy as LT import qualified Data.Binary as B import qualified Data.HashMap.Strict as M-import qualified Language.Fixpoint.Misc as Misc -- (sortNub, errorstar) -- traceShow)+import qualified Language.Fixpoint.Misc as Misc -------------------------------------------------------------------------------- -- | 'Raw' is the low-level representation for SMT values@@ -77,14 +75,17 @@ instance NFData SymEnv instance B.Binary SymEnv +instance Semigroup SymEnv where+ e1 <> e2 = SymEnv { seSort = seSort e1 <> seSort e2+ , seTheory = seTheory e1 <> seTheory e2+ , seData = seData e1 <> seData e2+ , seLits = seLits e1 <> seLits e2+ , seAppls = seAppls e1 <> seAppls e2+ }+ instance Monoid SymEnv where mempty = SymEnv emptySEnv emptySEnv emptySEnv emptySEnv mempty- mappend e1 e2 = SymEnv { seSort = seSort e1 `mappend` seSort e2- , seTheory = seTheory e1 `mappend` seTheory e2- , seData = seData e1 `mappend` seData e2- , seLits = seLits e1 `mappend` seLits e2- , seAppls = seAppls e1 `mappend` seAppls e2- }+ mappend = (<>) symEnv :: SEnv Sort -> SEnv TheorySymbol -> [DataDecl] -> SEnv Sort -> [Sort] -> SymEnv symEnv xEnv fEnv ds ls ts = SymEnv xEnv' fEnv dEnv ls sortMap@@ -92,7 +93,7 @@ xEnv' = unionSEnv xEnv wiredInEnv dEnv = fromListSEnv [(symbol d, d) | d <- ds] sortMap = M.fromList (zip smts [0..])- smts = funcSorts dEnv ts -- tracepp "smt-apply-sorts" $ Misc.sortNub $ (SInt, SInt) : [ (tx t1, tx t2) | FFunc t1 t2 <- ts]+ smts = funcSorts dEnv ts -- | These are "BUILT-in" polymorphic functions which are -- UNININTERPRETED but POLYMORPHIC, hence need to go through@@ -141,6 +142,9 @@ insertSymEnv :: Symbol -> Sort -> SymEnv -> SymEnv insertSymEnv x t env = env { seSort = insertSEnv x t (seSort env) } +insertsSymEnv :: SymEnv -> [(Symbol, Sort)] -> SymEnv+insertsSymEnv = L.foldl' (\env (x, s) -> insertSymEnv x s env) + symbolAtName :: (PPrint a) => Symbol -> SymEnv -> a -> Sort -> Symbol symbolAtName mkSym env e = symbolAtSmtName mkSym env e . ffuncSort env @@ -153,9 +157,9 @@ err = panic ("Unknown func-sort: " ++ showpp z ++ " for " ++ showpp e) ffuncSort :: SymEnv -> Sort -> FuncSort-ffuncSort env t = (tx t1, tx t2)+ffuncSort env t = {- tracepp ("ffuncSort " ++ showpp (t1,t2)) -} (tx t1, tx t2) where- tx = applySmtSort (seData env)+ tx = applySmtSort (seData env) (t1, t2) = args t args (FFunc a b) = (a, b) args _ = (FInt, FInt)@@ -226,22 +230,24 @@ instance B.Binary SmtSort -- | The 'poly' parameter is True when we are *declaring* sorts,--- and so we need to leave type variables be; it is False when+-- and so we need to leave the top type variables be; it is False when -- we are declaring variables etc., and there, we serialize them -- using `Int` (though really, there SHOULD BE NO floating tyVars... -- 'smtSort True msg t' serializes a sort 't' using type variables, -- 'smtSort False msg t' serializes a sort 't' using 'Int' instead of tyvars. sortSmtSort :: Bool -> SEnv DataDecl -> Sort -> SmtSort-sortSmtSort poly env = go . unAbs+sortSmtSort poly env t = {- tracepp ("sortSmtSort: " ++ showpp t) else id) $ -} go . unAbs $ t where+ m = sortAbs t go (FFunc _ _) = SInt go FInt = SInt go FReal = SReal go t | t == boolSort = SBool+ | isString t = SString go (FVar i)- | poly = SVar i+ | poly, i < m = SVar i | otherwise = SInt go t = fappSmtSort poly env ct ts where (ct:ts) = unFApp t @@ -277,7 +283,7 @@ pprintTidy _ SSet = text "Set" pprintTidy _ SMap = text "Map" pprintTidy _ (SBitVec n) = text "BitVec" <+> int n- pprintTidy _ (SVar i) = text "@" <> int i+ pprintTidy _ (SVar i) = text "@" <-> int i -- HKT pprintTidy k (SApp ts) = ppParens k (pprintTidy k tyAppName) ts pprintTidy k (SData c ts) = ppParens k (pprintTidy k c) ts
@@ -50,6 +50,7 @@ -- import Control.Monad.Trans.State.Strict (State, modify, runState) -- import Control.DeepSeq+import Data.Semigroup (Semigroup (..)) import Control.Monad.State.Strict import qualified Data.HashSet as S import qualified Data.HashMap.Strict as M@@ -80,7 +81,6 @@ , accExpr = \_ _ -> mempty } - ------------------------------------------------------------------------ fold :: (Visitable t, Monoid a) => Visitor a ctx -> ctx -> a -> t -> a@@ -147,10 +147,25 @@ visit v c x = do cm' <- mapM (visit v c) (cm x) bs' <- visit v c (bs x)- return x { cm = cm', bs = bs' }+ ae' <- visit v c (ae x) + return x { cm = cm', bs = bs', ae = ae' } +instance Visitable AxiomEnv where + visit v c x = do + eqs' <- mapM (visit v c) (aenvEqs x) + simpls' <- mapM (visit v c) (aenvSimpl x) + return x { aenvEqs = eqs' , aenvSimpl = simpls'} +instance Visitable Equation where + visit v c eq = do + body' <- visit v c (eqBody eq) + return eq { eqBody = body' } +instance Visitable Rewrite where + visit v c rw = do + body' <- visit v c (smBody rw) + return rw { smBody = body' } + --------------------------------------------------------------------------------- visitExpr :: (Monoid a) => Visitor a ctx -> ctx -> Expr -> VisitM a Expr visitExpr !v = vE@@ -208,7 +223,7 @@ | Just p' <- f (k, su) = subst su p' txK _ p = p -mapExpr :: (Expr -> Expr) -> Expr -> Expr+mapExpr :: Visitable t => (Expr -> Expr) -> t -> t mapExpr f = trans (defaultVisitor {txExpr = const f}) () () @@ -248,9 +263,12 @@ newtype MInt = MInt Integer -- deriving (Eq, NFData) +instance Semigroup MInt where+ MInt m <> MInt n = MInt (m + n)+ instance Monoid MInt where- mempty = MInt 0- mappend (MInt m) (MInt n) = MInt (m + n)+ mempty = MInt 0+ mappend = (<>) size :: Visitable t => t -> Integer size t = n@@ -328,8 +346,7 @@ -- to the ty-vars that they should be substituted with. Note the -- domain and range are both Symbol and not the Int used for real ty-vars. ----------------------------------------------------------------------------------type CoSub = M.HashMap Symbol Sort -- Symbol+type CoSub = M.HashMap Symbol Sort applyCoSub :: CoSub -> Expr -> Expr applyCoSub coSub = mapExpr fE
@@ -0,0 +1,130 @@+module Language.Fixpoint.Utils.Trie + ( -- * Datatype+ Trie (..)+ , Branch (..)++ -- * Constructors+ , empty+ , insert+ , fromList++ -- * Visitors + , fold + , foldM+ ) + where ++import qualified Data.List as L ++type Key = Int+type Path = [Key]++data Trie a + = Node ![Branch a]+ deriving (Eq, Show)++data Branch a + = Bind !Key !(Trie a)+ | Val a + deriving (Eq, Show)++-------------------------------------------------------------------------------+empty :: Trie a +-------------------------------------------------------------------------------+empty = Node []++-------------------------------------------------------------------------------+insert :: Path -> a -> Trie a -> Trie a +-------------------------------------------------------------------------------+insert [] v (Node ts) = Node ((Val v) : ts) +insert (i:is) v (Node ts) = Node (insertKey i is v ts)+++-------------------------------------------------------------------------------+fromList :: [(Path, a)] -> Trie a +-------------------------------------------------------------------------------+fromList = L.foldl' (\t (k, v) -> insert k v t) empty ++-- i=3 +-- 0 1 2 3 4 5 6 + +insertKey :: Key -> Path -> a -> [Branch a] -> [Branch a]+insertKey i is v bs@((Bind j tj) : bs') + | i == j = Bind i (insert is v tj) : bs' + | i < j = Bind i (pathTrie is v) : bs +insertKey i is v (b:bs) = b : insertKey i is v bs +insertKey i is v [] = [ Bind i (pathTrie is v) ] ++pathTrie :: Path -> a -> Trie a +pathTrie [] v = Node [Val v] +pathTrie (i:is) v = Node [Bind i (pathTrie is v)]++-------------------------------------------------------------------------------+fold :: (acc -> Path -> a -> acc) -> acc -> Trie a -> acc +-------------------------------------------------------------------------------+fold = undefined++-------------------------------------------------------------------------------+foldM :: (Monad m) => (acc -> Path -> a -> m acc) -> acc -> Trie a -> m acc +-------------------------------------------------------------------------------+foldM = undefined++{- ++ e1+ <----+ === e2+ <----+ === e3+ <----+ ? e4+..++ -}++-------------------------------------------------------------------------------+-- | Examples+-------------------------------------------------------------------------------+{-+Lets represent++ 1,2,3,Z ->+ 1,2,3,4 -> A+ 1,2,3,5 -> B+ 1,6 -> C++ insert [1, 2] "A"+ . insert [1,2,3,4] "B"+ . insert [1,2,3,5] "C"+ . insert [1,6] "D"+ $ empty++as the `trie`++ 1 -> 2 -----------> A + `-> 3 -> 4 -> B+ | ` -> 5 -> C+ `-> 6 ------------> D++-}++-- >>> _example0 == _example1 +-- True++_example0 :: Trie Char+_example0 = Node [Bind 1 n1]+ where+ n1 = Node [Bind 2 n2, Bind 6 n6]+ n2 = Node [Val 'A' , Bind 3 n3]+ n3 = Node [Bind 4 n4, Bind 5 n5]+ n4 = Node [Val 'B']+ n5 = Node [Val 'C']+ n6 = Node [Val 'D'] +++_example1 :: Trie Char+_example1 = insert [1, 2] 'A'+ . insert [1,2,3,4] 'B'+ . insert [1,2,3,5] 'C'+ . insert [1,6] 'D'+ $ empty
@@ -0,0 +1,13 @@+module Text.PrettyPrint.HughesPJ.Compat (+ module Text.PrettyPrint.HughesPJ,+ (<->),+ ) where++import Text.PrettyPrint.HughesPJ hiding ((<>), first)+import qualified Text.PrettyPrint.HughesPJ as PP++-- | Also known as '<>' in @pretty@, but that clashes with Semigroup's <>+(<->) :: Doc -> Doc -> Doc+(<->) = (PP.<>)++infixl 6 <->
@@ -0,0 +1,19 @@+resolver: lts-14.0++flags:+ liquid-fixpoint:+ devel: true ++packages:+- '.'++packages:+- '.'++extra-deps:+- dotgen-0.4.2+- fgl-visualize-0.1.0.1+- intern-0.9.2+- located-base-0.1.1.1+- text-format-0.3.2+- tasty-rerun-1.1.14
@@ -0,0 +1,9 @@+ +bind 1 x : {v: int | true } +bind 2 y : {v: a | true } ++constraint: + env [1; 2]+ lhs {v: int | x = y }+ rhs {v: Int | y = x }+ id 1 tag []
@@ -0,0 +1,12 @@+data Thing 0 = [+ | mkCons { head : int } +]+ +bind 1 x : {v: Thing | true } +bind 2 y : {v: a | true } ++constraint: + env [1; 2]+ lhs {v: int | x = y }+ rhs {v: Int | y = x }+ id 1 tag []
@@ -0,0 +1,29 @@+// This qualifier saves the day; solve constraints WITHOUT IT++qualif Zog(v:a) : (0 <= v)+qualif Bog(v:a) : (0 <= 1)+++bind 0 zog : {v : int | true}++constraint:+ env [0]+ lhs {v : alpha | (v = 10)}+ rhs {v : alpha | $k0}+ id 1 tag []++constraint:+ env [0]+ lhs {v : alpha | $k0}+ rhs {v : alpha | $k0}+ id 2 tag []++constraint:+ env [0]+ lhs {v : alpha | $k0}+ rhs {v : alpha | 0 <= v}+ id 3 tag []++wf:+ env [0]+ reft {v: alpha | $k0}
@@ -0,0 +1,12 @@+// for LH Issue 773++constant foo : (func(0, [int; int]))++bind 0 x : {v: Str | true}++constraint:+ env [ 0 ]+ lhs {v : int | (foo x = 0)}+ rhs {v : int | (3 = 1 + 2) }+ id 1 tag []+
@@ -0,0 +1,13 @@+// for LH Issue 774++constant foo : (func(0, [int; int]))++bind 0 x : {v: Str | true}+bind 1 y : {v: Str | true}++constraint:+ env [ 0; 1 ]+ lhs {v : int | (foo x = foo y)}+ rhs {v : int | (3 = 1 + 2) }+ id 1 tag []+
@@ -0,0 +1,12 @@+++// This qualifier saves the day; solve constraints WITHOUT IT+// qualif Zog(v:a) : (10 <= v)++bind 0 a : {v:int | (v = 10 || v = 20) }++constraint:+ env [ 0 ]+ lhs {v : int | v = a}+ rhs {v : int | 10 <= v}+ id 3
@@ -0,0 +1,28 @@+++// This qualifier saves the day; solve constraints WITHOUT IT+// qualif Zog(v:a) : (10 <= v)++bind 0 a : {v: int | $k0}++constraint:+ env [ ]+ lhs {v : int | (v = 10)}+ rhs {v : int | $k0}+ id 1 ++constraint:+ env [ ]+ lhs {v : int | v = 20}+ rhs {v : int | $k0}+ id 2 ++constraint:+ env [ 0 ]+ lhs {v : int | v = a}+ rhs {v : int | 10 <= v}+ id 3 ++wf:+ env [ ]+ reft {v: int | $k0}
@@ -0,0 +1,43 @@+// This qualifier saves the day; solve constraints WITHOUT IT+// qualif Zog(v:a) : (10 <= v)++constraint:+ env [z : {v : int | true}]+ lhs {v : int | (z=10) \/ (z=20)}+ rhs {v : int | 10 <= z}+ id 3 ++/*++Rewriting constraints as:++ id 1+ x:int, v:int |- x=10 /\ v=x => k0+ + id 2+ y:int, v:int |- y=20 /\ v=y => k0++Projecting out all variables NOT in the WF of k0++ id 1+ v:int |- (exists x:int. x=10 /\ v=x) => k0+ + id 2+ v:int |- (exists y:int. y=20 /\ v=y) => k0++Take the \/ of all constraints on k0++ k0 = (exists x:int. x=10 /\ v=x) \/ (exists y:int. y=20 /\ v=y)+ + k0[z/v]+ = (\x. x=10 /\ v=x) \/ (\y. y=20 /\ v=y)[z/v]+ = (\x. x=10 /\ z=x) \/ (\y. y=20 /\ z=y)++So you get:++ env [2]+ lhs {v : int | (\x. x=10 /\ z=x) \/ (\y. y=20 /\ z=y)}+ rhs {v : int | 10 <= z}+ id 3 ++*/
@@ -0,0 +1,29 @@+// This qualifier saves the day; solve constraints WITHOUT IT+// qualif Zog(v:a) : (10 <= v)++bind 0 x : {v : int | true}+bind 1 y : {v : int | true}+bind 2 z : {v : int | true}++constraint:+ env [0]+ lhs {v : int | (x = 10)}+ rhs {v : int | $k0[v:=x]}+ id 1 ++constraint:+ env [1]+ lhs {v : int | y = 20}+ rhs {v : int | $k0[v:=y]}+ id 2 ++constraint:+ env [2]+ lhs {v : int | $k0[v:=z]}+ rhs {v : int | 10 <= z}+ id 3 ++wf:+ env [ ]+ reft {v: int | $k0}+
@@ -0,0 +1,43 @@++// This qualifier saves the day; solve constraints WITHOUT IT+// qualif Zog(v:a) : (10 <= v)++constraint:+ env [a : {v : int | (exists x:int. x=10 /\ v=x) + \/ (exists y:int. y=20 /\ v=y) }]+ lhs {v : int | v = a }+ rhs {v : int | 10 <= v}+ id 3 ++/*++Rewriting constraints as:++ id 1+ x:int, v:int |- (v=10)[x/v] /\ (v=x) => k0+ x:int, v:int |- (x=10) /\ (v=x) => k0++ id 2+ y:int, v:int |- (v=20)[y/v] /\ (v=y) => k0+ y:int, v:int |- (y=20) /\ (v=y) => k0++Projecting out all variables NOT in the WF of k0++ id 1+ v:int |- (exists x:int. x=10 /\ v=x) => k0++ id 2+ v:int |- (exists y:int. y=20 /\ v=y) => k0++Take the \/ of all constraints on k0++ k0 = (exists x:int. x=10 /\ v=x) \/ (exists y:int. y=20 /\ v=y)+ +So you get:++ env [a : {v : int | (exists x:int. x=10 /\ v=x) \/ (exists y:int. y=20 /\ v=y) }]+ lhs {v : int | v = a }+ rhs {v : int | 10 <= v}+ id 3++*/
@@ -0,0 +1,29 @@++// This qualifier saves the day; solve constraints WITHOUT IT+// qualif Zog(v:a) : (10 <= v)++bind 0 x : {v : int | v = 10}+bind 1 y : {v : int | v = 20}+bind 2 a : {v : int | $k0 }+ +constraint:+ env [0]+ lhs {v : int | v = x}+ rhs {v : int | $k0 }+ id 1 ++constraint:+ env [1]+ lhs {v : int | v = y}+ rhs {v : int | $k0 }+ id 2 ++constraint:+ env [2]+ lhs {v : int | v = a }+ rhs {v : int | 10 <= v}+ id 3 ++wf:+ env [ ]+ reft {v : int | $k0}
@@ -0,0 +1,112 @@++// This qualifier saves the day; solve constraints WITHOUT IT+// qualif Zog(v:a): (10 <= v)++// But you may use this one+qualif Pog(v:a): (0 <= v)+++++/* ++-- Version 1 (eliminate k1) --++Rewriting constraints as:++ id 0+ v:int |- (v=0) => k1++ id 3+ v:int |- k0 => k1++Projecting out all variables NOT in the WF of k1++ N/A++Take the \/ of all constraints on k1++ k1 = (v=0) \/ k0++So you get:++ bind 0 x: {v: int | v = 10 }+ bind 1 a: {v: int | (v=0) \/ k0 }+ bind 2 y: {v: int | v = 20 }+ bind 3 b: {v: int | (v=0) \/ k0 }+ bind 4 c: {v: int | k0 }++ constraint:+ env [ 0; 1]+ lhs {v : int | v = x + a}+ rhs {v : int | k0}+ id 1 ++ constraint:+ env [2; 3]+ lhs {v : int | v = y + b}+ rhs {v : int | k0}+ id 2 ++ constraint:+ env [4]+ lhs {v : int | v = c }+ rhs {v : int | 10 <= v}+ id 4 ++ wf:+ env [ ]+ reft {v: int | k1}+++++-- Version 2 (eliminate k0) --++Rewriting constraints as:++ id 1+ x:int, a:int, v:int |- (v=10)[x/v] /\ k1[a/v] /\ (v=x+a) => k0+ x:int, a:int, v:int |- (x=10) /\ k1[a/v] /\ (v=x+a) => k0++ id 2+ y:int, b:int, v:int |- (v=20)[y/v] /\ k1[b/v] /\ (v=y+b) => k0+ y:int, b:int, v:int |- (y=20) /\ k1[b/v] /\ (v=y+b) => k0++Projecting out all variables NOT in the WF of k0++ id 1+ v:int |- (exists x:int a:int. (x=10) /\ k1[a/v] /\ (v=x+a)) => k0+ + id 2+ v:int |- (exists y:int b:int. (y=20) /\ k1[b/v] /\ (v=y+b)) => k0++Take the \/ of all constraints on k0++ k0 = (exists x:int a:int. (x=10) /\ k1[a/v] /\ (v=x+a))+ \/ (exists y:int b:int. (y=20) /\ k1[b/v] /\ (v=y+b))++So you get:++ bind 4 c: {v: int | (exists x:int a:int. (x=10) /\ k1[a/v] /\ (v=x+a))+ \/ (exists y:int b:int. (y=20) /\ k1[b/v] /\ (v=y+b)) }++ constraint:+ env [ ]+ lhs {v : int | v = 0}+ rhs {v : int | k1 }+ id 0 +++ constraint:+ env [ ]+ lhs {v : int | (exists x:int a:int. (x=10) /\ k1[a/v] /\ (v=x+a))+ \/ (exists y:int b:int. (y=20) /\ k1[b/v] /\ (v=y+b))}+ rhs {v : int | k1}+ id 3++ constraint:+ env [4]+ lhs {v : int | v = c }+ rhs {v : int | 10 <= v}+ id 4
@@ -0,0 +1,51 @@++// This qualifier saves the day; solve constraints WITHOUT IT+// qualif Zog(v:a): (10 <= v)++// But you may use this one+qualif Pog(v:a): (0 <= v)++bind 0 x: {v: int | v = 10}+bind 1 a: {v: int | $k1 }+bind 2 y: {v: int | v = 20}+bind 3 b: {v: int | $k1 }+bind 4 c: {v: int | $k0 }++constraint:+ env [ ]+ lhs {v : int | v = 0}+ rhs {v : int | $k1 }+ id 0 +++constraint:+ env [ 0; 1]+ lhs {v : int | v = x + a}+ rhs {v : int | $k0}+ id 1 ++constraint:+ env [2; 3]+ lhs {v : int | v = y + b}+ rhs {v : int | $k0}+ id 2 ++constraint:+ env [ ]+ lhs {v : int | $k0}+ rhs {v : int | $k1}+ id 3++constraint:+ env [4]+ lhs {v : int | v = c }+ rhs {v : int | 10 <= v}+ id 4 ++wf:+ env [ ]+ reft {v: int | $k0}++wf:+ env [ ]+ reft {v: int | $k1}
@@ -0,0 +1,23 @@++// --eliminate should be able to solve this WITHOUT the qualifier+// qualif Zog(v:int) : (v /= 0)++bind 0 n : {v: int | true }+bind 1 m : {v: int | true }+bind 2 z : {v: int | $k0[n := m] }++constraint:+ env [ ]+ lhs {v : int | v = 12 }+ rhs {v : int | $k0 }+ id 1 tag []++constraint:+ env [ 1; 2 ]+ lhs {v : int | v = z}+ rhs {v : int | v /= 0}+ id 2 tag []++wf:+ env [ 0 ]+ reft {v: int | $k0 }
@@ -0,0 +1,1494 @@+fixpoint "--defunct"++// qualif Cmp(v : @(0), x : @(0)): ((v > x)) // "tests/todo/elim00.hs.fq" (line 1, column 8)+// qualif Cmp(v : @(0), x : @(0)): ((v = x)) // "tests/todo/elim00.hs.fq" (line 2, column 8)+++constant Control.Exception.Base.irrefutPatError##09 : (func(1, [int;+ @(0)]))+constant GHC.Base..##r2C : (func(3, [func(0, [@(0); @(1)]);+ func(0, [@(2); @(0)]);+ @(2);+ @(1)]))+constant runFun : (func(2, [(Arrow @(0) @(1)); @(0); @(1)]))+constant GHC.Tuple.$40$$44$$44$$41$$35$$35$76 : (func(3, [@(0);+ @(1);+ @(2);+ (Tuple @(0) @(1) @(2))]))+constant GHC.Real.D$58$Integral$35$$35$rWH : (func(1, [func(0, [@(0);+ @(0);+ @(0)]);+ func(0, [@(0); @(0); @(0)]);+ func(0, [@(0); @(0); @(0)]);+ func(0, [@(0); @(0); @(0)]);+ func(0, [@(0); @(0); (Tuple @(0) @(0))]);+ func(0, [@(0); @(0); (Tuple @(0) @(0))]);+ func(0, [@(0); int]);+ (GHC.Real.Integral @(0))]))+constant addrLen : (func(0, [int; int]))+constant papp5 : (func(10, [(Pred @(0) @(1) @(2) @(3) @(4));+ @(5);+ @(6);+ @(7);+ @(8);+ @(9);+ bool]))+constant xsListSelector : (func(1, [[@(0)]; [@(0)]]))+constant x_Tuple21 : (func(2, [(Tuple @(0) @(1)); @(0)]))+constant x_Tuple65 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(4)]))+constant Elim.foo##rlD : (func(0, [Elim.Foo; Elim.Foo]))+constant x_Tuple55 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(4)]))+constant GHC.Integer.Type.smallInteger##0Z : (func(0, [int; int]))+constant x_Tuple33 : (func(3, [(Tuple @(0) @(1) @(2)); @(2)]))+constant x_Tuple77 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(6)]))+constant GHC.Base.Just##r1e : (func(1, [@(0);+ (GHC.Base.Maybe @(0))]))+constant Elim.xx##rlB : (func(0, [Elim.Foo; int]))+constant papp3 : (func(6, [(Pred @(0) @(1) @(2));+ @(3);+ @(4);+ @(5);+ bool]))+constant GHC.Prim.$43$$35$$35$$35$98 : (func(0, [int; int; int]))+constant x_Tuple63 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(2)]))+constant x_Tuple41 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(0)]))+constant GHC.Types.LT##6S : (GHC.Types.Ordering)+constant GHC.Prim.$60$$35$$35$$35$9q : (func(0, [int; int; int]))+constant papp4 : (func(8, [(Pred @(0) @(1) @(2) @(3));+ @(4);+ @(5);+ @(6);+ @(7);+ bool]))+constant Elim.PP##rlx : (func(2, [@(0);+ @(1);+ (Elim.Pair @(0) @(1))]))+constant x_Tuple64 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(3)]))+constant GHC.Types.GT##6W : (GHC.Types.Ordering)+constant GHC.Prim.$45$$35$$35$$35$99 : (func(0, [int; int; int]))+constant GHC.Types.$58$$35$$35$64 : (func(1, [@(0);+ [@(0)];+ [@(0)]]))+constant autolen : (func(1, [@(0); int]))+constant GHC.Types.I###6c : (func(0, [int; int]))+constant x_Tuple52 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(1)]))+constant xx : (func(0, [Elim.Foo; int]))+constant null : (func(1, [[@(0)]; bool]))+constant GHC.Num.$43$$35$$35$rt : (func(1, [@(0); @(0); @(0)]))+constant GHC.Tuple.$40$$44$$44$$44$$44$$41$$35$$35$7a : (func(5, [@(0);+ @(1);+ @(2);+ @(3);+ @(4);+ (Tuple @(0) @(1) @(2) @(3) @(4))]))+constant papp2 : (func(4, [(Pred @(0) @(1)); @(2); @(3); bool]))+constant x_Tuple62 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(1)]))+constant GHC.Tuple.$40$$44$$41$$35$$35$74 : (func(2, [@(0);+ @(1);+ (Tuple @(0) @(1))]))+constant Elim.yy##rlC : (func(0, [Elim.Foo; int]))+constant fromJust : (func(1, [(GHC.Base.Maybe @(0)); @(0)]))+constant papp7 : (func(14, [(Pred @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(7);+ @(8);+ @(9);+ @(10);+ @(11);+ @(12);+ @(13);+ bool]))+constant x_Tuple53 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(2)]))+constant x_Tuple71 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(0)]))+constant GHC.Prim.$62$$35$$35$$35$9m : (func(0, [int; int; int]))+constant x_Tuple74 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(3)]))+constant Elim.Emp##rly : (func(2, [(Elim.Pair @(0) @(1))]))+constant len : (func(2, [(@(0) @(1)); int]))+constant GHC.Tuple.$40$$44$$44$$44$$44$$44$$44$$41$$35$$35$7e : (func(7, [@(0);+ @(1);+ @(2);+ @(3);+ @(4);+ @(5);+ @(6);+ (Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6))]))+constant papp6 : (func(12, [(Pred @(0) @(1) @(2) @(3) @(4) @(5));+ @(6);+ @(7);+ @(8);+ @(9);+ @(10);+ @(11);+ bool]))+constant x_Tuple22 : (func(2, [(Tuple @(0) @(1)); @(1)]))+constant Data.Foldable.length##r1s : (func(2, [(@(0) @(0)); int]))+constant x_Tuple66 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(5)]))+constant x_Tuple44 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(3)]))+constant xListSelector : (func(1, [[@(0)]; @(0)]))+constant strLen : (func(0, [int; int]))+constant x_Tuple72 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(1)]))+constant GHC.Tuple.$40$$44$$44$$44$$41$$35$$35$78 : (func(4, [@(0);+ @(1);+ @(2);+ @(3);+ (Tuple @(0) @(1) @(2) @(3))]))+constant isJust : (func(1, [(GHC.Base.Maybe @(0)); bool]))+constant GHC.Prim.$61$$61$$35$$35$$35$9o : (func(0, [int;+ int;+ int]))+constant Elim.Foo##rlA : (func(0, [int; int; Elim.Foo]))+constant Prop : (func(0, [GHC.Types.Bool; bool]))+constant x_Tuple31 : (func(3, [(Tuple @(0) @(1) @(2)); @(0)]))+constant x_Tuple75 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(4)]))+constant papp1 : (func(2, [(Pred @(0)); @(1); bool]))+constant yy : (func(0, [Elim.Foo; int]))+constant x_Tuple61 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(0)]))+constant GHC.Prim.$62$$61$$35$$35$$35$9n : (func(0, [int;+ int;+ int]))+constant lit$36$tests$47$pos$47$elim00.hs$58$14$58$5$45$30$124$PP$32$wink$32$cow : (Str)+constant x_Tuple43 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(2)]))+constant GHC.Types.EQ##6U : (GHC.Types.Ordering)+constant x_Tuple51 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(0)]))+constant GHC.Base.Nothing##r1d : (func(1, [(GHC.Base.Maybe @(0))]))+constant GHC.Num.$45$$35$$35$02B : (func(1, [@(0); @(0); @(0)]))+constant GHC.Num.$42$$35$$35$ru : (func(1, [@(0); @(0); @(0)]))+constant x_Tuple73 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(2)]))+constant GHC.Types.$91$$93$$35$$35$6m : (func(1, [[@(0)]]))+constant x_Tuple54 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(3)]))+constant cmp : (func(0, [GHC.Types.Ordering; GHC.Types.Ordering]))+constant x_Tuple32 : (func(3, [(Tuple @(0) @(1) @(2)); @(1)]))+constant x_Tuple76 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(5)]))+constant GHC.Prim.$60$$61$$35$$35$$35$9r : (func(0, [int;+ int;+ int]))+constant GHC.Real.D$58$Fractional$35$$35$rVU : (func(1, [func(0, [@(0);+ @(0);+ @(0)]);+ func(0, [@(0); @(0)]);+ func(0, [(GHC.Real.Ratio int); @(0)]);+ (GHC.Real.Fractional @(0))]))+constant fst : (func(2, [(Tuple @(0) @(1)); @(0)]))+constant snd : (func(2, [(Tuple @(0) @(1)); @(1)]))+constant GHC.Tuple.$40$$44$$44$$44$$44$$44$$41$$35$$35$7c : (func(6, [@(0);+ @(1);+ @(2);+ @(3);+ @(4);+ @(5);+ (Tuple @(0) @(1) @(2) @(3) @(4) @(5))]))+constant x_Tuple42 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(1)]))+constant GHC.Prim.void###0l : (GHC.Prim.Void#)+++bind 0 GHC.Prim.void###0l : {VV##180 : GHC.Prim.Void# | []}+bind 1 Elim.Emp##rly : {VV : func(2, [(Elim.Pair @(0) @(1))]) | []}+bind 2 GHC.Types.EQ##6U : {VV##185 : GHC.Types.Ordering | [(VV##185 = GHC.Types.EQ##6U)]}+bind 3 GHC.Types.LT##6S : {VV##186 : GHC.Types.Ordering | [(VV##186 = GHC.Types.LT##6S)]}+bind 4 GHC.Types.GT##6W : {VV##187 : GHC.Types.Ordering | [(VV##187 = GHC.Types.GT##6W)]}+bind 5 Elim.Emp##rly : {VV : func(2, [(Elim.Pair @(0) @(1))]) | []}+bind 6 GHC.Types.$91$$93$$35$$35$6m : {VV : func(1, [[@(0)]]) | []}+bind 7 GHC.Types.GT##6W : {VV##213 : GHC.Types.Ordering | [((cmp VV##213) = GHC.Types.GT##6W)]}+bind 8 GHC.Types.LT##6S : {VV##214 : GHC.Types.Ordering | [((cmp VV##214) = GHC.Types.LT##6S)]}+bind 9 GHC.Types.EQ##6U : {VV##215 : GHC.Types.Ordering | [((cmp VV##215) = GHC.Types.EQ##6U)]}+bind 10 GHC.Base.Nothing##r1d : {VV : func(1, [(GHC.Base.Maybe @(0))]) | []}+bind 11 ds_dxd : {VV##222 : Elim.Foo | []}+bind 12 lq_anf$##dxr : {lq_tmp$x##223 : Elim.Foo | [(lq_tmp$x##223 = ds_dxd)]}+bind 13 lq_anf$##dxr : {lq_tmp$x##225 : Elim.Foo | [(lq_tmp$x##225 = ds_dxd)]}+bind 14 xig##awy : {lq_tmp$x##233 : int | []}+bind 15 yog##awz : {lq_tmp$x##234 : int | [(xig##awy < lq_tmp$x##234)]}+bind 16 lq_anf$##dxr : {lq_tmp$x##225 : Elim.Foo | [(lq_tmp$x##225 = ds_dxd);+ ((yy lq_tmp$x##225) = yog##awz);+ ((xx lq_tmp$x##225) = xig##awy);+ (lq_tmp$x##225 = (Elim.Foo##rlA xig##awy yog##awz));+ ((yy lq_tmp$x##225) = yog##awz);+ ((xx lq_tmp$x##225) = xig##awy)]}+bind 17 lq_anf$##dxs : {lq_tmp$x##242 : (Elim.Pair int int) | [(lq_tmp$x##242 = (Elim.PP##rlx xig##awy yog##awz))]}+bind 18 lq_anf$##dxt : {lq_tmp$x##273 : (Elim.Pair int int) | [(lq_tmp$x##273 = lq_anf$##dxs)]}+bind 19 lq_anf$##dxt : {lq_tmp$x##277 : (Elim.Pair int int) | [(lq_tmp$x##277 = lq_anf$##dxs)]}+bind 20 wink##ax3 : {lq_tmp$x##275 : int | [$k_##248[lq_tmp$x##277:=lq_anf$##dxt][VV##247:=lq_tmp$x##275][lq_tmp$x##242:=lq_anf$##dxt][lq_tmp$x##271:=lq_tmp$x##275][lq_tmp$x##273:=lq_anf$##dxt][lq_tmp$x##245:=xig##awy][lq_tmp$x##246:=yog##awz][lq_tmp$x##250:=lq_tmp$x##275]]}+bind 21 cow##ax4 : {lq_tmp$x##276 : int | [$k_##252[lq_tmp$x##277:=lq_anf$##dxt][lq_tmp$x##281:=wink##ax3][VV##251:=lq_tmp$x##276][lq_tmp$x##242:=lq_anf$##dxt][lq_tmp$x##254:=lq_tmp$x##276][lq_tmp$x##273:=lq_anf$##dxt][lq_tmp$x##245:=xig##awy][lq_tmp$x##246:=yog##awz][lq_tmp$x##272:=lq_tmp$x##276]]}+bind 22 lq_anf$##dxt : {lq_tmp$x##277 : (Elim.Pair int int) | [(lq_tmp$x##277 = lq_anf$##dxs);+ (lq_tmp$x##277 = (Elim.PP##rlx wink##ax3 cow##ax4));+ (lq_tmp$x##277 = (Elim.PP##rlx wink##ax3 cow##ax4));+ (lq_tmp$x##277 = (Elim.PP##rlx wink##ax3 cow##ax4))]}+bind 23 lq_tmp$x##307 : {VV##308 : int | []}+bind 24 lq_anf$##dxt : {lq_tmp$x##313 : (Elim.Pair int int) | [(lq_tmp$x##313 = lq_anf$##dxs)]}+bind 25 lq_anf$##dxt : {lq_tmp$x##313 : (Elim.Pair int int) | [(lq_tmp$x##313 = lq_anf$##dxs);+ (lq_tmp$x##313 = Elim.Emp##rly);+ (lq_tmp$x##313 = Elim.Emp##rly);+ (lq_tmp$x##313 = Elim.Emp##rly)]}+bind 26 ds_dxg : {VV##318 : GHC.Prim.Void# | [$k_##319]}+bind 27 lq_anf$##dxu : {lq_tmp$x##335 : int | [(lq_tmp$x##335 ~~ lit$36$tests$47$pos$47$elim00.hs$58$14$58$5$45$30$124$PP$32$wink$32$cow);+ ((strLen lq_tmp$x##335) = 39)]}+bind 28 ds_dxh : {VV##268 : (Tuple int int) | [$k_##269]}+bind 29 lq_anf$##dxw : {lq_tmp$x##368 : (Tuple int int) | [(lq_tmp$x##368 = ds_dxh)]}+bind 30 lq_anf$##dxw : {lq_tmp$x##374 : (Tuple int int) | [(lq_tmp$x##374 = ds_dxh)]}+bind 31 wink##ax3 : {lq_tmp$x##370 : int | [$k_##259[lq_tmp$x##368:=lq_anf$##dxw][VV##268:=lq_anf$##dxw][lq_tmp$x##364:=lq_tmp$x##370][VV##258:=lq_tmp$x##370][lq_tmp$x##374:=lq_anf$##dxw]]}+bind 32 cow##Xxd : {lq_tmp$x##371 : int | [$k_##262[lq_tmp$x##368:=lq_anf$##dxw][VV##268:=lq_anf$##dxw][VV##261:=lq_tmp$x##371][lq_tmp$x##365:=lq_tmp$x##371][lq_tmp$x##379:=wink##ax3][lq_tmp$x##374:=lq_anf$##dxw];+ $k_##266[lq_tmp$x##368:=lq_anf$##dxw][lq_tmp$x##373:=lq_tmp$x##371][VV##265:=lq_tmp$x##371][lq_tmp$x##264:=wink##ax3][lq_tmp$x##367:=lq_tmp$x##371][VV##268:=lq_anf$##dxw][lq_tmp$x##372:=wink##ax3][lq_tmp$x##366:=wink##ax3][lq_tmp$x##379:=wink##ax3][lq_tmp$x##374:=lq_anf$##dxw]]}+bind 33 lq_anf$##dxw : {lq_tmp$x##374 : (Tuple int int) | [(lq_tmp$x##374 = ds_dxh);+ ((snd lq_tmp$x##374) = cow##Xxd);+ ((fst lq_tmp$x##374) = wink##ax3);+ ((x_Tuple22 lq_tmp$x##374) = cow##Xxd);+ ((x_Tuple21 lq_tmp$x##374) = wink##ax3);+ (lq_tmp$x##374 = (GHC.Tuple.$40$$44$$41$$35$$35$74 wink##ax3 cow##Xxd));+ ((snd lq_tmp$x##374) = cow##Xxd);+ ((fst lq_tmp$x##374) = wink##ax3);+ ((x_Tuple22 lq_tmp$x##374) = cow##Xxd);+ ((x_Tuple21 lq_tmp$x##374) = wink##ax3)]}+bind 34 wink##ax3 : {VV##361 : int | [$k_##362]}+// bind 45 wink##ax3 : {lq_tmp$x##452 : int | [$k_##428[lq_tmp$x##425:=wink##ax3][lq_tmp$x##456:=lq_anf$##dxy][VV##427:=lq_tmp$x##452][lq_tmp$x##426:=cow##ax4][lq_tmp$x##450:=lq_anf$##dxy][lq_tmp$x##430:=lq_tmp$x##452][lq_tmp$x##446:=lq_tmp$x##452][lq_tmp$x##422:=lq_anf$##dxy]]}++bind 35 lq_anf$##dxv : {lq_tmp$x##398 : (Tuple int int) | [(lq_tmp$x##398 = ds_dxh)]}+bind 36 lq_anf$##dxv : {lq_tmp$x##404 : (Tuple int int) | [(lq_tmp$x##404 = ds_dxh)]}+bind 37 wink##ax3 : {lq_tmp$x##400 : int | [$k_##259[VV##268:=lq_anf$##dxv][lq_tmp$x##394:=lq_tmp$x##400][VV##258:=lq_tmp$x##400][lq_tmp$x##398:=lq_anf$##dxv][lq_tmp$x##404:=lq_anf$##dxv]]}+bind 38 cow##ax4 : {lq_tmp$x##401 : int | [$k_##262[VV##268:=lq_anf$##dxv][VV##261:=lq_tmp$x##401][lq_tmp$x##409:=wink##ax3][lq_tmp$x##398:=lq_anf$##dxv][lq_tmp$x##395:=lq_tmp$x##401][lq_tmp$x##404:=lq_anf$##dxv];+ $k_##266[lq_tmp$x##396:=wink##ax3][VV##265:=lq_tmp$x##401][lq_tmp$x##264:=wink##ax3][VV##268:=lq_anf$##dxv][lq_tmp$x##397:=lq_tmp$x##401][lq_tmp$x##409:=wink##ax3][lq_tmp$x##403:=lq_tmp$x##401][lq_tmp$x##398:=lq_anf$##dxv][lq_tmp$x##402:=wink##ax3][lq_tmp$x##404:=lq_anf$##dxv]]}+bind 39 lq_anf$##dxv : {lq_tmp$x##404 : (Tuple int int) | [(lq_tmp$x##404 = ds_dxh);+ ((snd lq_tmp$x##404) = cow##ax4);+ ((fst lq_tmp$x##404) = wink##ax3);+ ((x_Tuple22 lq_tmp$x##404) = cow##ax4);+ ((x_Tuple21 lq_tmp$x##404) = wink##ax3);+ (lq_tmp$x##404 = (GHC.Tuple.$40$$44$$41$$35$$35$74 wink##ax3 cow##ax4));+ ((snd lq_tmp$x##404) = cow##ax4);+ ((fst lq_tmp$x##404) = wink##ax3);+ ((x_Tuple22 lq_tmp$x##404) = cow##ax4);+ ((x_Tuple21 lq_tmp$x##404) = wink##ax3)]}+bind 40 cow##ax4 : {VV##391 : int | [$k_##392]}+bind 41 lq_tmp$x##438 : {VV##439 : int | []}+bind 42 ds_dxi : {lq_tmp$x##422 : (Tuple int int) | [((snd lq_tmp$x##422) = cow##ax4);+ ((fst lq_tmp$x##422) = wink##ax3);+ ((x_Tuple22 lq_tmp$x##422) = cow##ax4);+ ((x_Tuple21 lq_tmp$x##422) = wink##ax3)]}+bind 43 lq_anf$##dxy : {lq_tmp$x##450 : (Tuple int int) | [(lq_tmp$x##450 = ds_dxi)]}+bind 44 lq_anf$##dxy : {lq_tmp$x##456 : (Tuple int int) | [(lq_tmp$x##456 = ds_dxi)]}+bind 45 wink##ax3 : {lq_tmp$x##452 : int | [$k_##428[lq_tmp$x##425:=wink##ax3][lq_tmp$x##456:=lq_anf$##dxy][VV##427:=lq_tmp$x##452][lq_tmp$x##426:=cow##ax4][lq_tmp$x##450:=lq_anf$##dxy][lq_tmp$x##430:=lq_tmp$x##452][lq_tmp$x##446:=lq_tmp$x##452][lq_tmp$x##422:=lq_anf$##dxy]]}+bind 46 cow##ax4 : {lq_tmp$x##453 : int | [$k_##432[lq_tmp$x##425:=wink##ax3][lq_tmp$x##456:=lq_anf$##dxy][lq_tmp$x##426:=cow##ax4][VV##431:=lq_tmp$x##453][lq_tmp$x##450:=lq_anf$##dxy][lq_tmp$x##447:=lq_tmp$x##453][lq_tmp$x##461:=wink##ax3][lq_tmp$x##422:=lq_anf$##dxy][lq_tmp$x##434:=lq_tmp$x##453];+ $k_##436[lq_tmp$x##425:=wink##ax3][lq_tmp$x##456:=lq_anf$##dxy][lq_tmp$x##426:=cow##ax4][lq_tmp$x##455:=lq_tmp$x##453][lq_tmp$x##450:=lq_anf$##dxy][lq_tmp$x##461:=wink##ax3][lq_tmp$x##438:=wink##ax3][lq_tmp$x##421:=wink##ax3][lq_tmp$x##422:=lq_anf$##dxy][lq_tmp$x##434:=lq_tmp$x##453][lq_tmp$x##448:=wink##ax3][lq_tmp$x##449:=lq_tmp$x##453][VV##435:=lq_tmp$x##453][lq_tmp$x##454:=wink##ax3]]}+bind 47 lq_anf$##dxy : {lq_tmp$x##456 : (Tuple int int) | [(lq_tmp$x##456 = ds_dxi);+ ((snd lq_tmp$x##456) = cow##ax4);+ ((fst lq_tmp$x##456) = wink##ax3);+ ((x_Tuple22 lq_tmp$x##456) = cow##ax4);+ ((x_Tuple21 lq_tmp$x##456) = wink##ax3);+ (lq_tmp$x##456 = (GHC.Tuple.$40$$44$$41$$35$$35$74 wink##ax3 cow##ax4));+ ((snd lq_tmp$x##456) = cow##ax4);+ ((fst lq_tmp$x##456) = wink##ax3);+ ((x_Tuple22 lq_tmp$x##456) = cow##ax4);+ ((x_Tuple21 lq_tmp$x##456) = wink##ax3)]}+bind 48 wink##awA : {VV##443 : int | [$k_##444]}++bind 49 lq_anf$##dxx : {lq_tmp$x##480 : (Tuple int int) | [(lq_tmp$x##480 = ds_dxi)]}+bind 50 lq_anf$##dxx : {lq_tmp$x##486 : (Tuple int int) | [(lq_tmp$x##486 = ds_dxi)]}+bind 51 wink##ax3 : {lq_tmp$x##482 : int | [$k_##428[lq_tmp$x##425:=wink##ax3][VV##427:=lq_tmp$x##482][lq_tmp$x##426:=cow##ax4][lq_tmp$x##476:=lq_tmp$x##482][lq_tmp$x##430:=lq_tmp$x##482][lq_tmp$x##480:=lq_anf$##dxx][lq_tmp$x##422:=lq_anf$##dxx][lq_tmp$x##486:=lq_anf$##dxx]]}+bind 52 cow##ax4 : {lq_tmp$x##483 : int | [$k_##432[lq_tmp$x##425:=wink##ax3][lq_tmp$x##426:=cow##ax4][VV##431:=lq_tmp$x##483][lq_tmp$x##491:=wink##ax3][lq_tmp$x##480:=lq_anf$##dxx][lq_tmp$x##477:=lq_tmp$x##483][lq_tmp$x##422:=lq_anf$##dxx][lq_tmp$x##434:=lq_tmp$x##483][lq_tmp$x##486:=lq_anf$##dxx];+ $k_##436[lq_tmp$x##425:=wink##ax3][lq_tmp$x##426:=cow##ax4][lq_tmp$x##491:=wink##ax3][lq_tmp$x##480:=lq_anf$##dxx][lq_tmp$x##479:=lq_tmp$x##483][lq_tmp$x##485:=lq_tmp$x##483][lq_tmp$x##438:=wink##ax3][lq_tmp$x##421:=wink##ax3][lq_tmp$x##422:=lq_anf$##dxx][lq_tmp$x##434:=lq_tmp$x##483][lq_tmp$x##484:=wink##ax3][lq_tmp$x##478:=wink##ax3][lq_tmp$x##486:=lq_anf$##dxx][VV##435:=lq_tmp$x##483]]}+bind 53 lq_anf$##dxx : {lq_tmp$x##486 : (Tuple int int) | [(lq_tmp$x##486 = ds_dxi);+ ((snd lq_tmp$x##486) = cow##ax4);+ ((fst lq_tmp$x##486) = wink##ax3);+ ((x_Tuple22 lq_tmp$x##486) = cow##ax4);+ ((x_Tuple21 lq_tmp$x##486) = wink##ax3);+ (lq_tmp$x##486 = (GHC.Tuple.$40$$44$$41$$35$$35$74 wink##ax3 cow##ax4));+ ((snd lq_tmp$x##486) = cow##ax4);+ ((fst lq_tmp$x##486) = wink##ax3);+ ((x_Tuple22 lq_tmp$x##486) = cow##ax4);+ ((x_Tuple21 lq_tmp$x##486) = wink##ax3)]}+bind 54 cow##awB : {VV##473 : int | [$k_##474]}+bind 55 ds_dxo : {VV##514 : Elim.Foo | []}+bind 56 lq_anf$##dxz : {lq_tmp$x##515 : Elim.Foo | [(lq_tmp$x##515 = ds_dxo)]}+bind 57 lq_anf$##dxz : {lq_tmp$x##517 : Elim.Foo | [(lq_tmp$x##517 = ds_dxo)]}+bind 58 ds_dxp : {lq_tmp$x##525 : int | []}+bind 59 ds_dxq : {lq_tmp$x##526 : int | [(ds_dxp < lq_tmp$x##526)]}+bind 60 lq_anf$##dxz : {lq_tmp$x##517 : Elim.Foo | [(lq_tmp$x##517 = ds_dxo);+ ((yy lq_tmp$x##517) = ds_dxq);+ ((xx lq_tmp$x##517) = ds_dxp);+ (lq_tmp$x##517 = (Elim.Foo##rlA ds_dxp ds_dxq));+ ((yy lq_tmp$x##517) = ds_dxq);+ ((xx lq_tmp$x##517) = ds_dxp)]}+bind 61 ds_dxl : {VV##537 : Elim.Foo | []}+bind 62 lq_anf$##dxA : {lq_tmp$x##538 : Elim.Foo | [(lq_tmp$x##538 = ds_dxl)]}+bind 63 lq_anf$##dxA : {lq_tmp$x##540 : Elim.Foo | [(lq_tmp$x##540 = ds_dxl)]}+bind 64 ds_dxm : {lq_tmp$x##548 : int | []}+bind 65 ds_dxn : {lq_tmp$x##549 : int | [(ds_dxm < lq_tmp$x##549)]}+bind 66 lq_anf$##dxA : {lq_tmp$x##540 : Elim.Foo | [(lq_tmp$x##540 = ds_dxl);+ ((yy lq_tmp$x##540) = ds_dxn);+ ((xx lq_tmp$x##540) = ds_dxm);+ (lq_tmp$x##540 = (Elim.Foo##rlA ds_dxm ds_dxn));+ ((yy lq_tmp$x##540) = ds_dxn);+ ((xx lq_tmp$x##540) = ds_dxm)]}+bind 67 VV##559 : {VV##559 : int | [(VV##559 = ds_dxm)]}+bind 68 VV##561 : {VV##561 : int | [(VV##561 = ds_dxq)]}+bind 69 VV##563 : {VV##563 : Elim.Foo | [((yy VV##563) = cow##awB);+ ((xx VV##563) = wink##awA)]}+bind 70 VV##565 : {VV##565 : int | [(VV##565 = cow##awB)]}+bind 71 VV##567 : {VV##567 : int | [(VV##567 = wink##awA)]}+bind 72 VV##569 : {VV##569 : int | [(VV##569 = cow##ax4)]}+bind 73 VV##571 : {VV##571 : int | [(VV##571 = wink##ax3)]}+bind 74 VV##573 : {VV##573 : int | [(VV##573 = cow##ax4)]}+bind 75 VV##575 : {VV##575 : int | [(VV##575 = wink##ax3)]}+bind 76 VV##577 : {VV##577 : int | [(VV##577 = cow##ax4)]}+bind 77 VV##579 : {VV##579 : int | [(VV##579 = wink##ax3)]}+bind 78 VV##581 : {VV##581 : (Tuple int int) | [$k_##333[VV##332:=VV##581][ds_dxg:=GHC.Prim.void###0l]]}+bind 79 VV##583 : {VV##583 : int | [$k_##323[VV##322:=VV##583][VV##332:=VV##581][ds_dxg:=GHC.Prim.void###0l]]}+bind 80 VV##585 : {VV##585 : int | [$k_##326[VV##325:=VV##585][VV##332:=VV##581][ds_dxg:=GHC.Prim.void###0l]]}+bind 81 lq_tmp$x##264 : {VV##587 : int | []}+bind 82 VV##588 : {VV##588 : int | [$k_##330[VV##332:=VV##581][VV##329:=VV##588][ds_dxg:=GHC.Prim.void###0l][lq_tmp$x##328:=lq_tmp$x##264]]}+bind 83 VV##590 : {VV##590 : GHC.Prim.Void# | [(VV##590 = GHC.Prim.void###0l)]}+bind 84 VV##592 : {VV##592 : (Tuple int int) | [$k_##351[lq_tmp$x##339:=lq_anf$##dxu][lq_tmp$x##357:=VV##592][VV##350:=VV##592]]}+bind 85 VV##594 : {VV##594 : int | [$k_##341[lq_tmp$x##353:=VV##594][lq_tmp$x##339:=lq_anf$##dxu][lq_tmp$x##357:=VV##592][VV##340:=VV##594][VV##350:=VV##592]]}+bind 86 VV##596 : {VV##596 : int | [$k_##344[lq_tmp$x##339:=lq_anf$##dxu][lq_tmp$x##357:=VV##592][VV##343:=VV##596][lq_tmp$x##354:=VV##596][VV##350:=VV##592]]}+bind 87 lq_tmp$x##328 : {VV##598 : int | []}+bind 88 VV##599 : {VV##599 : int | [$k_##348[lq_tmp$x##355:=lq_tmp$x##328][lq_tmp$x##356:=VV##599][VV##347:=VV##599][lq_tmp$x##339:=lq_anf$##dxu][lq_tmp$x##346:=lq_tmp$x##328][lq_tmp$x##357:=VV##592][VV##350:=VV##592]]}+bind 89 VV##601 : {VV##601 : int | [(VV##601 = lq_anf$##dxu)]}+bind 90 VV##603 : {VV##603 : (Tuple int int) | [((snd VV##603) = cow##ax4);+ ((fst VV##603) = wink##ax3);+ ((x_Tuple22 VV##603) = cow##ax4);+ ((x_Tuple21 VV##603) = wink##ax3)]}+bind 91 VV##605 : {VV##605 : int | [$k_##297[lq_tmp$x##295:=cow##ax4][lq_tmp$x##299:=VV##605][lq_tmp$x##291:=VV##603][lq_tmp$x##294:=wink##ax3][VV##296:=VV##605]]}+bind 92 VV##607 : {VV##607 : int | [$k_##301[lq_tmp$x##295:=cow##ax4][lq_tmp$x##291:=VV##603][lq_tmp$x##294:=wink##ax3][VV##300:=VV##607][lq_tmp$x##303:=VV##607]]}+bind 93 lq_tmp$x##264 : {VV##609 : int | []}+bind 94 VV##610 : {VV##610 : int | [$k_##305[lq_tmp$x##295:=cow##ax4][lq_tmp$x##290:=lq_tmp$x##264][VV##304:=VV##610][lq_tmp$x##307:=lq_tmp$x##264][lq_tmp$x##291:=VV##603][lq_tmp$x##294:=wink##ax3][lq_tmp$x##303:=VV##610]]}+bind 95 VV##612 : {VV##612 : int | [(VV##612 = cow##ax4)]}+bind 96 VV##614 : {VV##614 : int | [(VV##614 = wink##ax3)]}+bind 97 VV##616 : {VV##616 : int | [(VV##616 = yog##awz)]}+bind 98 VV##618 : {VV##618 : int | [(VV##618 = xig##awy)]}+bind 99 VV##473 : {VV##473 : int | [$k_##474]}+bind 100 VV##443 : {VV##443 : int | [$k_##444]}+bind 101 VV##435 : {VV##435 : int | [$k_##436]}+bind 102 VV##431 : {VV##431 : int | [$k_##432]}+bind 103 VV##427 : {VV##427 : int | [$k_##428]}+bind 104 VV##391 : {VV##391 : int | [$k_##392]}+bind 105 VV##361 : {VV##361 : int | [$k_##362]}+bind 106 VV##318 : {VV##318 : GHC.Prim.Void# | [$k_##319]}+bind 107 VV##350 : {VV##350 : (Tuple int int) | [$k_##351]}+bind 108 VV##340 : {VV##340 : int | [$k_##341]}+bind 109 VV##343 : {VV##343 : int | [$k_##344]}+bind 110 lq_tmp$x##346 : {VV##631 : int | []}+bind 111 VV##347 : {VV##347 : int | [$k_##348]}+bind 112 VV##332 : {VV##332 : (Tuple int int) | [$k_##333]}+bind 113 VV##322 : {VV##322 : int | [$k_##323]}+bind 114 VV##325 : {VV##325 : int | [$k_##326]}+bind 115 lq_tmp$x##328 : {VV##636 : int | []}+bind 116 VV##329 : {VV##329 : int | [$k_##330]}+bind 117 VV##304 : {VV##304 : int | [$k_##305]}+bind 118 VV##300 : {VV##300 : int | [$k_##301]}+bind 119 VV##296 : {VV##296 : int | [$k_##297]}+bind 120 VV##268 : {VV##268 : (Tuple int int) | [$k_##269]}+bind 121 VV##258 : {VV##258 : int | [$k_##259]}+bind 122 VV##261 : {VV##261 : int | [$k_##262]}+bind 123 lq_tmp$x##264 : {VV##644 : int | []}+bind 124 VV##265 : {VV##265 : int | [$k_##266]}+bind 125 VV##251 : {VV##251 : int | [$k_##252]}+bind 126 VV##247 : {VV##247 : int | [$k_##248]}++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 34;+ 40;+ 42;+ 48;+ 54 ]+ lhs {VV##1 : int | [(VV##1 = cow##awB)]}+ rhs {VV##1 : int | [(wink##awA < VV##1)]}+ id 1 tag [1]+ // META constraint id 1 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 34;+ 40;+ 42;+ 48;+ 49;+ 50;+ 51;+ 52;+ 53]+ lhs {VV##2 : int | [(VV##2 = cow##ax4)]}+ rhs {VV##2 : int | [$k_##474[VV##569:=VV##2][VV##F##2:=VV##2][VV##F:=VV##2][VV##473:=VV##2]]}+ id 2 tag [1]+ // META constraint id 2 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 19;+ 20;+ 21;+ 22]+ lhs {VV##18 : (Tuple int int) | [((snd VV##18) = cow##ax4);+ ((fst VV##18) = wink##ax3);+ ((x_Tuple22 VV##18) = cow##ax4);+ ((x_Tuple21 VV##18) = wink##ax3)]}+ rhs {VV##18 : (Tuple int int) | [$k_##269[VV##F##18:=VV##18][VV##268:=VV##18][VV##603:=VV##18][VV##F:=VV##18]]}+ id 18 tag [1]+ // META constraint id 18 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 34;+ 40;+ 42;+ 43;+ 44;+ 45;+ 46;+ 47]+ lhs {VV##3 : int | [(VV##3 = wink##ax3)]}+ rhs {VV##3 : int | [$k_##444[VV##571:=VV##3][VV##F:=VV##3][VV##F##3:=VV##3][VV##443:=VV##3]]}+ id 3 tag [1]+ // META constraint id 3 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 19;+ 20;+ 21;+ 22;+ 90]+ lhs {VV##19 : int | [$k_##297[lq_tmp$x##295:=cow##ax4][VV##605:=VV##19][lq_tmp$x##299:=VV##19][lq_tmp$x##291:=VV##603][VV##F##19:=VV##19][lq_tmp$x##294:=wink##ax3][VV##F:=VV##19][VV##296:=VV##19]]}+ rhs {VV##19 : int | [$k_##259[VV##605:=VV##19][VV##268:=VV##603][VV##258:=VV##19][VV##F##19:=VV##19][VV##F:=VV##19]]}+ id 19 tag [1]+ // META constraint id 19 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 34;+ 40]+ lhs {VV##4 : int | [(VV##4 = cow##ax4)]}+ rhs {VV##4 : int | [$k_##432[lq_tmp$x##425:=wink##ax3][VV##431:=VV##4][VV##573:=VV##4][lq_tmp$x##434:=VV##4][VV##F:=VV##4][VV##F##4:=VV##4]]}+ id 4 tag [1]+ // META constraint id 4 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 19;+ 20;+ 21;+ 22;+ 90]+ lhs {VV##20 : int | [$k_##301[lq_tmp$x##295:=cow##ax4][VV##607:=VV##20][VV##F##20:=VV##20][lq_tmp$x##291:=VV##603][lq_tmp$x##294:=wink##ax3][VV##300:=VV##20][lq_tmp$x##303:=VV##20][VV##F:=VV##20]]}+ rhs {VV##20 : int | [$k_##262[VV##268:=VV##603][VV##607:=VV##20][VV##F##20:=VV##20][VV##261:=VV##20][VV##F:=VV##20]]}+ id 20 tag [1]+ // META constraint id 20 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 34;+ 40]+ lhs {VV##5 : int | [(VV##5 = cow##ax4)]}+ rhs {VV##5 : int | [$k_##436[lq_tmp$x##425:=wink##ax3][VV##F##5:=VV##5][VV##573:=VV##5][lq_tmp$x##438:=wink##ax3][lq_tmp$x##434:=VV##5][VV##F:=VV##5][VV##435:=VV##5]]}+ id 5 tag [1]+ // META constraint id 5 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 19;+ 20;+ 21;+ 22;+ 90;+ 93]+ lhs {VV##21 : int | [$k_##305[lq_tmp$x##295:=cow##ax4][lq_tmp$x##290:=lq_tmp$x##264][VV##304:=VV##21][VV##610:=VV##21][lq_tmp$x##307:=lq_tmp$x##264][lq_tmp$x##291:=VV##603][lq_tmp$x##294:=wink##ax3][lq_tmp$x##303:=VV##21][VV##F##21:=VV##21][VV##F:=VV##21]]}+ rhs {VV##21 : int | [$k_##266[VV##265:=VV##21][VV##610:=VV##21][VV##268:=VV##603][VV##F##21:=VV##21][VV##F:=VV##21]]}+ id 21 tag [1]+ // META constraint id 21 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 34;+ 40]+ lhs {VV##6 : int | [(VV##6 = wink##ax3)]}+ rhs {VV##6 : int | [$k_##428[VV##F##6:=VV##6][VV##427:=VV##6][lq_tmp$x##430:=VV##6][VV##F:=VV##6][VV##575:=VV##6]]}+ id 6 tag [1]+ // META constraint id 6 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 19;+ 20;+ 21;+ 22]+ lhs {VV##22 : int | [(VV##22 = cow##ax4)]}+ rhs {VV##22 : int | [$k_##301[VV##F##22:=VV##22][VV##612:=VV##22][lq_tmp$x##294:=wink##ax3][VV##300:=VV##22][lq_tmp$x##303:=VV##22][VV##F:=VV##22]]}+ id 22 tag [1]+ // META constraint id 22 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 34;+ 35;+ 36;+ 37;+ 38;+ 39]+ lhs {VV##7 : int | [(VV##7 = cow##ax4)]}+ rhs {VV##7 : int | [$k_##392[VV##391:=VV##7][VV##F##7:=VV##7][VV##F:=VV##7][VV##577:=VV##7]]}+ id 7 tag [1]+ // META constraint id 7 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 19;+ 20;+ 21;+ 22]+ lhs {VV##23 : int | [(VV##23 = cow##ax4)]}+ rhs {VV##23 : int | [$k_##305[VV##304:=VV##23][lq_tmp$x##307:=wink##ax3][VV##612:=VV##23][lq_tmp$x##294:=wink##ax3][lq_tmp$x##303:=VV##23][VV##F:=VV##23][VV##F##23:=VV##23]]}+ id 23 tag [1]+ // META constraint id 23 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 29;+ 30;+ 31;+ 32;+ 33]+ lhs {VV##8 : int | [(VV##8 = wink##ax3)]}+ rhs {VV##8 : int | [$k_##362[VV##579:=VV##8][VV##F##8:=VV##8][VV##361:=VV##8][VV##F:=VV##8]]}+ id 8 tag [1]+ // META constraint id 8 : ()+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 19;+ 20;+ 21;+ 22]+ lhs {VV##24 : int | [(VV##24 = wink##ax3)]}+ rhs {VV##24 : int | [$k_##297[lq_tmp$x##299:=VV##24][VV##614:=VV##24][VV##F:=VV##24][VV##296:=VV##24][VV##F##24:=VV##24]]}+ id 24 tag [1]+ // META constraint id 24 : ()+++constraint:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16]+ lhs {VV##25 : int | [(VV##25 = yog##awz)]}+ rhs {VV##25 : int | [$k_##252[VV##251:=VV##25][lq_tmp$x##254:=VV##25][lq_tmp$x##245:=xig##awy][VV##F:=VV##25][VV##616:=VV##25][VV##F##25:=VV##25]]}+ id 25 tag [1]+ // META constraint id 25 : ()+++constraint:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16]+ lhs {VV##26 : int | [(VV##26 = xig##awy)]}+ rhs {VV##26 : int | [$k_##248[VV##618:=VV##26][VV##247:=VV##26][VV##F##26:=VV##26][VV##F:=VV##26][lq_tmp$x##250:=VV##26]]}+ id 26 tag [1]+ // META constraint id 26 : ()+++++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 24;+ 25;+ 26;+ 115]+ reft {VV##329 : int | [$k_##330]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 24;+ 25]+ reft {VV##318 : GHC.Prim.Void# | [$k_##319]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 24;+ 25;+ 26;+ 27;+ 107]+ reft {VV##343 : int | [$k_##344]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 34;+ 40]+ reft {VV##427 : int | [$k_##428]}+ // META wf : ()+++wf:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16]+ reft {VV##247 : int | [$k_##248]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 34;+ 40;+ 41]+ reft {VV##435 : int | [$k_##436]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 34;+ 40;+ 42]+ reft {VV##443 : int | [$k_##444]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 19;+ 20;+ 21;+ 22]+ reft {VV##296 : int | [$k_##297]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 24;+ 25;+ 26;+ 27;+ 110]+ reft {VV##347 : int | [$k_##348]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 34;+ 40;+ 42;+ 48]+ reft {VV##473 : int | [$k_##474]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 24;+ 25;+ 26;+ 27]+ reft {VV##350 : (Tuple int int) | [$k_##351]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 34]+ reft {VV##391 : int | [$k_##392]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 24;+ 25;+ 26]+ reft {VV##332 : (Tuple int int) | [$k_##333]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 120]+ reft {VV##258 : int | [$k_##259]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 120]+ reft {VV##261 : int | [$k_##262]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 24;+ 25;+ 26;+ 27;+ 107]+ reft {VV##340 : int | [$k_##341]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 19;+ 20;+ 21;+ 22;+ 23]+ reft {VV##304 : int | [$k_##305]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 24;+ 25;+ 26;+ 112]+ reft {VV##325 : int | [$k_##326]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28]+ reft {VV##361 : int | [$k_##362]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 123]+ reft {VV##265 : int | [$k_##266]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 24;+ 25;+ 26;+ 112]+ reft {VV##322 : int | [$k_##323]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 18;+ 19;+ 20;+ 21;+ 22]+ reft {VV##300 : int | [$k_##301]}+ // META wf : ()+++wf:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17]+ reft {VV##268 : (Tuple int int) | [$k_##269]}+ // META wf : ()+++wf:+ env [0;+ 1;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15;+ 16;+ 17;+ 28;+ 34;+ 40]+ reft {VV##431 : int | [$k_##432]}+ // META wf : ()+++wf:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16]+ reft {VV##251 : int | [$k_##252]}+ // META wf : ()
@@ -0,0 +1,20 @@+bind 0 x : {v : int | []}++bind 1 y : {v : int | []}++constraint:+ env [0; 1]+ lhs {VV#F1 : int | []}+ rhs {VV#F1 : int | [$k_0[v:=x]]}+ id 1 tag [3]++constraint:+ env [0; 1]+ lhs {VV#F2 : int | [$k_0[v:=y]]}+ rhs {VV#F2 : int | [y = x]}+ id 2 tag [4]++wf:+ env []+ reft {v : int | [$k_0]}+
@@ -0,0 +1,23 @@++// This qualifier saves the day; solve constraints WITHOUT IT+//qualif ListZ(v : [@(0)]): (len v >= 0)++constant len : (func(2, [(@(0) @(1)); int]))++bind 0 y : {v : [(Tuple int a)] | [len v >= 0]}++constraint:+ env [0]+ lhs {v : [(Tuple int a)] | [v = y] }+ rhs {v : [(Tuple int a)] | [$k0] }+ id 1 tag []++constraint:+ env []+ lhs {v : [(Tuple int a)] | [$k0] }+ rhs {v : [(Tuple int a)] | [len v >= 0] }+ id 2 tag []++wf:+ env [ ]+ reft {v : [(Tuple int a)] | [$k0] }
@@ -0,0 +1,12 @@+++// This qualifier saves the day; solve constraints WITHOUT IT+// qualif Zog(v:a) : (10 <= v)++bind 0 a : {v:int | (v = 10 || v = 20) }++constraint:+ env [ 0 ]+ lhs {v : int | v = a}+ rhs {v : int | 10 <= v}+ id 3 tag []
@@ -0,0 +1,26 @@+// This qualifier saves the day; solve constraints WITHOUT IT+// qualif Zog(v:a) : (10 <= v)++bind 0 a : {v: int | $k0}++constraint:+ env [ ]+ lhs {v : int | v = 10}+ rhs {v : int | $k0}+ id 1 tag []++constraint:+ env [ ]+ lhs {v : int | v = 20}+ rhs {v : int | $k0}+ id 2 tag []++constraint:+ env [ 0 ]+ lhs {v : int | v = a}+ rhs {v : int | 10 <= v}+ id 3 tag []++wf:+ env [ ]+ reft {v: int | $k0}
@@ -0,0 +1,28 @@+// This qualifier saves the day; solve constraints WITHOUT IT+// qualif Zog(v:a) : (10 <= v)++bind 0 x : {v : int | true}+bind 1 y : {v : int | true}+bind 2 z : {v : int | true}++constraint:+ env [0]+ lhs {v : int | (x = 10)}+ rhs {v : int | $k0[v:=x]}+ id 1 tag []++constraint:+ env [1]+ lhs {v : int | y = 20}+ rhs {v : int | $k0[v:=y]}+ id 2 tag []++constraint:+ env [2]+ lhs {v : int | $k0[v:=z]}+ rhs {v : int | 10 <= z}+ id 3 tag []++wf:+ env [ ]+ reft {v: int | $k0}
@@ -0,0 +1,29 @@++// This qualifier saves the day; solve constraints WITHOUT IT+// qualif Zog(v:a) : (10 <= v)++bind 0 x : {v : int | v = 10}+bind 1 y : {v : int | v = 20}+bind 2 a : {v : int | $k0 }+ +constraint:+ env [0]+ lhs {v : int | v = x}+ rhs {v : int | $k0 }+ id 1 tag []++constraint:+ env [1]+ lhs {v : int | v = y}+ rhs {v : int | $k0 }+ id 2 tag []++constraint:+ env [2]+ lhs {v : int | v = a }+ rhs {v : int | 10 <= v}+ id 3 tag []++wf:+ env [ ]+ reft {v : int | $k0}
@@ -0,0 +1,53 @@++// This qualifier saves the day; solve constraints WITHOUT IT+// qualif Zog(v:a): (10 <= v)++// But you may use this one+qualif Pog(v:a): (0 <= v)++bind 0 x: {v: int | v = 10}+bind 1 a: {v: int | $k1 }+bind 2 y: {v: int | v = 20}+bind 3 b: {v: int | $k1 }+bind 4 c: {v: int | $k0 }++cut $k1++constraint:+ env [ ]+ lhs {v : int | v = 0}+ rhs {v : int | $k1 }+ id 0 tag []+++constraint:+ env [0; 1]+ lhs {v : int | v = x + a}+ rhs {v : int | $k0}+ id 1 tag []++constraint:+ env [2; 3]+ lhs {v : int | v = y + b}+ rhs {v : int | $k0}+ id 2 tag []++constraint:+ env [ ]+ lhs {v : int | $k0}+ rhs {v : int | $k1}+ id 3 tag []++constraint:+ env [4]+ lhs {v : int | v = c }+ rhs {v : int | 10 <= v}+ id 4 tag []++wf:+ env [ ]+ reft {v: int | $k0}++wf:+ env [ ]+ reft {v: int | $k1}
@@ -0,0 +1,114 @@++bind 0 cat : {v: int | v = 100 }+bind 1 dog : {v: int | v = 200 }+bind 2 frog : {v: int | v = 400 }+bind 3 mouse : {v: int | v = 500 }+bind 4 hippo : {v: int | v = 600 }+bind 5 goose : {v: int | v = 700 }+bind 6 crow : {v: int | v = 800 }+bind 7 pig : {v: int | v = 900 }++bind 20 x_1_1 : {v: int | $k_1_1 }+bind 21 x_1_2 : {v: int | $k_1_2 }+bind 22 x_2_1 : {v: int | $k_2_1 }+bind 23 x_2_2 : {v: int | $k_2_2 }+bind 24 x_3_1 : {v: int | $k_3_1 }+bind 25 x_3_2 : {v: int | $k_3_2 }++pack $k_1_1 : 1+pack $k_1_2 : 1+pack $k_2_1 : 2+pack $k_2_2 : 2+pack $k_3_1 : 3+pack $k_3_2 : 3+pack $k_4_1 : 4+pack $k_4_2 : 4++++constraint:+ env [ 0; 1; 2; 3; 4; 5; 6; 7 ]+ lhs {v : int | v = 1}+ rhs {v : int | $k_1_1}+ id 1 tag []++constraint:+ env [ 0; 1; 2; 3; 4; 5; 6; 7 ]+ lhs {v : int | v = 2}+ rhs {v : int | $k_1_2}+ id 2 tag []++constraint:+ env [ 20; 21 ]+ lhs {v : int | v = x_1_1 }+ rhs {v : int | $k_2_1 }+ id 3 tag []++constraint:+ env [ 20; 21 ]+ lhs {v : int | v = x_1_2 }+ rhs {v : int | $k_2_2 }+ id 4 tag []++constraint:+ env [ 22; 23 ]+ lhs {v : int | v = x_2_1 }+ rhs {v : int | $k_3_1 }+ id 5 tag []++constraint:+ env [ 22; 23 ]+ lhs {v : int | v = x_2_2 }+ rhs {v : int | $k_3_2 }+ id 6 tag []++constraint:+ env [ 24; 25 ]+ lhs {v : int | v = x_3_1 }+ rhs {v : int | $k_4_1 }+ id 7 tag []++constraint:+ env [ 24; 25 ]+ lhs {v : int | v = x_3_2 }+ rhs {v : int | $k_4_2 }+ id 8 tag []++constraint:+ env [ ]+ lhs {v : int | $k_4_1 }+ rhs {v : int | v = 1 }+ id 9 tag []++wf:+ env [ ]+ reft {v: int | $k_1_1}++wf:+ env [ ]+ reft {v: int | $k_1_2}++wf:+ env [ ]+ reft {v: int | $k_2_1}++wf:+ env [ ]+ reft {v: int | $k_2_2}++wf:+ env [ ]+ reft {v: int | $k_3_1}++wf:+ env [ ]+ reft {v: int | $k_3_2}+++wf:+ env [ ]+ reft {v: int | $k_4_1}++wf:+ env [ ]+ reft {v: int | $k_4_2}
@@ -0,0 +1,137 @@+// This test illustrates how you can get an exponential VC from nested tuples++bind 0 cat : {v: int | v = 100 }+bind 1 dog : {v: int | v = 200 }+bind 2 frog : {v: int | v = 400 }+bind 3 mouse : {v: int | v = 500 }+bind 4 hippo : {v: int | v = 600 }+bind 5 goose : {v: int | v = 700 }+bind 6 crow : {v: int | v = 800 }+bind 7 pig : {v: int | v = 900 }++bind 20 x_1_1 : {v: int | $k_1_1 }+bind 21 x_1_2 : {v: int | $k_1_2 }+bind 22 x_2_1 : {v: int | $k_2_1 }+bind 23 x_2_2 : {v: int | $k_2_2 }+bind 24 x_3_1 : {v: int | $k_3_1 }+bind 25 x_3_2 : {v: int | $k_3_2 }+bind 26 x_4_1 : {v: int | $k_4_1 }+bind 27 x_4_2 : {v: int | $k_4_2 }++// pack $k_1_1 : 1+// pack $k_1_2 : 1+// pack $k_2_1 : 2+// pack $k_2_2 : 2+// pack $k_3_1 : 3+// pack $k_3_2 : 3+// pack $k_4_1 : 4+// pack $k_4_2 : 4+// pack $k_5_1 : 5+// pack $k_5_2 : 5++constraint:+ env [ 0; 1; 2; 3; 4; 5; 6; 7 ]+ lhs {v : int | v = 1}+ rhs {v : int | $k_1_1}+ id 1 tag []++constraint:+ env [ 0; 1; 2; 3; 4; 5; 6; 7 ]+ lhs {v : int | v = 2}+ rhs {v : int | $k_1_2}+ id 2 tag []++constraint:+ env [ 20; 21 ]+ lhs {v : int | v = x_1_1 }+ rhs {v : int | $k_2_1 }+ id 3 tag []++constraint:+ env [ 20; 21 ]+ lhs {v : int | v = x_1_2 }+ rhs {v : int | $k_2_2 }+ id 4 tag []++constraint:+ env [ 22; 23 ]+ lhs {v : int | v = x_2_1 }+ rhs {v : int | $k_3_1 }+ id 5 tag []++constraint:+ env [ 22; 23 ]+ lhs {v : int | v = x_2_2 }+ rhs {v : int | $k_3_2 }+ id 6 tag []++constraint:+ env [ 24; 25 ]+ lhs {v : int | v = x_3_1 }+ rhs {v : int | $k_4_1 }+ id 7 tag []++constraint:+ env [ 24; 25 ]+ lhs {v : int | v = x_3_2 }+ rhs {v : int | $k_4_2 }+ id 8 tag []++constraint:+ env [ 26; 27 ]+ lhs {v : int | v = x_4_1 }+ rhs {v : int | $k_5_1 }+ id 9 tag []++constraint:+ env [ 26; 27 ]+ lhs {v : int | v = x_4_2 }+ rhs {v : int | $k_5_2 }+ id 10 tag []++constraint:+ env [ ]+ lhs {v : int | $k_5_1 }+ rhs {v : int | v = 1 }+ id 11 tag []++wf:+ env [ ]+ reft {v: int | $k_1_1}++wf:+ env [ ]+ reft {v: int | $k_1_2}++wf:+ env [ ]+ reft {v: int | $k_2_1}++wf:+ env [ ]+ reft {v: int | $k_2_2}++wf:+ env [ ]+ reft {v: int | $k_3_1}++wf:+ env [ ]+ reft {v: int | $k_3_2}+++wf:+ env [ ]+ reft {v: int | $k_4_1}++wf:+ env [ ]+ reft {v: int | $k_4_2}++wf:+ env [ ]+ reft {v: int | $k_5_1}++wf:+ env [ ]+ reft {v: int | $k_5_2}
@@ -0,0 +1,29 @@+(fixpoint "--eliminate=horn")++(var $k_##1 ((Int) (Int)))+(var $k_##3 ((Int) (Int)))++(constraint+ (and+ (forall ((x int) (true))+ (forall ((pos bool) (pos <=> x >= 0))+ (and+ (forall ((lq_tmp$grd##3 bool) (pos))+ (forall ((VV int) (VV == x))+ (($k_##1 VV x))))+ (forall ((lq_tmp$grd##3 bool) (not pos))+ (forall ((v int) (v == 0 - x))+ (($k_##1 v x)))))))+ (forall ((z int) (true))+ (and+ (forall ((r int) (r >= 0))+ (forall ((v int) (v == r + 1))+ (($k_##3 v z))))+ (and+ (forall ((_t1 int) (_t1 >= 0))+ (forall ((VV##0 int) ($k_##1 VV##0 _t1))+ (((VV##0 >= 0)))))+ (forall ((res int) ($k_##3 res z))+ (forall ((ok bool) (ok <=> 6660 <= res))+ (forall ((v bool) ((v <=> 6660 <= res) && v == ok))+ ((v))))))))))
@@ -0,0 +1,16 @@+(fixpoint "--eliminate=horn")++(var $ka ((Int)))+(var $kb ((Int)))++(constraint+(and+ (exists ((x1 Int) (true))+ (and+ (forall ((v Int) (v = 1)) ((v = x1)))+ (forall ((v Int) (v = x1 + 1)) (($ka v)))))+ (exists ((x2 Int) (true))+ (and+ (forall ((v Int) ($ka v)) ((v = x2)))+ (forall ((v Int) (v = x2 + 1)) (($kb v)))))+ (forall ((v Int) ($kb v)) ((v = 5)))))
@@ -0,0 +1,10 @@+(fixpoint "--eliminate=horn")++// TODO move to actual SMTLIB format ++(constraint +(forall ((x Int) (x > 0))+ (forall ((y Int) (y > x))+ (forall ((v Int) (v = x + y)) + ((v > 10)))))+)
@@ -0,0 +1,16 @@+(fixpoint "--eliminate=horn")++// TODO move to actual SMTLIB format ++(constraint +(forall ((x Int) (x > 0))+ (and+ (forall ((y Int) (y > x))+ (forall ((v Int) (v = x + y)) + ( (v > 0) )))+ (forall ((z Int) (z > 10))+ (forall ((v Int) (v = x + z)) + ( (v > 100) )))))+)++
@@ -0,0 +1,18 @@+(fixpoint "--eliminate=horn")++// TODO move to actual SMTLIB format ++(var $k0 ((Int)))++(qualif Foo ((v Int)) ((v > 100)))++(constraint + (forall ((x Int) (x > 0))+ (and+ (forall ((y Int) (y > x + 100))+ (forall ((v Int) (v = x + y)) + (($k0 v))))+ (forall ((z Int) ($k0 z))+ (forall ((v Int) (v = x + z)) + ((v > 200)))))))+
@@ -0,0 +1,24 @@+(fixpoint "--eliminate=horn")++// TODO move to actual SMTLIB format ++(var $k0 ((Int)))++(qualif Foo ((v Int)) ((v > 10)))++(constraint + (and + (forall ((x Int) (x > 0))+ (forall ((v Int) (v = x)) + (($k0 v))))+ (forall ((y Int) ($k0 y))+ (forall ((v Int) (v = y + 1)) + (($k0 v))))+ (forall ((z Int) ($k0 z))+ ((z > 0)))))++++++
@@ -0,0 +1,13 @@+(constraint + (and+ (forall ((x int) (true))+ (forall ((VV int) (VV == 10))+ ((VV >= 0))))+ (forall ((z int) (true))+ (and+ (forall ((r int) (r >= 0))+ (forall ((v int) (v >= 0 && v == r))+ (((v >= 0)))))+ (forall ((_t1 int) (_t1 >= 0))+ (forall ((v int) (v >= 0))+ (((v >= 0)))))))))
@@ -0,0 +1,13 @@+(var $k0 ((Int)))++(qualif Foo ((v Int)) ((v > 100)))++(constraint + (forall ((x Int) (x > 0))+ (and+ (forall ((v Int) (v = f x))+ (($k0 v)))+ (forall ((z Int) ($k0 z))+ ((z = f x))))))++(constant f (func(0, [Int;Int])))
@@ -0,0 +1,6 @@+(constraint+ (forall ((m Int) (true))+ (exists ((x1 Int) (true))+ (and+ (forall ((v Int) (v = m + 1)) ((v = x1)))+ (forall ((v Int) (v = x1 + 1)) ((v = 2 + m)))))))
@@ -0,0 +1,11 @@+(var $k ((Int)))++(constraint+ (forall ((m Int) (true))+ (forall ((z Int) (z = m - 1))+ (and+ (forall ((v1 Int) (v1 = z + 2)) (($k v1)))+ (exists ((x1 Int) (true))+ (and+ (forall ((v2 Int) ($k v2)) ((v2 = x1)))+ (forall ((v3 Int) (v3 = x1 + 1)) ((v3 = m + 2)))))))))
@@ -0,0 +1,14 @@+(var $ka ((Int)))+(var $kb ((Int)))++(constraint+(and+ (exists ((x1 Int) (true))+ (and+ (forall ((v Int) (v = 1)) ((v = x1)))+ (forall ((v Int) (v = x1 + 1)) (($ka v)))))+ (exists ((x2 Int) (true))+ (and+ (forall ((v Int) ($ka v)) ((v = x2)))+ (forall ((v Int) (v = x2 + 1)) (($kb v)))))+ (forall ((v Int) ($kb v)) ((v = 3)))))
@@ -0,0 +1,14 @@+(fixpoint "--eliminate=horn")++(var $k ((Int)))++(constraint+ (forall ((x Int) (x >= 0))+ (and+ (forall ((v Int) (v = x - 1))+ (($k v)))+ (forall ((y Int) ($k y))+ (forall ((v Int) (v = y + 1))+ ((v >= 0)))))))++
@@ -0,0 +1,19 @@+(fixpoint "--eliminate=horn")++(var $kx ((Int)))+(var $ky ((Int)))++(constraint+ (forall ((x Int) (x >= 0))+ (and+ (forall ((n Int) (n = x - 1))+ (forall ((p Int) (p = x + 1))+ (and+ (forall ((v Int) (v = n)) (($kx v)))+ (forall ((v Int) (v = p)) (($ky v)))+ (forall ((v Int) ($kx p)) (($ky v))))))+ (forall ((y Int) ($ky y))+ (forall ((v Int) (v = y + 1))+ ((v >= 0)))))))++
@@ -0,0 +1,16 @@+(fixpoint "--eliminate=horn")++(var $ka ((Int)))+(var $kb ((Int)))+(var $kc ((Int)))++(constraint+ (and+ (forall ((a Int) ($ka a))+ (forall ((v Int) (v = a - 1)) (($kb v))))+ (forall ((b Int) ($kb b))+ (forall ((v Int) (v = b + 1))+ (($kc v))))+ (forall ((v Int) (v >= 0)) (($ka v)))+ (forall ((v Int) ($kc v)) ((v >= 0)))))+
@@ -0,0 +1,24 @@+(qualif Bar ((v int)) (v >= 0))++(var $k_##1 ((Int)))++(constraint+ (and+ (forall ((n int) (true))+ (forall ((cond bool) (cond <=> n <= 0))+ (and+ (forall ((lq_tmp$grd##4 bool) (cond))+ (forall ((VV int) (VV == 0))+ (($k_##1 VV))))+ (forall ((lq_tmp$grd##4 bool) (not cond))+ (forall ((n1 int) (n1 == n - 1))+ (forall ((t1 int) ($k_##1 t1))+ (forall ((v int) (v == n + t1))+ (($k_##1 v)))))))))+ (forall ((y int) (true))+ (forall ((r int) ($k_##1 r))+ (forall ((ok1 bool) (ok1 <=> 0 <= r))+ (forall ((v bool) (and (v <=> 0 <= r) (v == ok1)))+ ((v)))))))) ++
@@ -0,0 +1,24 @@+(qualif Bar ((v int)) (v >= 0))++(var $k_##1 ((int) (int)))++(constraint+ (and+ (forall ((n int) (true))+ (forall ((cond bool) (cond <=> n <= 0))+ (and+ (forall ((lq_tmp$grd##4 bool) (cond))+ (forall ((VV int) (VV == 0))+ (($k_##1 VV n))))+ (forall ((lq_tmp$grd##4 bool) (not cond))+ (forall ((n1 int) (n1 == n - 1))+ (forall ((t1 int) ($k_##1 t1 n1))+ (forall ((v int) (v == n + t1))+ (($k_##1 v n1)))))))))+ (forall ((y int) (true))+ (forall ((r int) ($k_##1 r y))+ (forall ((ok1 bool) (ok1 <=> 0 <= r))+ (forall ((v bool) (and (v <=> 0 <= r) (v == ok1)))+ ((v)))))))) ++
@@ -0,0 +1,15 @@+// TODO move to actual SMTLIB format +(fixpoint "--eliminate=horn")++(qualif Foo ((v Int) (x Int)) (v = x))+(qualif Bar ((v Int) (x Int)) (v > x))++(var $k1 ((Int) (Int) (Int)))+(var $k2 ((Int) (Int) (Int)))+(var $k3 ((Int) (Int) (Int)))++(constraint+ (forall ((x Int) (x > 0))+ (forall ((y Int) (y > x))+ (forall ((v Int) (v = x + y)) + ((v > 0))))))
@@ -0,0 +1,12 @@+// TODO move to actual SMTLIB format +(fixpoint "--eliminate=horn")++(constraint + (forall ((x Int) (x > 0))+ (and+ (forall ((y Int) (y > x))+ (forall ((v Int) (v = x + y))+ ((v > 0))))+ (forall ((z Int) (z > 100))+ (forall ((v Int) (v = x + z)) + ((v > 100)))))))
@@ -0,0 +1,18 @@+// TODO move to actual SMTLIB format +(fixpoint "--eliminate=horn")++(var $k0 ((Int)))++(qualif Foo ((v Int)) ((v > 100)))++(constraint + (forall ((x Int) (x > 0))+ (and+ (forall ((y Int) (y > x + 100))+ (forall ((v Int) (v = x + y)) + (($k0 v))))+ (forall ((z Int) ($k0 z))+ (forall ((v Int) (v = x + z)) + ((v > 100)))))))++
@@ -0,0 +1,22 @@+// TODO move to actual SMTLIB format ++(var $k0 ((Int)))++(qualif Foo ((v Int)) ((v > 0)))++(constraint + (and + (forall ((x Int) (x > 0))+ (forall ((v Int) (v = x)) + (($k0 v))))+ (forall ((y Int) ($k0 y))+ (forall ((v Int) (v = y + 1)) + (($k0 v))))+ (forall ((z Int) ($k0 z))+ ((z > 0)))))++++++
@@ -0,0 +1,30 @@+qualif Cmp(v:a): (v = 10)+qualif Cmp(v:a): (v = 12)++constraint:+ env []+ lhs {v : int | [v = 10]}+ rhs {v : int | [$k_0]}+ id 1 tag [3]++constraint:+ env []+ lhs {v : int | [$k_0]}+ rhs {v : int | [v != 10]}+ id 4 tag [4]++constraint:+ env []+ lhs {v : int | [v = 12]}+ rhs {v : int | [$k_0]}+ id 2 tag [5]++constraint:+ env []+ lhs {v : int | [$k_0]}+ rhs {v : int | [v != 12]}+ id 3 tag [6]++wf:+ env []+ reft {v : int | [$k_0]}
@@ -0,0 +1,91 @@++bind 0 GHC.Num.$fNumInt##rlL : {VV##27 : (GHC.Num.Num int) | []}+bind 1 GHC.Types.EQ##6U : {VV##28 : GHC.Types.Ordering | [(VV##28 = GHC.Types.EQ##6U)]}+bind 2 GHC.Types.LT##6S : {VV##29 : GHC.Types.Ordering | [(VV##29 = GHC.Types.LT##6S)]}+bind 3 GHC.Types.GT##6W : {VV##30 : GHC.Types.Ordering | [(VV##30 = GHC.Types.GT##6W)]}+bind 4 pig##amI : {VV##33 : int | []}+bind 5 lq_anf$##dvQ : {lq_tmp$x##41 : int | [(lq_tmp$x##41 = (1 : int))]}+bind 6 zink##alG : {zink##0 : int | [(zink##0 = 5)]}+bind 7 zonk##alH : {zonk##1 : int | [(zonk##1 = 67)]}+bind 8 bob##alJ : {lq_tmp$x##65 : int | [$k_##38[VV##37:=lq_tmp$x##65][lq_tmp$x##67:=zonk##alH][pig##amI:=zonk##alH]]}+bind 9 alice##alI : {lq_tmp$x##71 : int | [$k_##38[VV##37:=lq_tmp$x##71][pig##amI:=zink##alG][lq_tmp$x##73:=zink##alG]]}+bind 10 VV##96 : {VV##96 : int | []}+bind 11 zink##alG : {zink##0 : int | []}+bind 12 VV##99 : {VV##99 : int | []}+bind 13 lq_tmp$x##92 : {zonk##1 : int | []}+bind 14 VV##102 : {VV##102 : int | []}+bind 15 VV##104 : {VV##104 : int | []}+bind 16 zonk##alH : {zonk##1 : int | []}+bind 17 VV##107 : {VV##107 : int | []}+bind 18 VV##109 : {VV##109 : int | [(VV##109 = (alice##alI + bob##alJ))]}+bind 19 VV##111 : {VV##111 : int | [$k_##38[VV##37:=VV##111][lq_tmp$x##88:=VV##111][lq_tmp$x##67:=zonk##alH][lq_tmp$x##65:=VV##111][pig##amI:=zonk##alH];+ (VV##111 = bob##alJ)]}+bind 20 VV##113 : {VV##113 : int | [$k_##38[VV##37:=VV##113][lq_tmp$x##87:=VV##113][lq_tmp$x##71:=VV##113][pig##amI:=zink##alG][lq_tmp$x##73:=zink##alG];+ (VV##113 = alice##alI)]}+bind 21 VV##115 : {VV##115 : int | [(VV##115 = 5);+ (VV##115 = zink##alG)]}+bind 22 VV##117 : {VV##117 : int | [(VV##117 = 67);+ (VV##117 = zonk##alH)]}+bind 23 VV##119 : {VV##119 : int | [(VV##119 = (pig##amI + lq_anf$##dvQ))]}+bind 24 VV##121 : {VV##121 : int | [(VV##121 = (1 : int));+ (VV##121 = lq_anf$##dvQ)]}+bind 25 VV##123 : {VV##123 : int | [$k_##34[lq_tmp$x##57:=VV##123][VV##33:=VV##123];+ (VV##123 = pig##amI)]}+bind 26 VV##125 : {VV##125 : int | [(VV##125 = 1)]}+bind 27 VV##33 : {VV##33 : int | [$k_##34]}+bind 28 VV##37 : {VV##37 : int | [$k_##38]}+++++constraint:+ env [0; 1; 2; 3; 6; 7; 8; 9]+ lhs {VV##F##1 : int | [(VV##F##1 = (alice##alI + bob##alJ))]}+ rhs {VV##F##1 : int | [(VV##F##1 = 0)]}+ id 1 tag [2]+ // META constraint id 1 : ()+++constraint:+ env [0; 1; 2; 3; 6; 7]+ lhs {VV##F##2 : int | [(VV##F##2 = 5); (VV##F##2 = zink##alG)]}+ rhs {VV##F##2 : int | [$k_##34[VV##115:=VV##F##2][lq_tmp$x##70:=VV##F##2][VV##F:=VV##F##2][VV##33:=VV##F##2]]}+ id 2 tag [2]+ // META constraint id 2 : ()+++constraint:+ env [0; 1; 2; 3; 6; 7]+ lhs {VV##F##3 : int | [(VV##F##3 = 67); (VV##F##3 = zonk##alH)]}+ rhs {VV##F##3 : int | [$k_##34[lq_tmp$x##64:=VV##F##3][VV##117:=VV##F##3][VV##F:=VV##F##3][VV##33:=VV##F##3]]}+ id 3 tag [2]+ // META constraint id 3 : ()+++constraint:+ env [0; 1; 2; 3; 4; 5]+ lhs {VV##F##4 : int | [(VV##F##4 = (pig##amI + lq_anf$##dvQ))]}+ rhs {VV##F##4 : int | [$k_##38[VV##37:=VV##F##4][VV##119:=VV##F##4][VV##F:=VV##F##4]]}+ id 4 tag [1]+ // META constraint id 4 : ()+++++wf:+ env [0; 1; 2; 3; 4]+ reft {VV##37 : int | [$k_##38]}+ // META wf : ()+++wf:+ env [0; 1; 2; 3]+ reft {VV##33 : int | [$k_##34]}+ // META wf : ()+++++++
@@ -0,0 +1,24 @@++data Val 0 = [+ | VClos { vc1 : int, vc2 : int, vc3 : int, vc4 : VEnv}+ | VInt { vi1 : int } + ]++data VEnv 0 = [+ | VEmp { }+ | VBind { vb1 : int, vb2 : Val, vb3 : VEnv}+ ]++bind 1 env : {v : VEnv | true }+bind 2 val : {v : Val | true }+bind 3 x : {v : int | true } +bind 4 y : {v : int | true } +bind 5 envx : {v : VEnv | v = VBind x val env }+bind 6 envy : {v : VEnv | v = VBind y val env }++constraint: + env [1;2;3;4;5;6]+ lhs {v: int | true } + rhs {v: int | envx = envy} + id 1 tag []+
@@ -0,0 +1,22 @@+// Uncommenting the WF renders the constraints "unsafe" but right now its SAFE+// which is bad. We should fail with "missing WF" or somesuch.+++bind 0 x : {v: int | $k1 }++constraint:+ env []+ lhs {v : int | [v = 6] }+ rhs {v : int | $k1 }+ id 0 tag []++constraint:+ env [0]+ lhs {v : int | [v = x] }+ rhs {v : int | v = 0 }+ id 1 tag []++// wf:+// env []+// reft {v: int | $k1 }+
@@ -0,0 +1,16 @@+fixpoint "--eliminate=all"++// bind 0 x1 : {v: int | v = 10 }+ebind 0 x1 : { int }++constraint:+ env [0]+ lhs {v1 : int | v1 = 10}+ rhs {v1 : int | v1 = x1}+ id 1 tag []++constraint:+ env [0]+ lhs {v2 : int | v2 = x1 + 1 }+ rhs {v2 : int | v2 = 110 }+ id 2 tag []
@@ -0,0 +1,17 @@+fixpoint "--eliminate=all"++bind 1 m : {v: int | true }+ebind 2 x1 : { int }+// bind 2 x1 : {v: int | v = m + 1 }++constraint:+ env [1; 2]+ lhs {v : int | v = m + 1 }+ rhs {v : int | v = x1 }+ id 1 tag []++constraint:+ env [1; 2]+ lhs {v : int | v = x1 + 1}+ rhs {v : int | v = 20 + m }+ id 2 tag []
@@ -0,0 +1,28 @@+fixpoint "--eliminate=all"++bind 0 m : {v: int | true }+bind 1 z : {v: int | v = m - 1 }+ebind 2 x1 : { int }+// bind 2 x1 : {v: int | v = m + 1 }++constraint:+ env [0; 1]+ lhs {v : int | v = z + 2 }+ rhs {v : int | $k }+ id 1 tag []++constraint:+ env [0; 2]+ lhs {v : int | $k }+ rhs {v : int | v = x1 }+ id 2 tag []++constraint:+ env [0; 2]+ lhs {v : int | v = x1 + 1 }+ rhs {v : int | v = m + 20 }+ id 3 tag []++wf: + env [0]+ reft {v:int | [$k] }
@@ -0,0 +1,45 @@+fixpoint "--eliminate=all"++ebind 1 x1 : { int }+ebind 2 x2 : { int }+++constraint:+ env [1]+ lhs {v : int | v = 1 }+ rhs {v : int | v = x1 }+ id 1 tag []++constraint:+ env [1]+ lhs {v : int | v = x1 + 1 }+ rhs {v : int | $ka }+ id 2 tag []++constraint:+ env [2]+ lhs {v : int | $ka }+ rhs {v : int | v = x2 }+ id 3 tag []++constraint:+ env [2]+ lhs {v : int | v = x2 + 1}+ rhs {v : int | $kb }+ id 4 tag []++constraint:+ env []+ lhs {v : int | $kb }+ rhs {v : int | v = 30 } + id 5 tag []+++wf: + env []+ reft {v:int | [$ka] }++wf: + env []+ reft {v:int | [$kb] }+
@@ -0,0 +1,35 @@+fixpoint "--eliminate=all"++ebind 1 x : { int }++constraint:+ env [1]+ lhs {v : int | $k1 }+ rhs {v : int | v = x }+ id 1 tag []++constraint:+ env [1]+ lhs {v : int | v = x + 1 }+ rhs {v : int | $k2 }+ id 2 tag []++constraint:+ env []+ lhs {v : int | v = 3 }+ rhs {v : int | $k1 }+ id 3 tag []++constraint:+ env []+ lhs {v : int | $k2 }+ rhs {v : int | v = 40 }+ id 4 tag []++wf: + env []+ reft {v:int | [$k1] }++wf: + env []+ reft {v:int | [$k2] }
@@ -0,0 +1,26 @@+bind 1 a : { a : int | true }+ebind 2 c : { int }++wf:+ env [1]+ reft {VV##1 : Tuple | [$k_##1]}++constraint:+ env [1;2]+ lhs {VV##F##4 : int | VV##F##4 = c }+ rhs {VV##F##4 : int | $k_##1[VV##1 := VV##F##4] }+ id 1 tag []++constraint:+ env [1;2]+ lhs {VV##F##5 : int | $k_##1[VV##1:=VV##F##5] }+ rhs {VV##F##5 : int | VV##F##5 = c }+ id 2 tag []++// The following constraint is needed only to prevent eliminate's **sharing** optimization.++constraint:+ env []+ lhs {VV##F##6 : int | $k_##1[VV##1:=VV##F##6] }+ rhs {VV##F##6 : int | VV##F##6 = 0 }+ id 3 tag []
@@ -0,0 +1,33 @@+qualif Prefix(v:a, z as (moon . $1) : b) : (v = z)++bind 0 monday : {v : int | true}+bind 10 tuesday : {v : int | true}++bind 1 q : {v : int | true}+bind 2 y : {v : int | v = 10}+bind 3 r : {v : int | true }+bind 4 s : {v : int | $k0[monday := r] } +bind 5 t : {v : int | v = r + 1 } +++constraint:+ env [1]+ lhs {v : int | v = q}+ rhs {v : int | $k0[monday := q] }+ id 1 tag []++constraint: + env [3; 4; 5]+ lhs {v : int | v = s + 1 }+ rhs {v : int | $k0[monday := t] }+ id 2 tag []++constraint:+ env [2]+ lhs {v : int | $k0[monday := y]}+ rhs {v : int | v = 10}+ id 3 tag []++wf:+ env [0; 10]+ reft {v : int | $k0}
@@ -0,0 +1,34 @@+// qualif Goob(v:a, z: b) : (v = z)+// qualif Prefix2(v:a, x as (mon . $1) : b, y as (sun . $1)) : (v = x + y)+qualif Prefix(v:a, z as ($1 . sday) : b) : (v = z)++bind 0 monday : {v : int | true}+bind 10 tuesday : {v : int | true}++bind 1 q : {v : int | true}+bind 2 y : {v : int | v = 10}+bind 3 r : {v : int | true }+bind 4 s : {v : int | $k0[monday := r] } +bind 5 t : {v : int | v = r + 1 } ++constraint:+ env [1]+ lhs {v : int | v = q}+ rhs {v : int | $k0[monday := q] }+ id 1 tag []++constraint: + env [3; 4; 5]+ lhs {v : int | v = s + 1 }+ rhs {v : int | $k0[monday := t] }+ id 2 tag []++constraint:+ env [2]+ lhs {v : int | $k0[monday := y]}+ rhs {v : int | v = 10}+ id 3 tag []++wf:+ env [0; 10]+ reft {v : int | $k0}
@@ -0,0 +1,27 @@+fixpoint "--eliminate=none"++qualif Prefix2(v:a, x as (sun . $1) : b, y as (tues . $1) : b) : (v = x + y)++bind 0 sunday : {v : int | v = 6 }+bind 1 monday : {v : int | v = 4 }+bind 2 tuesday : {v : int | v = 10 }++bind 10 x : {v : int | v = 4 }+bind 11 y : {v : int | v = 6 }+bind 12 z : {v : int | v = 10 }++constraint:+ env [10; 11; 12]+ lhs {v : int | v = 10 }+ rhs {v : int | $k0[sunday := x][monday := y][ tuesday := z] }+ id 1 tag []++constraint: + env [10; 11; 12]+ lhs {v : int | $k0[sunday := x][monday := y][ tuesday := z] }+ rhs {v : int | v = 10 }+ id 2 tag []++wf:+ env [0; 1; 2]+ reft {v : int | $k0}
@@ -0,0 +1,39 @@+// constant Set_empty : (func(1, [int; Set_Set @(0)]))+constant Set_sng : (func(1, [@(0); (Set_Set @(0))]))++bind 1 m1 : {v : Set_Set Int | v = Set_empty 0}+bind 2 m2 : {v : Set_Set Int | v = (Set_cup (Set_cup m1 (Set_sng 10)) (Set_sng 20)) } +bind 3 m3 : {v : Set_Set Int | v = (Set_cup (Set_cup m1 (Set_sng 20)) (Set_sng 10)) } +bind 4 m4 : {v : Set_Set Int | v = (Set_cup m1 (Set_sng 10)) } +bind 5 m5 : {v : Set_Set Int | v = (Set_cup m1 (Set_sng 20)) } ++constraint:+ env [ 1 ]+ lhs {v : int | true }+ rhs {v : int | (Set_mem 100 m1) } + id 1 tag []++constraint:+ env [ 1; 2 ]+ lhs {v : int | true } + rhs {v : int | not (Set_mem 100 m2) }+ id 2 tag []++constraint:+ env [ 1; 2 ]+ lhs {v : int | true } + rhs {v : int | Set_mem 10 m2 }+ id 3 tag []++constraint:+ env [ 1; 2; 3 ]+ lhs {v : int | true }+ rhs {v : int | m2 = m3 } + id 4 tag []++constraint:+ env [ 1; 2; 3; 4; 5 ]+ lhs {v : int | true }+ rhs {v : int | m2 = Set_cup m4 m5 } + id 5 tag []+
@@ -0,0 +1,286 @@+qualif Fst(v : @(1), y : @(0)): (v = fst([y])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.spec" (line 29, column 8)+qualif Snd(v : @(1), y : @(0)): (v = snd([y])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.spec" (line 30, column 8)+qualif IsEmp(v : GHC.Types.Bool, xs : [@(0)]): ((? Prop([v])) <=> (len([xs]) > 0)) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 13, column 8)+qualif IsEmp(v : GHC.Types.Bool, xs : [@(0)]): ((? Prop([v])) <=> (len([xs]) = 0)) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 14, column 8)+qualif ListZ(v : [@(0)]): (len([v]) = 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 16, column 8)+qualif ListZ(v : [@(0)]): (len([v]) >= 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 17, column 8)+qualif ListZ(v : [@(0)]): (len([v]) > 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 18, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) = len([xs])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 20, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) >= len([xs])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 21, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) > len([xs])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 22, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) <= len([xs])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 23, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) < len([xs])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 24, column 8)+qualif EqLen(v : int, xs : [@(0)]): (v = len([xs])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 26, column 8)+qualif LenEq(v : [@(0)], x : int): (x = len([v])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 27, column 8)+qualif LenDiff(v : [@(0)], x : int): (len([v]) = (x + 1)) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 28, column 8)+qualif LenDiff(v : [@(0)], x : int): (len([v]) = (x - 1)) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 29, column 8)+qualif LenAcc(v : int, xs : [@(0)], n : int): (v = (len([xs]) + n)) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 30, column 8)+qualif Bot(v : @(0)): (0 = 1) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 3, column 8)+qualif Bot(v : @(0)): (0 = 1) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 4, column 8)+qualif Bot(v : @(0)): (0 = 1) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 5, column 8)+qualif Bot(v : bool): (0 = 1) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 6, column 8)+qualif Bot(v : int): (0 = 1) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 7, column 8)+qualif CmpZ(v : @(0)): (v < 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 9, column 8)+qualif CmpZ(v : @(0)): (v <= 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 10, column 8)+qualif CmpZ(v : @(0)): (v > 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 11, column 8)+qualif CmpZ(v : @(0)): (v >= 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 12, column 8)+qualif CmpZ(v : @(0)): (v = 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 13, column 8)+qualif CmpZ(v : @(0)): (v != 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 14, column 8)+qualif Cmp(v : @(0), x : @(0)): (v < x) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 16, column 8)+qualif Cmp(v : @(0), x : @(0)): (v <= x) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 17, column 8)+qualif Cmp(v : @(0), x : @(0)): (v > x) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 18, column 8)+qualif Cmp(v : @(0), x : @(0)): (v >= x) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 19, column 8)+qualif Cmp(v : @(0), x : @(0)): (v = x) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 20, column 8)+qualif Cmp(v : @(0), x : @(0)): (v != x) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 21, column 8)+qualif One(v : int): (v = 1) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 28, column 8)+qualif True(v : bool): (? v) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 29, column 8)+qualif False(v : bool): (~ ((? v))) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 30, column 8)+qualif True1(v : GHC.Types.Bool): (? Prop([v])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 31, column 8)+qualif False1(v : GHC.Types.Bool): (~ ((? Prop([v])))) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 32, column 8)+qualif Papp(v : @(0), p : (Pred @(0))): (? papp1([p;+ v])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 35, column 8)+qualif Papp2(v : @(1), x : @(0), p : (Pred @(1) @(0))): (? papp2([p;+ v;+ x])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 38, column 8)+qualif Papp3(v : @(2), x : @(0), y : @(1), p : (Pred @(2) @(0) @(1))): (? papp3([p;+ v;+ x;+ y])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 41, column 8)+++++constant runFun : (func(2, [(Arrow @(0) @(1)); @(0); @(1)]))+constant addrLen : (func(0, [int; int]))+constant xsListSelector : (func(1, [[@(0)]; [@(0)]]))+constant x_Tuple21 : (func(2, [(Tuple @(0) @(1)); @(0)]))+constant x_Tuple65 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(4)]))+constant GHC.Types.False$35$68 : (GHC.Types.Bool)+constant x_Tuple55 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(4)]))+constant x_Tuple33 : (func(3, [(Tuple @(0) @(1) @(2)); @(2)]))+constant x_Tuple77 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(6)]))+constant papp3 : (func(6, [(Pred @(0) @(1) @(2));+ @(3);+ @(4);+ @(5);+ bool]))+constant x_Tuple63 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(2)]))+constant x_Tuple41 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(0)]))+constant papp4 : (func(8, [(Pred @(0) @(1) @(2) @(6));+ @(3);+ @(4);+ @(5);+ @(7);+ bool]))+constant x_Tuple64 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(3)]))+constant autolen : (func(1, [@(0); int]))+constant x_Tuple52 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(1)]))+constant null : (func(1, [[@(0)]; bool]))+constant papp2 : (func(4, [(Pred @(0) @(1)); @(2); @(3); bool]))+constant x_Tuple62 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(1)]))+constant fromJust : (func(1, [(GHC.Base.Maybe @(0)); @(0)]))+constant x_Tuple53 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(2)]))+constant x_Tuple71 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(0)]))+constant x_Tuple74 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(3)]))+constant len : (func(2, [(@(0) @(1)); int]))+constant x_Tuple22 : (func(2, [(Tuple @(0) @(1)); @(1)]))+constant x_Tuple66 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(5)]))+constant x_Tuple44 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(3)]))+constant xListSelector : (func(1, [[@(0)]; @(0)]))+constant strLen : (func(0, [int; int]))+constant x_Tuple72 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(1)]))+constant isJust : (func(1, [(GHC.Base.Maybe @(0)); bool]))+constant Prop : (func(0, [GHC.Types.Bool; bool]))+constant x_Tuple31 : (func(3, [(Tuple @(0) @(1) @(2)); @(0)]))+constant x_Tuple75 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(4)]))+constant papp1 : (func(1, [(Pred @(0)); @(0); bool]))+constant x_Tuple61 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(0)]))+constant x_Tuple43 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(2)]))+constant x_Tuple51 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(0)]))+constant GHC.Types.I$35$$35$6c : (func(0, [int; int]))+constant x_Tuple73 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(2)]))+constant x_Tuple54 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(3)]))+constant x_Tuple32 : (func(3, [(Tuple @(0) @(1) @(2)); @(1)]))+constant cmp : (func(0, [GHC.Types.Ordering; GHC.Types.Ordering]))+constant x_Tuple76 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(5)]))+constant fst : (func(2, [(Tuple @(0) @(1)); @(0)]))+constant snd : (func(2, [(Tuple @(0) @(1)); @(1)]))+constant x_Tuple42 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(1)]))+constant GHC.Types.True$35$6u : (GHC.Types.Bool)+++bind 0 GHC.Types.False$35$68 : {VV$35$159 : GHC.Types.Bool | []}+bind 1 GHC.Types.True$35$6u : {VV$35$161 : GHC.Types.Bool | []}+bind 2 GHC.Classes.$36$fOrdInt$35$rni : {VV$35$166 : (GHC.Classes.Ord int) | []}+bind 3 GHC.Types.EQ$35$6U : {VV$35$167 : GHC.Types.Ordering | [(VV$35$167 = GHC.Types.EQ$35$6U)]}+bind 4 GHC.Types.LT$35$6S : {VV$35$168 : GHC.Types.Ordering | [(VV$35$168 = GHC.Types.LT$35$6S)]}+bind 5 GHC.Types.GT$35$6W : {VV$35$169 : GHC.Types.Ordering | [(VV$35$169 = GHC.Types.GT$35$6W)]}+bind 6 GHC.Types.True$35$6u : {v$35$4 : GHC.Types.Bool | [(? Prop([v$35$4]))]}+bind 7 GHC.Types.False$35$68 : {v$35$5 : GHC.Types.Bool | [(~ ((? Prop([v$35$5]))))]}+bind 8 GHC.Types.False$35$68 : {v$35$5 : GHC.Types.Bool | [(~ ((? Prop([v$35$5]))))]}+bind 9 GHC.Types.$91$$93$$35$6m : {VV : func(1, [[@(0)]]) | []}+bind 10 GHC.Types.True$35$6u : {v$35$4 : GHC.Types.Bool | [(? Prop([v$35$4]))]}+bind 11 GHC.Types.GT$35$6W : {VV$35$214 : GHC.Types.Ordering | [(cmp([VV$35$214]) = GHC.Types.GT$35$6W)]}+bind 12 GHC.Types.LT$35$6S : {VV$35$215 : GHC.Types.Ordering | [(cmp([VV$35$215]) = GHC.Types.LT$35$6S)]}+bind 13 GHC.Types.EQ$35$6U : {VV$35$216 : GHC.Types.Ordering | [(cmp([VV$35$216]) = GHC.Types.EQ$35$6U)]}+bind 14 GHC.Base.Nothing$35$r1d : {VV : func(1, [(GHC.Base.Maybe @(0))]) | []}+bind 15 z$35$a10N : {VV$35$221 : int | [$k_$35$222]}+bind 16 lq_anf$36$_d116 : {lq_tmp$36$x$35$229 : int | [(lq_tmp$36$x$35$229 = (100 : int))]}+bind 17 lq_anf$36$_d117 : {lq_tmp$36$x$35$236 : GHC.Types.Bool | [((? Prop([lq_tmp$36$x$35$236])) <=> (z$35$a10N >= lq_anf$36$_d116))]}+bind 18 lq_anf$36$_d118 : {lq_tmp$36$x$35$254 : int | [(lq_tmp$36$x$35$254 = (0 : int))]}+bind 19 Test0.x$35$rYP : {VV$35$250 : int | [$k_$35$251]}+bind 20 lq_anf$36$_d119 : {lq_tmp$36$x$35$269 : int | [(lq_tmp$36$x$35$269 = (0 : int))]}+bind 21 lq_anf$36$_d11a : {lq_tmp$36$x$35$275 : GHC.Types.Bool | [((? Prop([lq_tmp$36$x$35$275])) <=> (Test0.x$35$rYP > lq_anf$36$_d119))]}+bind 22 lq_anf$36$_d11b : {lq_tmp$36$x$35$291 : GHC.Types.Bool | [(lq_tmp$36$x$35$291 = lq_anf$36$_d11a)]}+bind 23 lq_anf$36$_d11b : {lq_tmp$36$x$35$293 : GHC.Types.Bool | [(lq_tmp$36$x$35$293 = lq_anf$36$_d11a)]}+bind 24 lq_anf$36$_d11b : {lq_tmp$36$x$35$293 : GHC.Types.Bool | [(lq_tmp$36$x$35$293 = lq_anf$36$_d11a);+ (~ ((? Prop([lq_tmp$36$x$35$293]))));+ (~ ((? Prop([lq_tmp$36$x$35$293]))));+ (~ ((? Prop([lq_tmp$36$x$35$293]))))]}+bind 25 lq_anf$36$_d11b : {lq_tmp$36$x$35$299 : GHC.Types.Bool | [(lq_tmp$36$x$35$299 = lq_anf$36$_d11a)]}+bind 26 lq_anf$36$_d11b : {lq_tmp$36$x$35$299 : GHC.Types.Bool | [(lq_tmp$36$x$35$299 = lq_anf$36$_d11a);+ (? Prop([lq_tmp$36$x$35$299]));+ (? Prop([lq_tmp$36$x$35$299]));+ (? Prop([lq_tmp$36$x$35$299]))]}+bind 27 Test0.prop_abs$35$r10h : {VV$35$265 : GHC.Types.Bool | [$k_$35$266]}+bind 28 VV$35$310 : {VV$35$310 : GHC.Types.Bool | [$k_$35$226[lq_tmp$36$x$35$307:=Test0.x$35$rYP][lq_tmp$36$x$35$305:=VV$35$310][VV$35$225:=VV$35$310][z$35$a10N:=Test0.x$35$rYP]]}+bind 29 VV$35$310 : {VV$35$310 : GHC.Types.Bool | [$k_$35$226[lq_tmp$36$x$35$307:=Test0.x$35$rYP][lq_tmp$36$x$35$305:=VV$35$310][VV$35$225:=VV$35$310][z$35$a10N:=Test0.x$35$rYP]]}+bind 30 VV$35$313 : {VV$35$313 : int | [(VV$35$313 = Test0.x$35$rYP)]}+bind 31 VV$35$313 : {VV$35$313 : int | [(VV$35$313 = Test0.x$35$rYP)]}+bind 32 VV$35$316 : {VV$35$316 : GHC.Types.Bool | [(VV$35$316 = GHC.Types.False$35$68)]}+bind 33 VV$35$316 : {VV$35$316 : GHC.Types.Bool | [(VV$35$316 = GHC.Types.False$35$68)]}+bind 34 VV$35$319 : {VV$35$319 : int | [(VV$35$319 = lq_anf$36$_d119)]}+bind 35 VV$35$319 : {VV$35$319 : int | [(VV$35$319 = lq_anf$36$_d119)]}+bind 36 VV$35$322 : {VV$35$322 : int | [(VV$35$322 = Test0.x$35$rYP)]}+bind 37 VV$35$322 : {VV$35$322 : int | [(VV$35$322 = Test0.x$35$rYP)]}+bind 38 VV$35$325 : {VV$35$325 : int | [(VV$35$325 = 0)]}+bind 39 VV$35$325 : {VV$35$325 : int | [(VV$35$325 = 0)]}+bind 40 VV$35$328 : {VV$35$328 : int | []}+bind 41 VV$35$328 : {VV$35$328 : int | []}+bind 42 VV$35$331 : {VV$35$331 : int | [(VV$35$331 = lq_anf$36$_d118)]}+bind 43 VV$35$331 : {VV$35$331 : int | [(VV$35$331 = lq_anf$36$_d118)]}+bind 44 VV$35$334 : {VV$35$334 : int | [(VV$35$334 = 0)]}+bind 45 VV$35$334 : {VV$35$334 : int | [(VV$35$334 = 0)]}+bind 46 VV$35$337 : {VV$35$337 : GHC.Types.Bool | [(? Prop([VV$35$337]))]}+bind 47 VV$35$337 : {VV$35$337 : GHC.Types.Bool | [(? Prop([VV$35$337]))]}+bind 48 VV$35$340 : {VV$35$340 : GHC.Types.Bool | [(VV$35$340 = lq_anf$36$_d117)]}+bind 49 VV$35$340 : {VV$35$340 : GHC.Types.Bool | [(VV$35$340 = lq_anf$36$_d117)]}+bind 50 VV$35$343 : {VV$35$343 : int | [(VV$35$343 = lq_anf$36$_d116)]}+bind 51 VV$35$343 : {VV$35$343 : int | [(VV$35$343 = lq_anf$36$_d116)]}+bind 52 VV$35$346 : {VV$35$346 : int | [(VV$35$346 = z$35$a10N)]}+bind 53 VV$35$346 : {VV$35$346 : int | [(VV$35$346 = z$35$a10N)]}+bind 54 VV$35$349 : {VV$35$349 : int | [(VV$35$349 = 100)]}+bind 55 VV$35$349 : {VV$35$349 : int | [(VV$35$349 = 100)]}+bind 56 VV$35$282 : {VV$35$282 : int | [$k_$35$283]}+bind 57 VV$35$265 : {VV$35$265 : GHC.Types.Bool | [$k_$35$266]}+bind 58 VV$35$250 : {VV$35$250 : int | [$k_$35$251]}+bind 59 VV$35$221 : {VV$35$221 : int | [$k_$35$222]}+bind 60 VV$35$225 : {VV$35$225 : GHC.Types.Bool | [$k_$35$226]}+++++constraint:+ env [0;+ 1;+ 2;+ 3;+ 19;+ 4;+ 20;+ 5;+ 21;+ 6;+ 22;+ 7;+ 8;+ 9;+ 25;+ 10;+ 26;+ 11;+ 12;+ 13;+ 14;+ 30]+ lhs {VV$35$F2 : int | [(VV$35$F2 = Test0.x$35$rYP)]}+ rhs {VV$35$F2 : int | [$k_$35$222[VV$35$221:=VV$35$F2][lq_tmp$36$x$35$304:=VV$35$F2][VV$35$313:=VV$35$F2][VV$35$F:=VV$35$F2]]}+ id 2 tag [3]+ // META constraint id 2 : tests/neg/test00.hs:8:30+++constraint:+ env [0; 1; 2; 18; 3; 4; 5; 6; 7; 8; 40; 9; 10; 11; 12; 13; 14]+ lhs {VV$35$F6 : int | []}+ rhs {VV$35$F6 : int | [$k_$35$251[VV$35$328:=VV$35$F6][VV$35$250:=VV$35$F6][VV$35$F:=VV$35$F6]]}+ id 6 tag [2]+ // META constraint id 6 : tests/neg/test00.hs:6:1-12+++constraint:+ env [0;+ 16;+ 48;+ 1;+ 17;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15]+ lhs {VV$35$F8 : GHC.Types.Bool | [(VV$35$F8 = lq_anf$36$_d117)]}+ rhs {VV$35$F8 : GHC.Types.Bool | [(? Prop([VV$35$F8]))]}+ id 8 tag [1]+ // META constraint id 8 : tests/neg/test00.hs:11:23-35+++++wf:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14]+ reft {VV$35$221 : int | [$k_$35$222]}+ // META wf : <no location info>+++wf:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14]+ reft {VV$35$250 : int | [$k_$35$251]}+ // META wf : <no location info>+++++++
@@ -0,0 +1,245 @@+fixpoint "--allowho"++qualif Fst(v : @(1), y : @(0)): ((v = (fst y))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.spec" (line 28, column 8)+qualif Snd(v : @(1), y : @(0)): ((v = (snd y))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.spec" (line 29, column 8)+qualif Auto(v##1 : int, n : int, x : int): ((v##1 = (ack n x))) // "/Users/rjhala/research/stack/liquidhaskell/tests/pos/LogicCurry1.hs" (line 10, column 1)+qualif IsEmp(v : GHC.Types.Bool, xs : [@(0)]): ((v <=> ((len xs) > 0))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 13, column 8)+qualif IsEmp(v : GHC.Types.Bool, xs : [@(0)]): ((v <=> ((len xs) = 0))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 14, column 8)+qualif ListZ(v : [@(0)]): (((len v) = 0)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 16, column 8)+qualif ListZ(v : [@(0)]): (((len v) >= 0)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 17, column 8)+qualif ListZ(v : [@(0)]): (((len v) > 0)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 18, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (((len v) = (len xs))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 20, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (((len v) >= (len xs))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 21, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (((len v) > (len xs))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 22, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (((len v) <= (len xs))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 23, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (((len v) < (len xs))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 24, column 8)+qualif EqLen(v : int, xs : [@(0)]): ((v = (len xs))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 26, column 8)+qualif LenEq(v : [@(0)], x : int): ((x = (len v))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 27, column 8)+qualif LenDiff(v : [@(0)], x : int): (((len v) = (x + 1))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 28, column 8)+qualif LenDiff(v : [@(0)], x : int): (((len v) = (x - 1))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 29, column 8)+qualif LenAcc(v : int, xs : [@(0)], n : int): ((v = ((len xs) + n))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/GHC/Base.hquals" (line 30, column 8)+qualif Bot(v : @(0)): ((0 = 1)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 3, column 8)+qualif Bot(v : @(0)): ((0 = 1)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 4, column 8)+qualif Bot(v : @(0)): ((0 = 1)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 5, column 8)+qualif Bot(v : bool): ((0 = 1)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 6, column 8)+qualif Bot(v : int): ((0 = 1)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 7, column 8)+qualif CmpZ(v : @(0)): ((v < 0)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 9, column 8)+qualif CmpZ(v : @(0)): ((v <= 0)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 10, column 8)+qualif CmpZ(v : @(0)): ((v > 0)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 11, column 8)+qualif CmpZ(v : @(0)): ((v >= 0)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 12, column 8)+qualif CmpZ(v : @(0)): ((v = 0)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 13, column 8)+qualif CmpZ(v : @(0)): ((v != 0)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 14, column 8)+qualif Cmp(v : @(0), x : @(0)): ((v < x)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 16, column 8)+qualif Cmp(v : @(0), x : @(0)): ((v <= x)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 17, column 8)+qualif Cmp(v : @(0), x : @(0)): ((v > x)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 18, column 8)+qualif Cmp(v : @(0), x : @(0)): ((v >= x)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 19, column 8)+qualif Cmp(v : @(0), x : @(0)): ((v = x)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 20, column 8)+qualif Cmp(v : @(0), x : @(0)): ((v != x)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 21, column 8)+qualif One(v : int): ((v = 1)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 28, column 8)+qualif True1(v : GHC.Types.Bool): (v) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 29, column 8)+qualif False1(v : GHC.Types.Bool): ((~ (v))) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 30, column 8)+qualif Papp(v : @(0), p : (Pred @(0))): ((papp1 p v)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 34, column 8)+qualif Papp2(v : @(1), x : @(0), p : (Pred @(1) @(0))): ((papp2 p v x)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 37, column 8)+qualif Papp3(v : @(2), x : @(0), y : @(1), p : (Pred @(2) @(0) @(1))): ((papp3 p v x y)) // "/Users/rjhala/research/stack/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2016-05-21/7.10.3/share/x86_64-osx-ghc-7.10.3/liquidhaskell-0.6.0.0/include/Prelude.hquals" (line 39, column 8)+++++constant runFun : (func(2, [(Arrow @(0) @(1)); @(0); @(1)]))+constant addrLen : (func(0, [Str; int]))+constant papp5 : (func(10, [(Pred @(0) @(1) @(2) @(3) @(4));+ @(5);+ @(6);+ @(7);+ @(8);+ @(9);+ bool]))+constant x_Tuple21 : (func(2, [(Tuple @(0) @(1)); @(0)]))+constant GHC.Types.False##68 : (bool)+constant x_Tuple65 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(4)]))+constant x_Tuple55 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(4)]))+constant x_Tuple33 : (func(3, [(Tuple @(0) @(1) @(2)); @(2)]))+constant x_Tuple77 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(6)]))+constant papp3 : (func(6, [(Pred @(0) @(1) @(2));+ @(3);+ @(4);+ @(5);+ bool]))+constant GHC.Types.True##6u : (bool)+constant x_Tuple63 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(2)]))+constant x_Tuple41 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(0)]))+constant GHC.Types.LT##6S : (GHC.Types.Ordering)+constant papp4 : (func(8, [(Pred @(0) @(1) @(2) @(3));+ @(4);+ @(5);+ @(6);+ @(7);+ bool]))+constant x_Tuple64 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(3)]))+constant GHC.Types.GT##6W : (GHC.Types.Ordering)+constant autolen : (func(1, [@(0); int]))+constant x_Tuple52 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(1)]))+constant head : (func(1, [[@(0)]; @(0)]))+constant null : (func(1, [[@(0)]; bool]))+constant papp2 : (func(4, [(Pred @(0) @(1)); @(2); @(3); bool]))+constant x_Tuple62 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(1)]))+constant fromJust : (func(1, [(GHC.Base.Maybe @(0)); @(0)]))+constant papp7 : (func(14, [(Pred @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(7);+ @(8);+ @(9);+ @(10);+ @(11);+ @(12);+ @(13);+ bool]))+constant x_Tuple53 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(2)]))+constant x_Tuple71 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(0)]))+constant ack : (func(0, [int; int; int]))+constant x_Tuple74 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(3)]))+constant len : (func(2, [(@(0) @(1)); int]))+constant papp6 : (func(12, [(Pred @(0) @(1) @(2) @(3) @(4) @(5));+ @(6);+ @(7);+ @(8);+ @(9);+ @(10);+ @(11);+ bool]))+constant x_Tuple22 : (func(2, [(Tuple @(0) @(1)); @(1)]))+constant x_Tuple66 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(5)]))+constant x_Tuple44 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(3)]))+constant GHC.Err.undefined##02v : (func(1, [@(0)]))+constant strLen : (func(0, [[Char]; int]))+constant x_Tuple72 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(1)]))+constant isJust : (func(1, [(GHC.Base.Maybe @(0)); bool]))+constant x_Tuple31 : (func(3, [(Tuple @(0) @(1) @(2)); @(0)]))+constant x_Tuple75 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(4)]))+constant papp1 : (func(2, [(Pred @(0)); @(1); bool]))+constant x_Tuple61 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(0)]))+constant x_Tuple43 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(2)]))+constant tail : (func(1, [[@(0)]; [@(0)]]))+constant GHC.Types.EQ##6U : (GHC.Types.Ordering)+constant x_Tuple51 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(0)]))+constant x_Tuple73 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(2)]))+constant Main.ack##rjG : (func(0, [int; int; int]))+constant x_Tuple54 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(3)]))+constant cmp : (func(0, [GHC.Types.Ordering; GHC.Types.Ordering]))+constant x_Tuple32 : (func(3, [(Tuple @(0) @(1) @(2)); @(1)]))+constant x_Tuple76 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(5)]))+constant snd : (func(2, [(Tuple @(0) @(1)); @(1)]))+constant fst : (func(2, [(Tuple @(0) @(1)); @(0)]))+constant x_Tuple42 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(1)]))+++distinct GHC.Types.False##68 : (bool)+distinct GHC.Types.True##6u : (bool)+distinct GHC.Types.LT##6S : (GHC.Types.Ordering)+distinct GHC.Types.GT##6W : (GHC.Types.Ordering)+distinct GHC.Types.EQ##6U : (GHC.Types.Ordering)+++bind 0 GHC.Err.undefined##02v : {VV : func(1, [@(0)]) | []}+bind 1 GHC.Types.True##6u : {VV##9 : bool | [(VV##9 = GHC.Types.True##6u)]}+bind 2 GHC.Types.False##68 : {VV##10 : bool | [(VV##10 = GHC.Types.False##68)]}+bind 3 GHC.Types.EQ##6U : {VV##11 : GHC.Types.Ordering | [(VV##11 = GHC.Types.EQ##6U)]}+bind 4 GHC.Types.LT##6S : {VV##12 : GHC.Types.Ordering | [(VV##12 = GHC.Types.LT##6S)]}+bind 5 GHC.Types.GT##6W : {VV##13 : GHC.Types.Ordering | [(VV##13 = GHC.Types.GT##6W)]}+bind 6 Main.ack##rjG : {VV : func(0, [int; int; int]) | []}+bind 7 Main.ack##rjG : {VV : func(0, [int; int; int]) | []}+bind 8 m##alH : {VV##41 : int | []}+bind 9 Main.bar##rlx : {VV : func(0, [int; int; int]) | []}+bind 10 VV##55 : {VV##55 : int | []}+bind 11 m##alH : {VV##57 : int | []}+bind 12 VV##58 : {VV##58 : int | []}+bind 13 lq_tmp$x##51 : {v : int | []}+bind 14 VV##61 : {VV##61 : int | []}+bind 15 VV##63 : {VV##63 : int | []}+bind 16 lq_tmp$x##40 : {v : int | []}+bind 17 VV##66 : {VV##66 : int | [(VV##66 = (ack m##alH lq_tmp$x##40))]}+bind 18 VV##68 : {VV##68 : int | [(VV##68 = m##alH)]}+bind 19 VV##70 : {VV##70 : int | []}+bind 20 lq_tmp$x##17 : {VV##72 : int | []}+bind 21 VV##73 : {VV##73 : int | []}+bind 22 lq_tmp$x##19 : {VV##75 : int | []}+bind 23 VV##76 : {VV##76 : int | [$k_##31[lq_tmp$x##22:=lq_tmp$x##17][VV##30:=VV##76][lq_tmp$x##26:=lq_tmp$x##19][lq_tmp$x##35:=VV##76]]}+bind 24 VV##23 : {VV##23 : int | [$k_##24]}+bind 25 lq_tmp$x##22 : {VV##23 : int | [$k_##24]}+bind 26 VV##27 : {VV##27 : int | [$k_##28]}+bind 27 lq_tmp$x##26 : {VV##27 : int | [$k_##28]}+bind 28 VV##30 : {VV##30 : int | [$k_##31]}+++++constraint:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8]+ lhs {VV##F##1 : func(0, [int; int]) | [(VV##F##1 = (ack m##alH))]}+ rhs {VV##F##1 : func(0, [int; int]) | [(VV##F##1 = (ack m##alH))]}+ id 1 tag [2]+ // META constraint id 1 : ()+++constraint:+ env [0; 1; 2; 3; 4; 5; 6]+ lhs {VV##F##2 : int | []}+ rhs {VV##F##2 : int | [$k_##24[VV##70:=VV##F##2][VV##23:=VV##F##2][VV##F:=VV##F##2][lq_tmp$x##33:=VV##F##2]]}+ id 2 tag [1]+ // META constraint id 2 : ()+++constraint:+ env [0; 1; 2; 3; 4; 5; 6; 20]+ lhs {VV##F##3 : int | []}+ rhs {VV##F##3 : int | [$k_##28[lq_tmp$x##22:=lq_tmp$x##17][lq_tmp$x##34:=VV##F##3][VV##27:=VV##F##3][VV##73:=VV##F##3][VV##F:=VV##F##3]]}+ id 3 tag [1]+ // META constraint id 3 : ()+++++wf:+ env [0; 1; 2; 3; 4; 5; 6; 25]+ reft {VV##27 : int | [$k_##28]}+ // META wf : ()+++wf:+ env [0; 1; 2; 3; 4; 5; 6; 25; 27]+ reft {VV##30 : int | [$k_##31]}+ // META wf : ()+++wf:+ env [0; 1; 2; 3; 4; 5; 6]+ reft {VV##23 : int | [$k_##24]}+ // META wf : ()+++++++
@@ -1,17 +0,0 @@-// This test works on z3-4.4.1, but is broken in 4.4.2 or newer--data Either 2 = [- | right { eRight : @(0) }- | left { eLeft : @(1) }-]--bind 0 escobar : {v:int | true }-bind 1 junk : {v:Either bool int | v = left escobar}-bind 2 punk : {v:Either int int | true}--constraint:- env [0; 1; 2]- lhs {v:int | left escobar = punk }- rhs {v:int | punk = left escobar }- id 1 tag []-
@@ -0,0 +1,24 @@++data Val 0 = [+ | VClos { vc1 : int, vc2 : int, vc3 : int, vc4 : VEnv}+ | VInt { vi1 : int } + ]++data VEnv 0 = [+ | VEmp { }+ | VBind { vb1 : int, vb2 : Val, vb3 : VEnv}+ ]++bind 1 env : {v : VEnv | true }+bind 2 val : {v : Val | true }+bind 3 x : {v : int | true } +bind 4 y : {v : int | true } +bind 5 envx : {v : VEnv | v = VBind x val env }+bind 6 envy : {v : VEnv | v = VBind y val env }++constraint: + env [1;2;3;4;5;6]+ lhs {v: int | x = y} + rhs {v: int | envx = envy} + id 1 tag []+
@@ -1,22 +0,0 @@-// Uncommenting the WF renders the constraints "unsafe" but right now its SAFE-// which is bad. We should fail with "missing WF" or somesuch.---bind 0 x : {v: int | $k1 }--constraint:- env []- lhs {v : int | [v = 6] }- rhs {v : int | $k1 }- id 0 tag []--constraint:- env [0]- lhs {v : int | [v = x] }- rhs {v : int | v = 0 }- id 0 tag []--// wf:-// env []-// reft {v: int | $k1 }-
@@ -0,0 +1,9 @@++bind 1 b : {v : int | true } +bind 2 pig : {v : b | v = 10 }++constraint:+ env [1;2]+ lhs {v : int | true }+ rhs {v : int | pig > 5}+ id 1 tag []
@@ -0,0 +1,11 @@++constant len : (func(2, [(@(0) @(1)); int]))++bind 1 b : {v : [int] | true } +bind 2 pig : {v : b | len v = 10 }++constraint:+ env [1;2]+ lhs {v : int | true }+ rhs {v : int | len pig > 5}+ id 1 tag []
@@ -0,0 +1,16 @@+fixpoint "--eliminate=all"++// bind 0 x1 : {v: int | v = 10 }+ebind 0 x1 : { int }++constraint:+ env [0]+ lhs {v1 : int | v1 = 10}+ rhs {v1 : int | v1 = x1}+ id 1 tag []++constraint:+ env [0]+ lhs {v2 : int | v2 = x1 + 1 }+ rhs {v2 : int | v2 = 11 }+ id 2 tag []
@@ -0,0 +1,17 @@+fixpoint "--eliminate=all"++bind 1 m : {v: int | true }+ebind 2 x1 : { int }+// bind 2 x1 : {v: int | v = m + 1 }++constraint:+ env [1; 2]+ lhs {v : int | v = m + 1 }+ rhs {v : int | v = x1 }+ id 1 tag []++constraint:+ env [1; 2]+ lhs {v : int | v = x1 + 1}+ rhs {v : int | v = 2 + m }+ id 2 tag []
@@ -0,0 +1,28 @@+fixpoint "--eliminate=all"++bind 0 m : {v: int | true }+bind 1 z : {v: int | v = m - 1 }+ebind 2 x1 : { int }+// bind 2 x1 : {v: int | v = m + 1 }++constraint:+ env [0; 1]+ lhs {v : int | v = z + 2 }+ rhs {v : int | $k }+ id 1 tag []++constraint:+ env [0; 2]+ lhs {v : int | $k }+ rhs {v : int | v = x1 }+ id 2 tag []++constraint:+ env [0; 2]+ lhs {v : int | v = x1 + 1 }+ rhs {v : int | v = m + 2 }+ id 3 tag []++wf: + env [0]+ reft {v:int | [$k] }
@@ -0,0 +1,45 @@+fixpoint "--eliminate=all"++ebind 1 x1 : { int }+ebind 2 x2 : { int }+++constraint:+ env [1]+ lhs {v : int | v = 1 }+ rhs {v : int | v = x1 }+ id 1 tag []++constraint:+ env [1]+ lhs {v : int | v = x1 + 1 }+ rhs {v : int | $ka }+ id 2 tag []++constraint:+ env [2]+ lhs {v : int | $ka }+ rhs {v : int | v = x2 }+ id 3 tag []++constraint:+ env [2]+ lhs {v : int | v = x2 + 1}+ rhs {v : int | $kb }+ id 4 tag []++constraint:+ env []+ lhs {v : int | $kb }+ rhs {v : int | v = 3 } + id 5 tag []+++wf: + env []+ reft {v:int | [$ka] }++wf: + env []+ reft {v:int | [$kb] }+
@@ -0,0 +1,55 @@+fixpoint "--eliminate=all"++ebind 1 x1 : { int }+ebind 2 x2 : { int }++constraint:+ env []+ lhs {v : int | v = 1 }+ rhs {v : int | $kone }+ id 10 tag []++constraint:+ env [1]+ lhs {v : int | $kone }+ rhs {v : int | v = x1 }+ id 1 tag []++constraint:+ env [1]+ lhs {v : int | v = x1 + 1 }+ rhs {v : int | $ka }+ id 2 tag []++constraint:+ env [2]+ lhs {v : int | $ka }+ rhs {v : int | v = x2 }+ id 3 tag []++constraint:+ env [2]+ lhs {v : int | v = x2 + 1}+ rhs {v : int | $kb }+ id 4 tag []++constraint:+ env []+ lhs {v : int | $kb }+ rhs {v : int | v = 3 } + id 5 tag []+++wf: + env []+ reft {v:int | [$ka] }++wf: + env []+ reft {v:int | [$kb] }++wf: + env []+ reft {v:int | [$kone] }++
@@ -0,0 +1,35 @@+fixpoint "--eliminate=all"++ebind 1 x : { int }++constraint:+ env [1]+ lhs {v : int | $k1 }+ rhs {v : int | v = x }+ id 1 tag []++constraint:+ env [1]+ lhs {v : int | v = x + 1 }+ rhs {v : int | $k2 }+ id 2 tag []++constraint:+ env []+ lhs {v : int | v = 3 }+ rhs {v : int | $k1 }+ id 3 tag []++constraint:+ env []+ lhs {v : int | $k2 }+ rhs {v : int | v = 4 }+ id 4 tag []++wf: + env []+ reft {v:int | [$k1] }++wf: + env []+ reft {v:int | [$k2] }
@@ -0,0 +1,31 @@+fixpoint "--eliminate=some"++// This file is SAFE with --eliminate=none+// but both qualifiers are needed++bind 16 m : {VV##131 : int | true }+ebind 19 n : { int }++constraint:+ env [16; 19]+ lhs {VV##F##4 : int | $k_##137[VV##136:=VV##F##4] }+ rhs {VV##F##4 : int | VV##F##4 = n }+ id 4 tag []++constraint:+ env [16]+ lhs {VV##F##5 : int | VV##F##5 = m + 1 }+ rhs {VV##F##5 : int | $k_##137[VV##136:=VV##F##5] }+ id 5 tag []++// Constraint 3 is only needed to prevent the *sharing* optimization++constraint:+ env [16; 19]+ lhs {VV##F##3 : int | false }+ rhs {VV##F##3 : int | $k_##137[VV##136:=VV##F##3] }+ id 3 tag []++wf:+ env [16]+ reft {VV##136 : int | [$k_##137]}
@@ -0,0 +1,27 @@+fixpoint "--eliminate=some"++bind 16 m : {VV##131 : int | true }+ebind 19 n : { int }++constraint:+ env [16; 19]+ lhs {VV##F##3 : int | VV##F##3 = n }+ rhs {VV##F##3 : int | VV##F##3 = m + 1 && VV##F##3 = 3 }+ id 3 tag []++constraint:+ env [16; 19]+ lhs {VV##F##4 : int | VV##F##4 = 3 }+ rhs {VV##F##4 : int | VV##F##4 = n }+ id 4 tag []++constraint:+ env [16; 19]+ lhs {VV##F##5 : int | VV##F##5 = m + 1 }+ rhs {VV##F##5 : int | VV##F##5 = n }+ id 5 tag []+++wf:+ env [16]+ reft {VV##136 : int | [$k_##137]}
@@ -0,0 +1,23 @@+qualif Pos(v:int) : (0 <= v)+qualif Neg(v:int) : (v <= 0)+qualif NeqZ(v:int) : (0 != v)+qualif False(v:int) : (66 = 77)++constraint:+ env []+ lhs {v1 : int | $k0[v0 := v1] }+ rhs {v1 : int | 0 < v1 + 1 }+ id 1 tag []++constraint:+ env []+ lhs {v1 : int | v1 = 10 }+ rhs {v1 : int | $k0[v0 := v1] }+ id 2 tag []+++wf:+ env []+ reft {v0 : int | $k0}++// K0(v, b) => b <= v+1
@@ -0,0 +1,342 @@+qualif Bot(v : a): (0 = 1) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif Bot(v : obj): (0 = 1) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif Bot(v : Boolean): (0 = 1) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif Bot(v : int): (0 = 1) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif CmpZ(v : int): (v < 0) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif CmpZ(v : int): (v <= 0) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif CmpZ(v : int): (v > 0) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif CmpZ(v : int): (v >= 0) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif CmpZ(v : int): (v = 0) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif CmpZ(v : int): (v != 0) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif Cmp(v : int, x : int): (v < x) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif Cmp(v : int, x : int): (v <= x) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif Cmp(v : int, x : int): (v > x) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif Cmp(v : int, x : int): (v >= x) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif Cmp(v : a, x : a): (v ~~ x) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif Cmp(v : a, x : a): (v != x) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif True1(v : Boolean): (? Prop([v])) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif False1(v : Boolean): (~ ((? Prop([v])))) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif Tag(v : a, x : Str): (ttag([v]) = x) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+qualif Len(v : b, w : a): (v < len([w])) // "/Users/rjhala/research/stack/liquid/refscript/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/refscript-0.1.0.0/include/prelude.ts" (line 1, column 1)+++++constant lit$36$Array : (Str)+constant lit$36$PI : (Str)+constant lit$36$documentElement : (Str)+constant extends_class : (func(1, [@(0); Str; bool]))+constant numeric_min_value : (int)+constant numeric_positive_infinity : (int)+constant lit$36$Document : (Str)+constant lit$36$Console : (Str)+constant lit$36$LOG10E : (Str)+constant lit$36$MAX_VALUE : (Str)+constant lit$36$Error : (Str)+constant numeric_nan : (int)+constant lit$36$Math : (Str)+constant lit$36$LN2 : (Str)+constant offset : (func(2, [@(0); Str; @(1)]))+constant hasDirectProperty : (func(1, [Str; @(0); bool]))+constant lit$36$Object : (Str)+constant lit$36$StringConstructor : (Str)+constant lit$36$object : (Str)+constant lit$36$NEGATIVE_INFINITY : (Str)+constant lit$36$BUBBLING_PHASE : (Str)+constant ttag : (func(1, [@(0); Str]))+constant lit$36$AT_TARGET : (Str)+constant lit$36$LN10 : (Str)+constant lit$36$Event : (Str)+constant numeric_max_value : (int)+constant lit$36$CAPTURING_PHASE : (Str)+constant lit$36$NaN : (Str)+constant lit$36$undefined : (Str)+constant lit$36$Function : (Str)+constant len : (func(2, [(Array @(0) @(1)); int]))+constant extends_interface : (func(1, [@(0); Str; bool]))+constant numeric_negative_infinity : (int)+constant lit$36$SQRT1_2 : (Str)+constant Prop : (func(1, [@(0); bool]))+constant hasProperty : (func(1, [Str; @(0); bool]))+constant lit$36$String : (Str)+constant lit$36$E : (Str)+constant lit$36$POSITIVE_INFINITY : (Str)+constant lit$36$MIN_VALUE : (Str)+constant lit$36$prototype : (Str)+constant lit$36$SQRT2 : (Str)+constant lit$36$LOG2E : (Str)+constant lit$36$Number : (Str)+constant lit$36$HTMLElement : (Str)+constant lit$36$number : (Str)+constant enumProp : (func(1, [Str; @(0); bool]))+constant lit$36$boolean : (Str)+constant lit$36$Window : (Str)+++bind 0 undefined : {v : Undefined | [(ttag([v]) = lit$36$undefined);+ (~ ((? Prop([v]))))]}+bind 1 Object : {VV$35$285 : Object | [(? Prop([VV$35$285]));+ (ttag([VV$35$285]) = lit$36$object)]}+bind 2 Object.prototype : {VV : (Object Immutable) | [(? extends_interface([VV;+ lit$36$Object]));+ (? Prop([VV]));+ (ttag([VV]) = lit$36$object);+ (VV ~~ offset([Object; lit$36$prototype]))]}+bind 3 NaN : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v = numeric_nan)]}+bind 4 Number : {VV$35$325 : Object | [(? Prop([VV$35$325]));+ (ttag([VV$35$325]) = lit$36$object)]}+bind 5 Number.POSITIVE_INFINITY : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Number; lit$36$POSITIVE_INFINITY]))]}+bind 6 Number.MIN_VALUE : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Number; lit$36$MIN_VALUE]))]}+bind 7 Number.prototype : {VV : (Number Immutable) | [(? extends_interface([VV;+ lit$36$Number]));+ (? Prop([VV]));+ (ttag([VV]) = lit$36$object);+ (VV ~~ offset([Number; lit$36$prototype]))]}+bind 8 Number.NaN : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Number; lit$36$NaN]))]}+bind 9 Number.NEGATIVE_INFINITY : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Number; lit$36$NEGATIVE_INFINITY]))]}+bind 10 Number.MAX_VALUE : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Number; lit$36$MAX_VALUE]))]}+bind 11 Math : {VV$35$387 : (Math Immutable) | [(? extends_interface([VV$35$387;+ lit$36$Math]));+ (? Prop([VV$35$387]));+ (ttag([VV$35$387]) = lit$36$object)]}+bind 12 Math.SQRT2 : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Math; lit$36$SQRT2]))]}+bind 13 Math.LN2 : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Math; lit$36$LN2]))]}+bind 14 Math.PI : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Math; lit$36$PI]))]}+bind 15 Math.LOG10E : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Math; lit$36$LOG10E]))]}+bind 16 Math.LOG2E : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Math; lit$36$LOG2E]))]}+bind 17 Math.E : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Math; lit$36$E]))]}+bind 18 Math.SQRT1_2 : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Math; lit$36$SQRT1_2]))]}+bind 19 Math.LN10 : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Math; lit$36$LN10]))]}+bind 20 String : {VV$35$469 : (StringConstructor Immutable) | [(? extends_interface([VV$35$469;+ lit$36$StringConstructor]));+ (? Prop([VV$35$469]));+ (ttag([VV$35$469]) = lit$36$object)]}+bind 21 String.prototype : {VV : (String Immutable) | [(? extends_interface([VV;+ lit$36$String]));+ (? Prop([VV]));+ (ttag([VV]) = lit$36$object);+ (VV ~~ offset([String; lit$36$prototype]))]}+bind 22 Array : {VV$35$727 : Object | [(? Prop([VV$35$727]));+ (ttag([VV$35$727]) = lit$36$object)]}+bind 23 Array.prototype : {VV : (Array Mutable Top) | [(? extends_interface([VV;+ lit$36$Array]));+ (? Prop([VV]));+ (ttag([VV]) = lit$36$object);+ (VV ~~ offset([Array; lit$36$prototype]))]}+bind 24 Function : {VV$35$762 : Object | [(? Prop([VV$35$762]));+ (ttag([VV$35$762]) = lit$36$object)]}+bind 25 Function.prototype : {VV : (Function Immutable) | [(? extends_interface([VV;+ lit$36$Function]));+ (? Prop([VV]));+ (ttag([VV]) = lit$36$object);+ (VV ~~ offset([Function;+ lit$36$prototype]))]}+bind 26 Console : {VV$35$891 : Object | [(? Prop([VV$35$891]));+ (ttag([VV$35$891]) = lit$36$object)]}+bind 27 Console.prototype : {VV : (Console Immutable) | [(? extends_interface([VV;+ lit$36$Console]));+ (? Prop([VV]));+ (ttag([VV]) = lit$36$object);+ (VV ~~ offset([Console;+ lit$36$prototype]))]}+bind 28 console : {VV$35$893 : (Console Immutable) | [(? extends_interface([VV$35$893;+ lit$36$Console]));+ (? Prop([VV$35$893]));+ (ttag([VV$35$893]) = lit$36$object)]}+bind 29 Error : {VV$35$983 : Object | [(? Prop([VV$35$983]));+ (ttag([VV$35$983]) = lit$36$object)]}+bind 30 Error.prototype : {VV : (Error Immutable) | [(? extends_interface([VV;+ lit$36$Error]));+ (? Prop([VV]));+ (ttag([VV]) = lit$36$object);+ (VV ~~ offset([Error; lit$36$prototype]))]}+bind 31 Event : {VV$35$1025 : Object | [(? Prop([VV$35$1025]));+ (ttag([VV$35$1025]) = lit$36$object)]}+bind 32 Event.CAPTURING_PHASE : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Event; lit$36$CAPTURING_PHASE]))]}+bind 33 Event.AT_TARGET : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Event; lit$36$AT_TARGET]))]}+bind 34 Event.prototype : {VV : (Event Immutable) | [(? extends_interface([VV;+ lit$36$Event]));+ (? Prop([VV]));+ (ttag([VV]) = lit$36$object);+ (VV ~~ offset([Event; lit$36$prototype]))]}+bind 35 Event.BUBBLING_PHASE : {v : int | [(ttag([v]) = lit$36$number);+ ((? Prop([v])) <=> (v != 0));+ (v ~~ offset([Event; lit$36$BUBBLING_PHASE]))]}+bind 36 document : {VV$35$1027 : (Document Immutable) | [(? extends_interface([VV$35$1027;+ lit$36$Document]));+ (? Prop([VV$35$1027]));+ (ttag([VV$35$1027]) = lit$36$object)]}+bind 37 document.documentElement : {VV : (HTMLElement Immutable) | [(? extends_interface([VV;+ lit$36$HTMLElement]));+ (? Prop([VV]));+ (ttag([VV]) = lit$36$object);+ (VV ~~ offset([document;+ lit$36$documentElement]))]}+bind 38 window : {VV$35$1031 : (Window Immutable) | [(? extends_interface([VV$35$1031;+ lit$36$Window]));+ (? Prop([VV$35$1031]));+ (ttag([VV$35$1031]) = lit$36$object)]}+bind 39 lq_tmp_nano_1 : {VV : (BitVec Size32) | [(VV = (lit "#x00000008" (BitVec Size32)))]}+bind 40 a_SSA_0 : {VV : (BitVec Size32) | [(VV ~~ lq_tmp_nano_1);+ (VV = (lit "#x00000008" (BitVec Size32)))]}+bind 41 lq_tmp_nano_2 : {VV : (BitVec Size32) | [(VV = (lit "#x00000008" (BitVec Size32)))]}+bind 42 b_SSA_1 : {VV : (BitVec Size32) | [(VV ~~ lq_tmp_nano_2);+ (VV = (lit "#x00000008" (BitVec Size32)))]}+bind 43 lq_tmp_nano_3 : {v : (BitVec Size32) | [(v = bvor([a_SSA_0;+ a_SSA_0]))]}+bind 44 lq_tmp_nano_6 : {v : Boolean | [(ttag([v]) = lit$36$boolean);+ ((? Prop([v])) <=> (b_SSA_1 ~~ lq_tmp_nano_3))]}+bind 45 lq_tmp_nano_9 : {VV$35$4 : Void | []}+++++constraint:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 36;+ 5;+ 21;+ 37;+ 6;+ 22;+ 38;+ 7;+ 23;+ 39;+ 8;+ 24;+ 40;+ 9;+ 25;+ 41;+ 10;+ 26;+ 42;+ 11;+ 27;+ 43;+ 12;+ 28;+ 44;+ 13;+ 29;+ 14;+ 30;+ 15;+ 31]+ lhs {VV$35$F1 : Boolean | [(ttag([VV$35$F1]) = lit$36$boolean);+ (VV$35$F1 ~~ lq_tmp_nano_6);+ (ttag([VV$35$F1]) = lit$36$boolean);+ ((? Prop([VV$35$F1])) <=> (b_SSA_1 ~~ lq_tmp_nano_3))]}+ rhs {VV$35$F1 : Boolean | [(? Prop([VV$35$F1]))]}+ id 1 tag [1]+ // META constraint id 1 : /Users/rjhala/research/stack/liquid/refscript/tests/pos/simple/hex.ts:7:1-7:22+++constraint:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 36;+ 5;+ 21;+ 37;+ 6;+ 22;+ 38;+ 7;+ 23;+ 39;+ 8;+ 24;+ 40;+ 9;+ 25;+ 41;+ 10;+ 26;+ 42;+ 11;+ 27;+ 43;+ 12;+ 28;+ 44;+ 13;+ 29;+ 14;+ 30;+ 15;+ 31]+ lhs {VV$35$F2 : Boolean | [(ttag([VV$35$F2]) = lit$36$boolean);+ (VV$35$F2 ~~ lq_tmp_nano_6);+ (ttag([VV$35$F2]) = lit$36$boolean);+ ((? Prop([VV$35$F2])) <=> (b_SSA_1 ~~ lq_tmp_nano_3))]}+ rhs {VV$35$F2 : Boolean | [(? Prop([VV$35$F2]))]}+ id 2 tag [1]+ // META constraint id 2 : /Users/rjhala/research/stack/liquid/refscript/tests/pos/simple/hex.ts:7:1-7:22+++++++++
@@ -0,0 +1,577 @@+qualif Append(v : [@(0)], xs : [@(0)], ys : [@(0)]): (len([v]) = (len([xs]) + len([ys]))) // "tests/pos/listqual.hs" (line 3, column 12)+qualif Fst(v : @(1), y : @(0)): (v = fst([y])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.spec" (line 29, column 8)+qualif Snd(v : @(1), y : @(0)): (v = snd([y])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.spec" (line 30, column 8)+qualif Auto(v : [int]): (len([v]) = 2) // "tests/pos/listqual.hs" (line 10, column 1)+qualif IsEmp(v : GHC.Types.Bool, xs : [@(0)]): ((? Prop([v])) <=> (len([xs]) > 0)) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 13, column 8)+qualif IsEmp(v : GHC.Types.Bool, xs : [@(0)]): ((? Prop([v])) <=> (len([xs]) = 0)) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 14, column 8)+qualif ListZ(v : [@(0)]): (len([v]) = 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 16, column 8)+qualif ListZ(v : [@(0)]): (len([v]) >= 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 17, column 8)+qualif ListZ(v : [@(0)]): (len([v]) > 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 18, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) = len([xs])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 20, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) >= len([xs])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 21, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) > len([xs])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 22, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) <= len([xs])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 23, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) < len([xs])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 24, column 8)+qualif EqLen(v : int, xs : [@(0)]): (v = len([xs])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 26, column 8)+qualif LenEq(v : [@(0)], x : int): (x = len([v])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 27, column 8)+qualif LenDiff(v : [@(0)], x : int): (len([v]) = (x + 1)) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 28, column 8)+qualif LenDiff(v : [@(0)], x : int): (len([v]) = (x - 1)) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 29, column 8)+qualif LenAcc(v : int, xs : [@(0)], n : int): (v = (len([xs]) + n)) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/GHC/Base.hquals" (line 30, column 8)+qualif Bot(v : @(0)): (0 = 1) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 3, column 8)+qualif Bot(v : @(0)): (0 = 1) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 4, column 8)+qualif Bot(v : @(0)): (0 = 1) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 5, column 8)+qualif Bot(v : bool): (0 = 1) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 6, column 8)+qualif Bot(v : int): (0 = 1) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 7, column 8)+qualif CmpZ(v : @(0)): (v < 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 9, column 8)+qualif CmpZ(v : @(0)): (v <= 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 10, column 8)+qualif CmpZ(v : @(0)): (v > 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 11, column 8)+qualif CmpZ(v : @(0)): (v >= 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 12, column 8)+qualif CmpZ(v : @(0)): (v = 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 13, column 8)+qualif CmpZ(v : @(0)): (v != 0) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 14, column 8)+qualif Cmp(v : @(0), x : @(0)): (v < x) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 16, column 8)+qualif Cmp(v : @(0), x : @(0)): (v <= x) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 17, column 8)+qualif Cmp(v : @(0), x : @(0)): (v > x) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 18, column 8)+qualif Cmp(v : @(0), x : @(0)): (v >= x) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 19, column 8)+qualif Cmp(v : @(0), x : @(0)): (v = x) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 20, column 8)+qualif Cmp(v : @(0), x : @(0)): (v != x) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 21, column 8)+qualif One(v : int): (v = 1) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 28, column 8)+qualif True(v : bool): (? v) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 29, column 8)+qualif False(v : bool): (~ ((? v))) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 30, column 8)+qualif True1(v : GHC.Types.Bool): (? Prop([v])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 31, column 8)+qualif False1(v : GHC.Types.Bool): (~ ((? Prop([v])))) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 32, column 8)+qualif Papp(v : @(0), p : (Pred @(0))): (? papp1([p;+ v])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 35, column 8)+qualif Papp2(v : @(1), x : @(0), p : (Pred @(1) @(0))): (? papp2([p;+ v;+ x])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 38, column 8)+qualif Papp3(v : @(2), x : @(0), y : @(1), p : (Pred @(2) @(0) @(1))): (? papp3([p;+ v;+ x;+ y])) // "/Users/rjhala/research/stack/liquid/liquidhaskell/.stack-work/install/x86_64-osx/nightly-2015-09-24/7.10.2/share/x86_64-osx-ghc-7.10.2/liquidhaskell-0.5.0.2/include/Prelude.hquals" (line 41, column 8)+++cut $k__185+cut $k__172+cut $k__178+cut $k__175+cut $k__182+cut $k__162+cut $k__168+cut $k__158+cut $k__165+++constant runFun : (func(2, [(Arrow @(0) @(1)); @(0); @(1)]))+constant addrLen : (func(0, [int; int]))+constant xsListSelector : (func(1, [[@(0)]; [@(0)]]))+constant x_Tuple21 : (func(2, [(Tuple @(0) @(1)); @(0)]))+constant x_Tuple65 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(4)]))+constant x_Tuple55 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(4)]))+constant x_Tuple33 : (func(3, [(Tuple @(0) @(1) @(2)); @(2)]))+constant x_Tuple77 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(6)]))+constant papp3 : (func(6, [(Pred @(0) @(1) @(2));+ @(3);+ @(4);+ @(5);+ bool]))+constant x_Tuple63 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(2)]))+constant x_Tuple41 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(0)]))+constant papp4 : (func(8, [(Pred @(0) @(1) @(2) @(6));+ @(3);+ @(4);+ @(5);+ @(7);+ bool]))+constant x_Tuple64 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(3)]))+constant autolen : (func(1, [@(0); int]))+constant x_Tuple52 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(1)]))+constant null : (func(1, [[@(0)]; bool]))+constant papp2 : (func(4, [(Pred @(0) @(1)); @(2); @(3); bool]))+constant x_Tuple62 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(1)]))+constant fromJust : (func(1, [(GHC.Base.Maybe @(0)); @(0)]))+constant GHC.Types.$91$$93$$35$6m : (func(1, [[@(0)]]))+constant x_Tuple53 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(2)]))+constant x_Tuple71 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(0)]))+constant GHC.Types.$58$$35$64 : (func(1, [@(0); [@(0)]; [@(0)]]))+constant x_Tuple74 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(3)]))+constant len : (func(2, [(@(0) @(1)); int]))+constant x_Tuple22 : (func(2, [(Tuple @(0) @(1)); @(1)]))+constant x_Tuple66 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(5)]))+constant x_Tuple44 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(3)]))+constant xListSelector : (func(1, [[@(0)]; @(0)]))+constant strLen : (func(0, [int; int]))+constant x_Tuple72 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(1)]))+constant isJust : (func(1, [(GHC.Base.Maybe @(0)); bool]))+constant Prop : (func(0, [GHC.Types.Bool; bool]))+constant x_Tuple31 : (func(3, [(Tuple @(0) @(1) @(2)); @(0)]))+constant x_Tuple75 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(4)]))+constant papp1 : (func(1, [(Pred @(0)); @(0); bool]))+constant x_Tuple61 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(0)]))+constant x_Tuple43 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(2)]))+constant x_Tuple51 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(0)]))+constant GHC.Types.I$35$$35$6c : (func(0, [int; int]))+constant x_Tuple73 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(2)]))+constant x_Tuple54 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(3)]))+constant x_Tuple32 : (func(3, [(Tuple @(0) @(1) @(2)); @(1)]))+constant cmp : (func(0, [GHC.Types.Ordering; GHC.Types.Ordering]))+constant x_Tuple76 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(5)]))+constant fst : (func(2, [(Tuple @(0) @(1)); @(0)]))+constant snd : (func(2, [(Tuple @(0) @(1)); @(1)]))+constant x_Tuple42 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(1)]))+++bind 0 GHC.Types.$91$$93$$35$6m : {VV : func(1, [[@(0)]]) | []}+bind 1 GHC.Types.EQ$35$6U : {VV$35$125 : GHC.Types.Ordering | [(VV$35$125 = GHC.Types.EQ$35$6U)]}+bind 2 GHC.Types.LT$35$6S : {VV$35$126 : GHC.Types.Ordering | [(VV$35$126 = GHC.Types.LT$35$6S)]}+bind 3 GHC.Types.GT$35$6W : {VV$35$127 : GHC.Types.Ordering | [(VV$35$127 = GHC.Types.GT$35$6W)]}+bind 4 GHC.Types.$91$$93$$35$6m : {VV : func(1, [[@(0)]]) | []}+bind 5 GHC.Types.GT$35$6W : {VV$35$150 : GHC.Types.Ordering | [(cmp([VV$35$150]) = GHC.Types.GT$35$6W)]}+bind 6 GHC.Types.LT$35$6S : {VV$35$151 : GHC.Types.Ordering | [(cmp([VV$35$151]) = GHC.Types.LT$35$6S)]}+bind 7 GHC.Types.EQ$35$6U : {VV$35$152 : GHC.Types.Ordering | [(cmp([VV$35$152]) = GHC.Types.EQ$35$6U)]}+bind 8 GHC.Base.Nothing$35$r1d : {VV : func(1, [(GHC.Base.Maybe @(0))]) | []}+bind 9 ds_dwT : {VV$35$164 : [a_awA] | [$k__165;+ (len([VV$35$164]) >= 0)]}+bind 10 ys$35$awn : {VV$35$174 : [a_awA] | [$k__175[lq_tmp_x_187:=ds_dwT][lq_tmp_x_189:=ds_dwT][ds_dwT:=ds_dwT];+ (len([VV$35$174]) >= 0)]}+bind 11 lq_anf__dwU : {lq_tmp_x_195 : [a_awA] | [(lq_tmp_x_195 = ds_dwT);+ (len([lq_tmp_x_195]) >= 0)]}+bind 12 lq_anf__dwU : {lq_tmp_x_198 : [a_awA] | [(lq_tmp_x_198 = ds_dwT);+ (len([lq_tmp_x_198]) >= 0);+ (len([lq_tmp_x_198]) >= 0)]}+bind 13 lq_anf__dwU : {lq_tmp_x_198 : [a_awA] | [(lq_tmp_x_198 = ds_dwT);+ (len([lq_tmp_x_198]) >= 0);+ (len([lq_tmp_x_198]) = 0);+ ((? null([lq_tmp_x_198])) <=> true);+ (lq_tmp_x_198 = GHC.Types.$91$$93$$35$6m([]));+ (len([lq_tmp_x_198]) = 0);+ ((? null([lq_tmp_x_198])) <=> true);+ (len([lq_tmp_x_198]) >= 0)]}+bind 14 lq_anf__dwU : {lq_tmp_x_208 : [a_awA] | [(lq_tmp_x_208 = ds_dwT);+ (len([lq_tmp_x_208]) >= 0);+ (len([lq_tmp_x_208]) >= 0)]}+bind 15 x$35$awo : {VV : a_awA | [$k__158[VV$35$164:=lq_anf__dwU][lq_tmp_x_208:=lq_anf__dwU][lq_tmp_x_195:=lq_anf__dwU][VV$35$157:=VV]]}+bind 16 xs$35$awp : {lq_tmp_x_218 : [a_awA] | [(len([lq_tmp_x_218]) >= 0)]}+bind 17 lq_anf__dwU : {lq_tmp_x_208 : [a_awA] | [(lq_tmp_x_208 = ds_dwT);+ (len([lq_tmp_x_208]) >= 0);+ (len([lq_tmp_x_208]) = (1 + len([xs$35$awp])));+ ((? null([lq_tmp_x_208])) <=> false);+ (xsListSelector([lq_tmp_x_208]) = xs$35$awp);+ (xListSelector([lq_tmp_x_208]) = x$35$awo);+ (lq_tmp_x_208 = GHC.Types.$58$$35$64([x$35$awo;+ xs$35$awp]));+ (len([lq_tmp_x_208]) = (1 + len([xs$35$awp])));+ ((? null([lq_tmp_x_208])) <=> false);+ (xsListSelector([lq_tmp_x_208]) = xs$35$awp);+ (xListSelector([lq_tmp_x_208]) = x$35$awo);+ (len([lq_tmp_x_208]) >= 0)]}+bind 18 lq_anf__dwV : {VV$35$184 : [a_awA] | [$k__185[lq_tmp_x_187:=xs$35$awp][lq_tmp_x_189:=xs$35$awp][ds_dwT:=xs$35$awp][lq_tmp_x_188:=ys$35$awn][ys$35$awn:=ys$35$awn][lq_tmp_x_190:=ys$35$awn];+ (len([VV$35$184]) >= 0)]}+bind 19 lq_tmp_x_259 : {VV : a_awA | []}+bind 20 lq_anf__dwW : {lq_tmp_x_264 : int | [(lq_tmp_x_264 = (1 : int))]}+bind 21 lq_tmp_x_278 : {VV$35$279 : int | []}+bind 22 lq_anf__dwX : {lq_tmp_x_270 : [int] | [(len([lq_tmp_x_270]) = 0);+ ((? null([lq_tmp_x_270])) <=> true);+ (len([lq_tmp_x_270]) >= 0)]}+bind 23 lq_tmp_x_296 : {VV$35$297 : int | []}+bind 24 lq_anf__dwY : {lq_tmp_x_284 : [int] | [(len([lq_tmp_x_284]) = (1 + len([lq_anf__dwX])));+ ((? null([lq_tmp_x_284])) <=> false);+ (xsListSelector([lq_tmp_x_284]) = lq_anf__dwX);+ (xListSelector([lq_tmp_x_284]) = lq_anf__dwW);+ (len([lq_tmp_x_284]) >= 0)]}+bind 25 lq_anf__dwZ : {lq_tmp_x_305 : int | [(lq_tmp_x_305 = (2 : int))]}+bind 26 lq_tmp_x_319 : {VV$35$320 : int | []}+bind 27 lq_anf__dx0 : {lq_tmp_x_311 : [int] | [(len([lq_tmp_x_311]) = 0);+ ((? null([lq_tmp_x_311])) <=> true);+ (len([lq_tmp_x_311]) >= 0)]}+bind 28 lq_tmp_x_337 : {VV$35$338 : int | []}+bind 29 lq_anf__dx1 : {lq_tmp_x_325 : [int] | [(len([lq_tmp_x_325]) = (1 + len([lq_anf__dx0])));+ ((? null([lq_tmp_x_325])) <=> false);+ (xsListSelector([lq_tmp_x_325]) = lq_anf__dx0);+ (xListSelector([lq_tmp_x_325]) = lq_anf__dwZ);+ (len([lq_tmp_x_325]) >= 0)]}+bind 30 ListQual.boo$35$rlx : {v : [int] | [(len([v]) = 2);+ (len([v]) >= 0)]}+bind 31 VV$35$368 : {VV$35$368 : [int] | [$k__185[lq_tmp_x_354:=lq_anf__dx1][lq_tmp_x_187:=lq_anf__dwY][lq_tmp_x_189:=lq_anf__dwY][lq_tmp_x_353:=lq_anf__dwY][ds_dwT:=lq_anf__dwY][lq_tmp_x_350:=VV$35$368][lq_tmp_x_188:=lq_anf__dx1][ys$35$awn:=lq_anf__dx1][VV$35$184:=VV$35$368][lq_tmp_x_190:=lq_anf__dx1];+ (len([VV$35$368]) >= 0)]}+bind 32 VV$35$368 : {VV$35$368 : [int] | [$k__185[lq_tmp_x_354:=lq_anf__dx1][lq_tmp_x_187:=lq_anf__dwY][lq_tmp_x_189:=lq_anf__dwY][lq_tmp_x_353:=lq_anf__dwY][ds_dwT:=lq_anf__dwY][lq_tmp_x_350:=VV$35$368][lq_tmp_x_188:=lq_anf__dx1][ys$35$awn:=lq_anf__dx1][VV$35$184:=VV$35$368][lq_tmp_x_190:=lq_anf__dx1];+ (len([VV$35$368]) >= 0)]}+bind 33 VV$35$371 : {VV$35$371 : int | [$k__356[lq_tmp_x_354:=lq_anf__dx1][lq_tmp_x_353:=lq_anf__dwY][VV$35$355:=VV$35$371][lq_tmp_x_350:=VV$35$368][lq_tmp_x_358:=VV$35$371];+ $k__178[lq_tmp_x_354:=lq_anf__dx1][lq_tmp_x_187:=lq_anf__dwY][lq_tmp_x_189:=lq_anf__dwY][lq_tmp_x_353:=lq_anf__dwY][ds_dwT:=lq_anf__dwY][VV$35$177:=VV$35$371][lq_tmp_x_350:=VV$35$368][lq_tmp_x_188:=lq_anf__dx1][ys$35$awn:=lq_anf__dx1][lq_tmp_x_358:=VV$35$371][VV$35$184:=VV$35$368][lq_tmp_x_190:=lq_anf__dx1]]}+bind 34 VV$35$371 : {VV$35$371 : int | [$k__356[lq_tmp_x_354:=lq_anf__dx1][lq_tmp_x_353:=lq_anf__dwY][VV$35$355:=VV$35$371][lq_tmp_x_350:=VV$35$368][lq_tmp_x_358:=VV$35$371];+ $k__178[lq_tmp_x_354:=lq_anf__dx1][lq_tmp_x_187:=lq_anf__dwY][lq_tmp_x_189:=lq_anf__dwY][lq_tmp_x_353:=lq_anf__dwY][ds_dwT:=lq_anf__dwY][VV$35$177:=VV$35$371][lq_tmp_x_350:=VV$35$368][lq_tmp_x_188:=lq_anf__dx1][ys$35$awn:=lq_anf__dx1][lq_tmp_x_358:=VV$35$371][VV$35$184:=VV$35$368][lq_tmp_x_190:=lq_anf__dx1]]}+bind 35 fldList : {VV$35$374 : int | []}+bind 36 VV$35$375 : {VV$35$375 : int | [$k__182[lq_tmp_x_354:=lq_anf__dx1][lq_tmp_x_187:=lq_anf__dwY][lq_tmp_x_189:=lq_anf__dwY][lq_tmp_x_353:=lq_anf__dwY][ds_dwT:=lq_anf__dwY][VV$35$181:=VV$35$375][lq_tmp_x_350:=VV$35$368][lq_tmp_x_188:=lq_anf__dx1][ys$35$awn:=lq_anf__dx1][lq_tmp_x_180:=fldList][lq_tmp_x_349:=fldList][lq_tmp_x_358:=VV$35$375][VV$35$184:=VV$35$368][lq_tmp_x_190:=lq_anf__dx1]]}+bind 37 VV$35$375 : {VV$35$375 : int | [$k__182[lq_tmp_x_354:=lq_anf__dx1][lq_tmp_x_187:=lq_anf__dwY][lq_tmp_x_189:=lq_anf__dwY][lq_tmp_x_353:=lq_anf__dwY][ds_dwT:=lq_anf__dwY][VV$35$181:=VV$35$375][lq_tmp_x_350:=VV$35$368][lq_tmp_x_188:=lq_anf__dx1][ys$35$awn:=lq_anf__dx1][lq_tmp_x_180:=fldList][lq_tmp_x_349:=fldList][lq_tmp_x_358:=VV$35$375][VV$35$184:=VV$35$368][lq_tmp_x_190:=lq_anf__dx1]]}+bind 38 VV$35$378 : {VV$35$378 : [int] | [(VV$35$378 = lq_anf__dx1);+ (len([VV$35$378]) >= 0)]}+bind 39 VV$35$378 : {VV$35$378 : [int] | [(VV$35$378 = lq_anf__dx1);+ (len([VV$35$378]) >= 0)]}+bind 40 VV$35$381 : {VV$35$381 : int | [$k__331[lq_tmp_x_329:=lq_anf__dx0][lq_tmp_x_363:=VV$35$381][VV$35$330:=VV$35$381][lq_tmp_x_366:=VV$35$378][lq_tmp_x_328:=lq_anf__dwZ][lq_tmp_x_333:=VV$35$381][lq_tmp_x_325:=VV$35$378]]}+bind 41 VV$35$381 : {VV$35$381 : int | [$k__331[lq_tmp_x_329:=lq_anf__dx0][lq_tmp_x_363:=VV$35$381][VV$35$330:=VV$35$381][lq_tmp_x_366:=VV$35$378][lq_tmp_x_328:=lq_anf__dwZ][lq_tmp_x_333:=VV$35$381][lq_tmp_x_325:=VV$35$378]]}+bind 42 lq_tmp_x_347 : {VV$35$384 : int | []}+bind 43 VV$35$385 : {VV$35$385 : int | [$k__335[lq_tmp_x_365:=VV$35$385][lq_tmp_x_329:=lq_anf__dx0][lq_tmp_x_324:=lq_tmp_x_347][lq_tmp_x_364:=lq_tmp_x_347][lq_tmp_x_366:=VV$35$378][lq_tmp_x_328:=lq_anf__dwZ][lq_tmp_x_333:=VV$35$385][lq_tmp_x_337:=lq_tmp_x_347][lq_tmp_x_325:=VV$35$378][VV$35$334:=VV$35$385]]}+bind 44 VV$35$385 : {VV$35$385 : int | [$k__335[lq_tmp_x_365:=VV$35$385][lq_tmp_x_329:=lq_anf__dx0][lq_tmp_x_324:=lq_tmp_x_347][lq_tmp_x_364:=lq_tmp_x_347][lq_tmp_x_366:=VV$35$378][lq_tmp_x_328:=lq_anf__dwZ][lq_tmp_x_333:=VV$35$385][lq_tmp_x_337:=lq_tmp_x_347][lq_tmp_x_325:=VV$35$378][VV$35$334:=VV$35$385]]}+bind 45 VV$35$388 : {VV$35$388 : [int] | [(VV$35$388 = lq_anf__dwY);+ (len([VV$35$388]) >= 0)]}+bind 46 VV$35$388 : {VV$35$388 : [int] | [(VV$35$388 = lq_anf__dwY);+ (len([VV$35$388]) >= 0)]}+bind 47 VV$35$391 : {VV$35$391 : int | [$k__290[VV$35$289:=VV$35$391][lq_tmp_x_288:=lq_anf__dwX][lq_tmp_x_292:=VV$35$391][lq_tmp_x_362:=VV$35$388][lq_tmp_x_359:=VV$35$391][lq_tmp_x_284:=VV$35$388][lq_tmp_x_287:=lq_anf__dwW]]}+bind 48 VV$35$391 : {VV$35$391 : int | [$k__290[VV$35$289:=VV$35$391][lq_tmp_x_288:=lq_anf__dwX][lq_tmp_x_292:=VV$35$391][lq_tmp_x_362:=VV$35$388][lq_tmp_x_359:=VV$35$391][lq_tmp_x_284:=VV$35$388][lq_tmp_x_287:=lq_anf__dwW]]}+bind 49 lq_tmp_x_345 : {VV$35$394 : int | []}+bind 50 VV$35$395 : {VV$35$395 : int | [$k__294[lq_tmp_x_361:=VV$35$395][lq_tmp_x_288:=lq_anf__dwX][lq_tmp_x_360:=lq_tmp_x_345][VV$35$293:=VV$35$395][lq_tmp_x_292:=VV$35$395][lq_tmp_x_362:=VV$35$388][lq_tmp_x_296:=lq_tmp_x_345][lq_tmp_x_283:=lq_tmp_x_345][lq_tmp_x_284:=VV$35$388][lq_tmp_x_287:=lq_anf__dwW]]}+bind 51 VV$35$395 : {VV$35$395 : int | [$k__294[lq_tmp_x_361:=VV$35$395][lq_tmp_x_288:=lq_anf__dwX][lq_tmp_x_360:=lq_tmp_x_345][VV$35$293:=VV$35$395][lq_tmp_x_292:=VV$35$395][lq_tmp_x_362:=VV$35$388][lq_tmp_x_296:=lq_tmp_x_345][lq_tmp_x_283:=lq_tmp_x_345][lq_tmp_x_284:=VV$35$388][lq_tmp_x_287:=lq_anf__dwW]]}+bind 52 VV$35$398 : {VV$35$398 : [int] | [(VV$35$398 = lq_anf__dx0);+ (len([VV$35$398]) >= 0)]}+bind 53 VV$35$398 : {VV$35$398 : [int] | [(VV$35$398 = lq_anf__dx0);+ (len([VV$35$398]) >= 0)]}+bind 54 VV$35$401 : {VV$35$401 : int | [$k__313[lq_tmp_x_340:=VV$35$401][lq_tmp_x_343:=VV$35$398][VV$35$312:=VV$35$401][lq_tmp_x_311:=VV$35$398][lq_tmp_x_315:=VV$35$401]]}+bind 55 VV$35$401 : {VV$35$401 : int | [$k__313[lq_tmp_x_340:=VV$35$401][lq_tmp_x_343:=VV$35$398][VV$35$312:=VV$35$401][lq_tmp_x_311:=VV$35$398][lq_tmp_x_315:=VV$35$401]]}+bind 56 lq_tmp_x_322 : {VV$35$404 : int | []}+bind 57 VV$35$405 : {VV$35$405 : int | [$k__317[lq_tmp_x_342:=VV$35$405][lq_tmp_x_343:=VV$35$398][lq_tmp_x_341:=lq_tmp_x_322][VV$35$316:=VV$35$405][lq_tmp_x_319:=lq_tmp_x_322][lq_tmp_x_311:=VV$35$398][lq_tmp_x_310:=lq_tmp_x_322][lq_tmp_x_315:=VV$35$405]]}+bind 58 VV$35$405 : {VV$35$405 : int | [$k__317[lq_tmp_x_342:=VV$35$405][lq_tmp_x_343:=VV$35$398][lq_tmp_x_341:=lq_tmp_x_322][VV$35$316:=VV$35$405][lq_tmp_x_319:=lq_tmp_x_322][lq_tmp_x_311:=VV$35$398][lq_tmp_x_310:=lq_tmp_x_322][lq_tmp_x_315:=VV$35$405]]}+bind 59 VV$35$408 : {VV$35$408 : int | [(VV$35$408 = lq_anf__dwZ)]}+bind 60 VV$35$408 : {VV$35$408 : int | [(VV$35$408 = lq_anf__dwZ)]}+bind 61 VV$35$411 : {VV$35$411 : int | [(VV$35$411 = 2)]}+bind 62 VV$35$411 : {VV$35$411 : int | [(VV$35$411 = 2)]}+bind 63 VV$35$414 : {VV$35$414 : [int] | [(VV$35$414 = lq_anf__dwX);+ (len([VV$35$414]) >= 0)]}+bind 64 VV$35$414 : {VV$35$414 : [int] | [(VV$35$414 = lq_anf__dwX);+ (len([VV$35$414]) >= 0)]}+bind 65 VV$35$417 : {VV$35$417 : int | [$k__272[lq_tmp_x_274:=VV$35$417][VV$35$271:=VV$35$417][lq_tmp_x_302:=VV$35$414][lq_tmp_x_299:=VV$35$417][lq_tmp_x_270:=VV$35$414]]}+bind 66 VV$35$417 : {VV$35$417 : int | [$k__272[lq_tmp_x_274:=VV$35$417][VV$35$271:=VV$35$417][lq_tmp_x_302:=VV$35$414][lq_tmp_x_299:=VV$35$417][lq_tmp_x_270:=VV$35$414]]}+bind 67 lq_tmp_x_281 : {VV$35$420 : int | []}+bind 68 VV$35$421 : {VV$35$421 : int | [$k__276[lq_tmp_x_269:=lq_tmp_x_281][VV$35$275:=VV$35$421][lq_tmp_x_274:=VV$35$421][lq_tmp_x_301:=VV$35$421][lq_tmp_x_302:=VV$35$414][lq_tmp_x_300:=lq_tmp_x_281][lq_tmp_x_278:=lq_tmp_x_281][lq_tmp_x_270:=VV$35$414]]}+bind 69 VV$35$421 : {VV$35$421 : int | [$k__276[lq_tmp_x_269:=lq_tmp_x_281][VV$35$275:=VV$35$421][lq_tmp_x_274:=VV$35$421][lq_tmp_x_301:=VV$35$421][lq_tmp_x_302:=VV$35$414][lq_tmp_x_300:=lq_tmp_x_281][lq_tmp_x_278:=lq_tmp_x_281][lq_tmp_x_270:=VV$35$414]]}+bind 70 VV$35$424 : {VV$35$424 : int | [(VV$35$424 = lq_anf__dwW)]}+bind 71 VV$35$424 : {VV$35$424 : int | [(VV$35$424 = lq_anf__dwW)]}+bind 72 VV$35$427 : {VV$35$427 : int | [(VV$35$427 = 1)]}+bind 73 VV$35$427 : {VV$35$427 : int | [(VV$35$427 = 1)]}+bind 74 VV$35$430 : {VV$35$430 : [a_awA] | [(len([VV$35$430]) = (1 + len([lq_anf__dwV])));+ ((? null([VV$35$430])) <=> false);+ (xsListSelector([VV$35$430]) = lq_anf__dwV);+ (xListSelector([VV$35$430]) = x$35$awo);+ (len([VV$35$430]) >= 0)]}+bind 75 VV$35$430 : {VV$35$430 : [a_awA] | [(len([VV$35$430]) = (1 + len([lq_anf__dwV])));+ ((? null([VV$35$430])) <=> false);+ (xsListSelector([VV$35$430]) = lq_anf__dwV);+ (xListSelector([VV$35$430]) = x$35$awo);+ (len([VV$35$430]) >= 0)]}+bind 76 VV$35$253 : {VV$35$253 : a_awA | [$k__254[lq_tmp_x_252:=lq_anf__dwV][lq_tmp_x_248:=VV$35$430][lq_tmp_x_251:=x$35$awo]]}+bind 77 lq_tmp_x_180 : {VV : a_awA | []}+bind 78 VV$35$253 : {VV$35$253 : a_awA | [$k__257[lq_tmp_x_252:=lq_anf__dwV][VV$35$256:=VV$35$253][lq_tmp_x_248:=VV$35$430][lq_tmp_x_259:=lq_tmp_x_180][lq_tmp_x_247:=lq_tmp_x_180][lq_tmp_x_251:=x$35$awo]]}+bind 79 VV$35$436 : {VV$35$436 : [a_awA] | [(VV$35$436 = lq_anf__dwV);+ (len([VV$35$436]) >= 0)]}+bind 80 VV$35$436 : {VV$35$436 : [a_awA] | [(VV$35$436 = lq_anf__dwV);+ (len([VV$35$436]) >= 0)]}+bind 81 VV$35$237 : {VV$35$237 : a_awA | [$k__238[lq_tmp_x_262:=VV$35$436][lq_tmp_x_189:=xs$35$awp][VV$35$184:=VV$35$436][lq_tmp_x_190:=ys$35$awn];+ $k__178[lq_tmp_x_262:=VV$35$436][lq_tmp_x_187:=xs$35$awp][lq_tmp_x_189:=xs$35$awp][ds_dwT:=xs$35$awp][VV$35$177:=VV$35$237][lq_tmp_x_188:=ys$35$awn][ys$35$awn:=ys$35$awn][VV$35$184:=VV$35$436][lq_tmp_x_190:=ys$35$awn]]}+bind 82 lq_tmp_x_245 : {VV : a_awA | []}+bind 83 VV$35$237 : {VV$35$237 : a_awA | [$k__182[lq_tmp_x_262:=VV$35$436][lq_tmp_x_187:=xs$35$awp][lq_tmp_x_189:=xs$35$awp][ds_dwT:=xs$35$awp][VV$35$181:=VV$35$237][lq_tmp_x_261:=lq_tmp_x_245][lq_tmp_x_188:=ys$35$awn][ys$35$awn:=ys$35$awn][lq_tmp_x_180:=lq_tmp_x_245][VV$35$184:=VV$35$436][lq_tmp_x_190:=ys$35$awn]]}+bind 84 VV : {VV : a_awA | [(VV = x$35$awo)]}+bind 85 VV$35$443 : {VV$35$443 : [a_awA] | [(VV$35$443 = ys$35$awn);+ (len([VV$35$443]) >= 0)]}+bind 86 VV$35$443 : {VV$35$443 : [a_awA] | [(VV$35$443 = ys$35$awn);+ (len([VV$35$443]) >= 0)]}+bind 87 VV : {VV : a_awA | [$k__168[lq_tmp_x_187:=ds_dwT][VV$35$167:=VV][lq_tmp_x_189:=ds_dwT][ds_dwT:=ds_dwT][lq_tmp_x_243:=VV$35$443][VV$35$174:=VV$35$443]]}+bind 88 lq_tmp_x_170 : {VV : a_awA | []}+bind 89 VV : {VV : a_awA | [$k__172[lq_tmp_x_187:=ds_dwT][lq_tmp_x_189:=ds_dwT][lq_tmp_x_242:=lq_tmp_x_170][ds_dwT:=ds_dwT][lq_tmp_x_243:=VV$35$443][lq_tmp_x_170:=lq_tmp_x_170][VV$35$174:=VV$35$443][VV$35$171:=VV]]}+bind 90 VV$35$449 : {VV$35$449 : [a_awA] | [(VV$35$449 = xs$35$awp);+ (len([VV$35$449]) >= 0)]}+bind 91 VV$35$449 : {VV$35$449 : [a_awA] | [(VV$35$449 = xs$35$awp);+ (len([VV$35$449]) >= 0)]}+bind 92 VV : {VV : a_awA | [$k__158[lq_tmp_x_215:=x$35$awo][lq_tmp_x_218:=VV$35$449][VV$35$164:=lq_anf__dwU][lq_tmp_x_208:=lq_anf__dwU][lq_tmp_x_241:=VV$35$449][lq_tmp_x_195:=lq_anf__dwU][VV$35$157:=VV];+ $k__162[lq_tmp_x_215:=x$35$awo][lq_tmp_x_218:=VV$35$449][VV$35$164:=lq_anf__dwU][lq_tmp_x_207:=x$35$awo][lq_tmp_x_208:=lq_anf__dwU][VV$35$161:=VV][lq_tmp_x_160:=x$35$awo][lq_tmp_x_241:=VV$35$449][lq_tmp_x_195:=lq_anf__dwU][lq_tmp_x_194:=x$35$awo]]}+bind 93 lq_tmp_x_160 : {VV : a_awA | []}+bind 94 VV : {VV : a_awA | [$k__162[lq_tmp_x_215:=x$35$awo][lq_tmp_x_218:=VV$35$449][VV$35$164:=lq_anf__dwU][lq_tmp_x_207:=lq_tmp_x_160][lq_tmp_x_208:=lq_anf__dwU][VV$35$161:=VV][lq_tmp_x_160:=lq_tmp_x_160][lq_tmp_x_241:=VV$35$449][lq_tmp_x_217:=lq_tmp_x_160][lq_tmp_x_195:=lq_anf__dwU][lq_tmp_x_240:=lq_tmp_x_160][lq_tmp_x_194:=lq_tmp_x_160]]}+bind 95 VV$35$455 : {VV$35$455 : [a_awA] | [(VV$35$455 = ys$35$awn);+ (len([VV$35$455]) >= 0)]}+bind 96 VV$35$455 : {VV$35$455 : [a_awA] | [(VV$35$455 = ys$35$awn);+ (len([VV$35$455]) >= 0)]}+bind 97 VV : {VV : a_awA | [$k__168[lq_tmp_x_187:=ds_dwT][VV$35$167:=VV][lq_tmp_x_189:=ds_dwT][lq_tmp_x_206:=VV$35$455][ds_dwT:=ds_dwT][VV$35$174:=VV$35$455]]}+bind 98 lq_tmp_x_180 : {VV : a_awA | []}+bind 99 VV : {VV : a_awA | [$k__172[lq_tmp_x_187:=ds_dwT][lq_tmp_x_189:=ds_dwT][lq_tmp_x_206:=VV$35$455][ds_dwT:=ds_dwT][lq_tmp_x_205:=lq_tmp_x_180][lq_tmp_x_170:=lq_tmp_x_180][VV$35$174:=VV$35$455][VV$35$171:=VV]]}+bind 100 VV$35$355 : {VV$35$355 : int | [$k__356]}+bind 101 VV$35$334 : {VV$35$334 : int | [$k__335]}+bind 102 VV$35$330 : {VV$35$330 : int | [$k__331]}+bind 103 VV$35$316 : {VV$35$316 : int | [$k__317]}+bind 104 VV$35$312 : {VV$35$312 : int | [$k__313]}+bind 105 VV$35$293 : {VV$35$293 : int | [$k__294]}+bind 106 VV$35$289 : {VV$35$289 : int | [$k__290]}+bind 107 VV$35$275 : {VV$35$275 : int | [$k__276]}+bind 108 VV$35$271 : {VV$35$271 : int | [$k__272]}+bind 109 VV$35$164 : {VV$35$164 : [a_awA] | [$k__165;+ (len([VV$35$164]) >= 0)]}+bind 110 lq_tmp_x_160 : {VV : a_awA | []}+bind 111 ds_dwT : {VV$35$164 : [a_awA] | [$k__165;+ (len([VV$35$164]) >= 0)]}+bind 112 VV$35$174 : {VV$35$174 : [a_awA] | [$k__175;+ (len([VV$35$174]) >= 0)]}+bind 113 lq_tmp_x_170 : {VV : a_awA | []}+bind 114 ys$35$awn : {VV$35$174 : [a_awA] | [$k__175;+ (len([VV$35$174]) >= 0)]}+bind 115 VV$35$184 : {VV$35$184 : [a_awA] | [$k__185;+ (len([VV$35$184]) >= 0)]}+bind 116 lq_tmp_x_180 : {VV : a_awA | []}+++++constraint:+ env [0; 64; 1; 2; 3; 67; 4; 20; 68; 5; 6; 22; 7; 8]+ lhs {VV$35$F16 : int | [$k__276[VV$35$421:=VV$35$F16][lq_tmp_x_269:=lq_tmp_x_281][VV$35$275:=VV$35$F16][lq_tmp_x_274:=VV$35$F16][lq_tmp_x_301:=VV$35$F16][VV$35$F:=VV$35$F16][lq_tmp_x_302:=VV$35$414][lq_tmp_x_300:=lq_tmp_x_281][lq_tmp_x_278:=lq_tmp_x_281][lq_tmp_x_270:=VV$35$414]]}+ rhs {VV$35$F16 : int | [$k__294[VV$35$421:=VV$35$F16][lq_tmp_x_282:=VV$35$414][VV$35$F:=VV$35$F16][VV$35$293:=VV$35$F16][lq_tmp_x_292:=VV$35$F16][lq_tmp_x_296:=lq_tmp_x_281][lq_tmp_x_287:=lq_anf__dwW]]}+ id 16 tag [2]+ // META constraint id 16 : tests/pos/listqual.hs:10:1-3+++constraint:+ env [0; 1; 2; 3; 4; 20; 5; 6; 22; 7; 8; 24; 25; 27; 29; 31]+ lhs {VV$35$F1 : [int] | [$k__185[lq_tmp_x_354:=lq_anf__dx1][lq_tmp_x_187:=lq_anf__dwY][lq_tmp_x_189:=lq_anf__dwY][lq_tmp_x_353:=lq_anf__dwY][ds_dwT:=lq_anf__dwY][VV$35$F:=VV$35$F1][lq_tmp_x_350:=VV$35$F1][VV$35$368:=VV$35$F1][lq_tmp_x_188:=lq_anf__dx1][ys$35$awn:=lq_anf__dx1][VV$35$184:=VV$35$F1][lq_tmp_x_190:=lq_anf__dx1];+ (len([VV$35$F1]) >= 0)]}+ rhs {VV$35$F1 : [int] | [(len([VV$35$F1]) = 2)]}+ id 1 tag [2]+ // META constraint id 1 : tests/pos/listqual.hs:10:1-20+++constraint:+ env [0; 1; 2; 3; 4; 20; 5; 6; 22; 70; 7; 8]+ lhs {VV$35$F17 : int | [(VV$35$F17 = lq_anf__dwW)]}+ rhs {VV$35$F17 : int | [$k__290[VV$35$424:=VV$35$F17][VV$35$289:=VV$35$F17][VV$35$F:=VV$35$F17][lq_tmp_x_292:=VV$35$F17]]}+ id 17 tag [2]+ // META constraint id 17 : tests/pos/listqual.hs:10:15+++constraint:+ env [0; 16; 1; 17; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 91; 92; 14; 15]+ lhs {VV$35$F33 : a_awA | [$k__158[lq_tmp_x_215:=x$35$awo][VV:=VV$35$F33][lq_tmp_x_218:=VV$35$449][VV$35$164:=lq_anf__dwU][lq_tmp_x_208:=lq_anf__dwU][lq_tmp_x_241:=VV$35$449][VV$35$F:=VV$35$F33][lq_tmp_x_195:=lq_anf__dwU][VV$35$157:=VV$35$F33];+ $k__162[lq_tmp_x_215:=x$35$awo][VV:=VV$35$F33][lq_tmp_x_218:=VV$35$449][VV$35$164:=lq_anf__dwU][lq_tmp_x_207:=x$35$awo][lq_tmp_x_208:=lq_anf__dwU][VV$35$161:=VV$35$F33][lq_tmp_x_160:=x$35$awo][lq_tmp_x_241:=VV$35$449][VV$35$F:=VV$35$F33][lq_tmp_x_195:=lq_anf__dwU][lq_tmp_x_194:=x$35$awo]]}+ rhs {VV$35$F33 : a_awA | [$k__158[VV$35$164:=VV$35$449][VV$35$F:=VV$35$F33][VV$35$237:=VV$35$F33][VV$35$157:=VV$35$F33]]}+ id 33 tag [1]+ // META constraint id 33 : tests/pos/listqual.hs:6:31-32+++constraint:+ env [0; 1; 2; 3; 4; 20; 5; 6; 22; 38; 7; 8; 24; 25; 27; 29]+ lhs {VV$35$F2 : [int] | [(VV$35$F2 = lq_anf__dx1);+ (len([VV$35$F2]) >= 0)]}+ rhs {VV$35$F2 : [int] | [$k__175[lq_tmp_x_187:=lq_anf__dwY][lq_tmp_x_189:=lq_anf__dwY][lq_tmp_x_353:=lq_anf__dwY][ds_dwT:=lq_anf__dwY][VV$35$F:=VV$35$F2][lq_tmp_x_348:=VV$35$F2][VV$35$174:=VV$35$F2][VV$35$378:=VV$35$F2]]}+ id 2 tag [2]+ // META constraint id 2 : tests/pos/listqual.hs:10:18-20+++constraint:+ env [0; 16; 1; 17; 2; 18; 3; 4; 5; 6; 7; 8; 9; 10; 74; 11; 14; 15]+ lhs {VV$35$F18 : [a_awA] | [(len([VV$35$F18]) = (1 + len([lq_anf__dwV])));+ ((? null([VV$35$F18])) <=> false);+ (xsListSelector([VV$35$F18]) = lq_anf__dwV);+ (xListSelector([VV$35$F18]) = x$35$awo);+ (len([VV$35$F18]) >= 0)]}+ rhs {VV$35$F18 : [a_awA] | [$k__185[lq_tmp_x_187:=ds_dwT][lq_tmp_x_189:=ds_dwT][VV$35$430:=VV$35$F18][ds_dwT:=ds_dwT][VV$35$F:=VV$35$F18][lq_tmp_x_188:=ys$35$awn][ys$35$awn:=ys$35$awn][VV$35$184:=VV$35$F18][lq_tmp_x_190:=ys$35$awn]]}+ id 18 tag [1]+ // META constraint id 18 : tests/pos/listqual.hs:6:20-35+++constraint:+ env [0;+ 16;+ 1;+ 17;+ 2;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 11;+ 91;+ 93;+ 14;+ 94;+ 15]+ lhs {VV$35$F34 : a_awA | [$k__162[lq_tmp_x_215:=x$35$awo][VV:=VV$35$F34][lq_tmp_x_218:=VV$35$449][VV$35$164:=lq_anf__dwU][lq_tmp_x_207:=lq_tmp_x_160][lq_tmp_x_208:=lq_anf__dwU][VV$35$161:=VV$35$F34][lq_tmp_x_160:=lq_tmp_x_160][lq_tmp_x_241:=VV$35$449][VV$35$F:=VV$35$F34][lq_tmp_x_217:=lq_tmp_x_160][lq_tmp_x_195:=lq_anf__dwU][lq_tmp_x_240:=lq_tmp_x_160][lq_tmp_x_194:=lq_tmp_x_160]]}+ rhs {VV$35$F34 : a_awA | [$k__162[VV$35$164:=VV$35$449][VV$35$161:=VV$35$F34][VV$35$F:=VV$35$F34][VV$35$237:=VV$35$F34]]}+ id 34 tag [1]+ // META constraint id 34 : tests/pos/listqual.hs:6:31-32+++constraint:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 95]+ lhs {VV$35$F35 : [a_awA] | [(VV$35$F35 = ys$35$awn);+ (len([VV$35$F35]) >= 0)]}+ rhs {VV$35$F35 : [a_awA] | [$k__185[lq_tmp_x_187:=ds_dwT][lq_tmp_x_189:=ds_dwT][ds_dwT:=ds_dwT][VV$35$F:=VV$35$F35][VV$35$455:=VV$35$F35][lq_tmp_x_188:=ys$35$awn][ys$35$awn:=ys$35$awn][VV$35$184:=VV$35$F35][lq_tmp_x_190:=ys$35$awn]]}+ id 35 tag [1]+ // META constraint id 35 : tests/pos/listqual.hs:5:20-21+++constraint:+ env [0; 1; 2; 3; 4; 20; 5; 6; 22; 7; 8; 24; 25; 27; 29; 45]+ lhs {VV$35$F6 : [int] | [(VV$35$F6 = lq_anf__dwY);+ (len([VV$35$F6]) >= 0)]}+ rhs {VV$35$F6 : [int] | [$k__165[VV$35$164:=VV$35$F6][VV$35$F:=VV$35$F6][lq_tmp_x_346:=VV$35$F6][VV$35$388:=VV$35$F6]]}+ id 6 tag [2]+ // META constraint id 6 : tests/pos/listqual.hs:10:14-16+++constraint:+ env [0; 1; 2; 3; 4; 20; 5; 6; 22; 7; 8; 24; 25; 27; 29; 46; 47]+ lhs {VV$35$F8 : int | [$k__290[VV$35$289:=VV$35$F8][lq_tmp_x_288:=lq_anf__dwX][VV$35$F:=VV$35$F8][lq_tmp_x_292:=VV$35$F8][lq_tmp_x_362:=VV$35$388][lq_tmp_x_359:=VV$35$F8][lq_tmp_x_284:=VV$35$388][VV$35$391:=VV$35$F8][lq_tmp_x_287:=lq_anf__dwW]]}+ rhs {VV$35$F8 : int | [$k__158[VV$35$164:=VV$35$388][VV$35$F:=VV$35$F8][lq_tmp_x_346:=VV$35$388][VV$35$157:=VV$35$F8][lq_tmp_x_358:=VV$35$F8][VV$35$391:=VV$35$F8]]}+ id 8 tag [2]+ // META constraint id 8 : tests/pos/listqual.hs:10:14-16+++constraint:+ env [0; 1; 49; 2; 50; 3; 4; 20; 5; 6; 22; 7; 8; 24; 25; 27; 29; 46]+ lhs {VV$35$F9 : int | [$k__294[lq_tmp_x_361:=VV$35$F9][lq_tmp_x_288:=lq_anf__dwX][VV$35$F:=VV$35$F9][lq_tmp_x_360:=lq_tmp_x_345][VV$35$293:=VV$35$F9][lq_tmp_x_292:=VV$35$F9][VV$35$395:=VV$35$F9][lq_tmp_x_362:=VV$35$388][lq_tmp_x_296:=lq_tmp_x_345][lq_tmp_x_283:=lq_tmp_x_345][lq_tmp_x_284:=VV$35$388][lq_tmp_x_287:=lq_anf__dwW]]}+ rhs {VV$35$F9 : int | [$k__162[VV$35$164:=VV$35$388][VV$35$161:=VV$35$F9][lq_tmp_x_160:=lq_tmp_x_345][VV$35$F:=VV$35$F9][lq_tmp_x_346:=VV$35$388][VV$35$395:=VV$35$F9][lq_tmp_x_358:=VV$35$F9]]}+ id 9 tag [2]+ // META constraint id 9 : tests/pos/listqual.hs:10:14-16+++constraint:+ env [0; 16; 1; 17; 2; 3; 4; 5; 85; 6; 7; 8; 9; 10; 11; 14; 15]+ lhs {VV$35$F25 : [a_awA] | [(VV$35$F25 = ys$35$awn);+ (len([VV$35$F25]) >= 0)]}+ rhs {VV$35$F25 : [a_awA] | [$k__175[lq_tmp_x_187:=xs$35$awp][lq_tmp_x_189:=xs$35$awp][ds_dwT:=xs$35$awp][VV$35$F:=VV$35$F25][VV$35$174:=VV$35$F25][VV$35$443:=VV$35$F25]]}+ id 25 tag [1]+ // META constraint id 25 : tests/pos/listqual.hs:6:34-35+++constraint:+ env [0; 16; 1; 17; 2; 3; 4; 5; 6; 7; 8; 9; 10; 90; 11; 14; 15]+ lhs {VV$35$F29 : [a_awA] | [(VV$35$F29 = xs$35$awp);+ (len([VV$35$F29]) >= 0)]}+ rhs {VV$35$F29 : [a_awA] | [$k__165[VV$35$164:=VV$35$F29][VV$35$F:=VV$35$F29][VV$35$449:=VV$35$F29]]}+ id 29 tag [1]+ // META constraint id 29 : tests/pos/listqual.hs:6:31-32+++constraint:+ env [0; 64; 1; 65; 2; 3; 4; 20; 5; 6; 22; 7; 8]+ lhs {VV$35$F14 : int | [$k__272[lq_tmp_x_274:=VV$35$F14][VV$35$271:=VV$35$F14][VV$35$F:=VV$35$F14][lq_tmp_x_302:=VV$35$414][VV$35$417:=VV$35$F14][lq_tmp_x_299:=VV$35$F14][lq_tmp_x_270:=VV$35$414]]}+ rhs {VV$35$F14 : int | [$k__290[lq_tmp_x_282:=VV$35$414][VV$35$289:=VV$35$F14][VV$35$F:=VV$35$F14][VV$35$417:=VV$35$F14][lq_tmp_x_292:=VV$35$F14][lq_tmp_x_287:=lq_anf__dwW]]}+ id 14 tag [2]+ // META constraint id 14 : tests/pos/listqual.hs:10:1-3+++constraint:+ env [0; 16; 1; 17; 2; 3; 4; 5; 6; 7; 8; 9; 10; 90; 11; 14; 15]+ lhs {VV$35$F30 : [a_awA] | [(VV$35$F30 = xs$35$awp);+ (len([VV$35$F30]) >= 0)]}+ rhs {VV$35$F30 : [a_awA] | [(len([VV$35$F30]) < len([ds_dwT]))]}+ id 30 tag [1]+ // META constraint id 30 : tests/pos/listqual.hs:6:31-32+++constraint:+ env [0; 64; 1; 65; 2; 3; 4; 20; 5; 6; 22; 7; 8]+ lhs {VV$35$F15 : int | [$k__272[lq_tmp_x_274:=VV$35$F15][VV$35$271:=VV$35$F15][VV$35$F:=VV$35$F15][lq_tmp_x_302:=VV$35$414][VV$35$417:=VV$35$F15][lq_tmp_x_299:=VV$35$F15][lq_tmp_x_270:=VV$35$414]]}+ rhs {VV$35$F15 : int | [$k__294[lq_tmp_x_282:=VV$35$414][VV$35$F:=VV$35$F15][VV$35$417:=VV$35$F15][VV$35$293:=VV$35$F15][lq_tmp_x_292:=VV$35$F15][lq_tmp_x_296:=lq_anf__dwW][lq_tmp_x_287:=lq_anf__dwW]]}+ id 15 tag [2]+ // META constraint id 15 : tests/pos/listqual.hs:10:1-3+++constraint:+ env [0; 16; 1; 17; 2; 3; 4; 5; 6; 7; 8; 9; 10; 90; 11; 14; 15]+ lhs {VV$35$F31 : [a_awA] | [(VV$35$F31 = xs$35$awp);+ (len([VV$35$F31]) >= 0)]}+ rhs {VV$35$F31 : [a_awA] | [(len([VV$35$F31]) >= 0)]}+ id 31 tag [1]+ // META constraint id 31 : tests/pos/listqual.hs:6:31-32+++++wf:+ env [0; 1; 2; 3; 4; 20; 5; 6; 22; 7; 23; 8]+ reft {VV$35$293 : int | [$k__294]}+ + // META wf : tests/pos/listqual.hs:10:1-3+++wf:+ env [0; 1; 2; 3; 4; 20; 5; 6; 22; 7; 8]+ reft {VV$35$289 : int | [$k__290]}+ + // META wf : tests/pos/listqual.hs:10:1-3+++wf:+ env [0; 1; 2; 3; 4; 20; 5; 21; 6; 7; 8]+ reft {VV$35$275 : int | [$k__276]}+ + // META wf : tests/pos/listqual.hs:10:1-3+++wf:+ env [0; 1; 2; 3; 4; 20; 5; 6; 7; 8]+ reft {VV$35$271 : int | [$k__272]}+ + // META wf : tests/pos/listqual.hs:10:1-3+++wf:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8]+ reft {VV$35$164 : [a_awA] | [$k__165]}+ + // META wf : <no location info>+++wf:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8; 109]+ reft {VV$35$157 : a_awA | [$k__158]}+ + // META wf : <no location info>+++wf:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8; 110]+ reft {VV$35$161 : a_awA | [$k__162]}+ + // META wf : <no location info>+++wf:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8; 111]+ reft {VV$35$174 : [a_awA] | [$k__175]}+ + // META wf : <no location info>+++wf:+ env [0; 1; 2; 114; 3; 4; 5; 6; 7; 8; 111]+ reft {VV$35$184 : [a_awA] | [$k__185]}+ + // META wf : <no location info>+++++++
@@ -7,3 +7,9 @@ lhs {v : Str | v = lit$cat } rhs {v : Str | strLen v = 3 } id 1 tag [6]++constraint:+ env []+ lhs {v : Str | v = lit$cat }+ rhs {v : Str | v = "cat" }+ id 2 tag [6]
@@ -0,0 +1,10 @@+constant foo : (func(1, [@(0); int]))++bind 1 strCat : {v : Str | v == "cat" }+bind 2 listCat : {v : [Char] | v == "cat" }++constraint:+ env [ 1; 2 ]+ lhs {v : int | true }+ rhs {v : int | foo strCat == foo listCat } + id 1 tag []
@@ -14,7 +14,7 @@ env [] lhs {v : int | $k0} rhs {v : int | (15 <= v) }- id 1 tag []+ id 2 tag [] wf:
@@ -0,0 +1,34 @@+// qualif Goob(v:a, z: b) : (v = z)+// qualif Prefix2(v:a, x as (mon . $1) : b, y as (sun . $1)) : (v = x + y)+qualif Prefix(v:a, z as (mon . $1) : b) : (v = z)++bind 0 monday : {v : int | true}+bind 10 tuesday : {v : int | true}++bind 1 q : {v : int | true}+bind 2 y : {v : int | v = 10}+bind 3 r : {v : int | true }+bind 4 s : {v : int | $k0[monday := r] } +bind 5 t : {v : int | v = r + 1 } ++constraint:+ env [1]+ lhs {v : int | v = q}+ rhs {v : int | $k0[monday := q] }+ id 1 tag []++constraint: + env [3; 4; 5]+ lhs {v : int | v = s + 1 }+ rhs {v : int | $k0[monday := t] }+ id 2 tag []++constraint:+ env [2]+ lhs {v : int | $k0[monday := y]}+ rhs {v : int | v = 10}+ id 3 tag []++wf:+ env [0; 10]+ reft {v : int | $k0}
@@ -0,0 +1,34 @@+// qualif Goob(v:a, z: b) : (v = z)+// qualif Prefix2(v:a, x as (mon . $1) : b, y as (sun . $1)) : (v = x + y)+qualif Prefix(v:a, z as ($1 . nday) : b) : (v = z)++bind 0 monday : {v : int | true}+bind 10 tuesday : {v : int | true}++bind 1 q : {v : int | true}+bind 2 y : {v : int | v = 10}+bind 3 r : {v : int | true }+bind 4 s : {v : int | $k0[monday := r] } +bind 5 t : {v : int | v = r + 1 } ++constraint:+ env [1]+ lhs {v : int | v = q}+ rhs {v : int | $k0[monday := q] }+ id 1 tag []++constraint: + env [3; 4; 5]+ lhs {v : int | v = s + 1 }+ rhs {v : int | $k0[monday := t] }+ id 2 tag []++constraint:+ env [2]+ lhs {v : int | $k0[monday := y]}+ rhs {v : int | v = 10}+ id 3 tag []++wf:+ env [0; 10]+ reft {v : int | $k0}
@@ -0,0 +1,25 @@+qualif Prefix2(v:a, x as (sun . $1) : b, y as (mon . $1) : b) : (v = x + y)++bind 0 sunday : {v : int | v = 6 }+bind 1 monday : {v : int | v = 4 }+bind 2 tuesday : {v : int | v = 10 }++bind 10 x : {v : int | v = 4 }+bind 11 y : {v : int | v = 6 }+bind 12 z : {v : int | v = 10 }++constraint:+ env [10; 11; 12]+ lhs {v : int | v = 10 }+ rhs {v : int | $k0[sunday := x][monday := y][ tuesday := z] }+ id 1 tag []++constraint: + env [10; 11; 12]+ lhs {v : int | $k0[sunday := x][monday := y][ tuesday := z] }+ rhs {v : int | v = 10 }+ id 2 tag []++wf:+ env [0; 1; 2]+ reft {v : int | $k0}
@@ -0,0 +1,39 @@+// constant Set_empty : (func(1, [int; Set_Set @(0)]))+constant Set_sng : (func(1, [@(0); (Set_Set @(0))]))++bind 1 m1 : {v : Set_Set Int | v = Set_empty 0}+bind 2 m2 : {v : Set_Set Int | v = (Set_cup (Set_cup m1 (Set_sng 10)) (Set_sng 20)) } +bind 3 m3 : {v : Set_Set Int | v = (Set_cup (Set_cup m1 (Set_sng 20)) (Set_sng 10)) } +bind 4 m4 : {v : Set_Set Int | v = (Set_cup m1 (Set_sng 10)) } +bind 5 m5 : {v : Set_Set Int | v = (Set_cup m1 (Set_sng 20)) } ++constraint:+ env [ 1 ]+ lhs {v : int | true }+ rhs {v : int | not (Set_mem 100 m1) } + id 1 tag []++constraint:+ env [ 1; 2 ]+ lhs {v : int | true } + rhs {v : int | not (Set_mem 100 m2) }+ id 2 tag []++constraint:+ env [ 1; 2 ]+ lhs {v : int | true } + rhs {v : int | Set_mem 10 m2 }+ id 3 tag []++constraint:+ env [ 1; 2; 3 ]+ lhs {v : int | true }+ rhs {v : int | m2 = m3 } + id 4 tag []++constraint:+ env [ 1; 2; 3; 4; 5 ]+ lhs {v : int | true }+ rhs {v : int | m2 = Set_cup m4 m5 } + id 5 tag []+
@@ -0,0 +1,1021 @@++qualif IsEmp(v:GHC.Types.Bool, xs: [a]) : (Prop(v) <=> len([xs]) > 0)+qualif IsEmp(v:GHC.Types.Bool, xs: [a]) : (Prop(v) <=> len([xs]) = 0)+qualif ListZ(v: [a]) : len([v]) = 0 +qualif ListZ(v: [a]) : len([v]) >= 0 +qualif ListZ(v: [a]) : len([v]) > 0 +qualif CmpLen(v:[a], xs:[b]) : len([v]) = len([xs]) +qualif CmpLen(v:[a], xs:[b]) : len([v]) >= len([xs]) +qualif CmpLen(v:[a], xs:[b]) : len([v]) > len([xs]) +qualif CmpLen(v:[a], xs:[b]) : len([v]) <= len([xs]) +qualif CmpLen(v:[a], xs:[b]) : len([v]) < len([xs]) +qualif EqLen(v:int, xs: [a]): v = len([xs]) +qualif LenEq(v:[a], x: int) : x = len([v]) +qualif LenDiff(v:[a], x:int): len([v]) = x + 1+qualif LenDiff(v:[a], x:int): len([v]) = x - 1+qualif LenAcc(v:int, xs:[a], n: int): (v = len([xs]) + n)++qualif Bot(v:obj): 0 = 1 +qualif Bot(v:a): 0 = 1 +qualif Bot(v:bool): 0 = 1 +qualif Bot(v:int): 0 = 1 +qualif CmpZ(v:a): (v < 0)+qualif CmpZ(v:a): (v <= 0)+qualif CmpZ(v:a): (v > 0)+qualif CmpZ(v:a): (v >= 0)+qualif CmpZ(v:a): (v = 0)+qualif CmpZ(v:a): (v != 0)++qualif Cmp(v:a, x:a): (v < x)+qualif Cmp(v:a, x:a): (v <= x)+qualif Cmp(v:a, x:a): (v > x)+qualif Cmp(v:a, x:a): (v >= x)+qualif Cmp(v:a, x:a): (v = x)+qualif Cmp(v:a, x:a): (v != x)++qualif One(v:int) : v = 1+qualif True(v:bool) : (? v) +qualif False(v:bool) : ~ (? v) +qualif True1(v:GHC.Types.Bool): (Prop(v))+qualif False1(v:GHC.Types.Bool): (~ Prop(v))+qualif Papp(v:a, p:Pred a) : (papp1 p v)++constant papp1 : func(1, [Pred @(0); @(0); bool])++qualif Papp2(v:a,x:b,p:Pred a b) : (papp2 p v x)+constant papp2 : func(4, [Pred @(0) @(1); @(2); @(3); bool])++qualif Papp3(v:a,x:b, y:c, p:Pred a b c) : (papp3 p v x y)+constant papp3 : func(6, [Pred @(0) @(1) @(2); @(3); @(4); @(5); bool])++qualif Papp4(v:a,x:b, y:c, z:d, p:Pred a b c d) : (papp4 p v x y z)+constant papp4 : func(8, [Pred @(0) @(1) @(2) @(6); @(3); @(4); @(5); @(7); bool])++++constant Prop : func(0, [GHC.Types.Bool; bool])+qualif Fst(v : @(1), fix##126#Y : @(0)): (v = fst([fix##126#Y])) // "/Users/rjhala/research/liquid/liquidhaskell/.cabal-sandbox/share/x86_64-osx-ghc-7.8.3/liquidhaskell-0.3.1.0/include/GHC/Base.spec" (line 26, column 8)+qualif Snd(v : @(1), fix##126#Y : @(0)): (v = snd([fix##126#Y])) // "/Users/rjhala/research/liquid/liquidhaskell/.cabal-sandbox/share/x86_64-osx-ghc-7.8.3/liquidhaskell-0.3.1.0/include/GHC/Base.spec" (line 27, column 8)++constant Prop : func(0, [GHC.Types.Bool; bool])+constant x_Tuple54 : func(5, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4);+ @(3)])+constant x_Tuple44 : func(4, [FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3);+ @(3)])+constant xListSelector : func(1, [[@(0)]; @(0)])+constant x_Tuple41 : func(4, [FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3);+ @(0)])+constant x_Tuple76 : func(7, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4)) @(5)) @(6);+ @(5)])+constant addrLen : func(0, [int; int])+constant x_Tuple65 : func(6, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4)) @(5);+ @(4)])+constant x_Tuple52 : func(5, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4);+ @(1)])+constant GHC.Types.False#68 : (GHC.Types.Bool)+constant x_Tuple64 : func(6, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4)) @(5);+ @(3)])+constant x_Tuple33 : func(3, [FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2);+ @(2)])+constant fst : func(2, [FAppTy (FAppTy fix##40##41# @(0)) @(1);+ @(0)])+constant x_Tuple31 : func(3, [FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2);+ @(0)])+constant x_Tuple43 : func(4, [FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3);+ @(2)])+constant x_Tuple71 : func(7, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4)) @(5)) @(6);+ @(0)])+constant x_Tuple32 : func(3, [FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2);+ @(1)])+constant x_Tuple72 : func(7, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4)) @(5)) @(6);+ @(1)])+constant x_Tuple63 : func(6, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4)) @(5);+ @(2)])+constant x_Tuple75 : func(7, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4)) @(5)) @(6);+ @(4)])+constant x_Tuple51 : func(5, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4);+ @(0)])+constant len : func(1, [[@(0)]; int])+constant xsListSelector : func(1, [[@(0)]; [@(0)]])+constant null : func(1, [[@(0)]; bool])+constant x_Tuple53 : func(5, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4);+ @(2)])+constant x_Tuple22 : func(2, [FAppTy (FAppTy fix##40##41# @(0)) @(1);+ @(1)])+constant fromJust : func(1, [FAppTy Data.Maybe.Maybe @(0); @(0)])+constant snd : func(2, [FAppTy (FAppTy fix##40##41# @(0)) @(1);+ @(1)])+constant x_Tuple73 : func(7, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4)) @(5)) @(6);+ @(2)])+constant x_Tuple62 : func(6, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4)) @(5);+ @(1)])+constant x_Tuple55 : func(5, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4);+ @(4)])+constant x_Tuple74 : func(7, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4)) @(5)) @(6);+ @(3)])+constant cmp : func(0, [GHC.Types.Ordering; GHC.Types.Ordering])+constant x_Tuple42 : func(4, [FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3);+ @(1)])+constant x_Tuple21 : func(2, [FAppTy (FAppTy fix##40##41# @(0)) @(1);+ @(0)])+constant x_Tuple61 : func(6, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4)) @(5);+ @(0)])+constant isJust : func(1, [FAppTy Data.Maybe.Maybe @(0); bool])+constant x_Tuple66 : func(6, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4)) @(5);+ @(5)])+constant GHC.Types.True#6u : (GHC.Types.Bool)+constant x_Tuple77 : func(7, [FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy (FAppTy fix##40##41# @(0)) @(1)) @(2)) @(3)) @(4)) @(5)) @(6);+ @(6)])+bind 0 GHC.Types.False#68 : {VV#171 : GHC.Types.Bool | []}+bind 1 GHC.Types.I##6c : {VV : func(0, [int; int]) | []}+bind 2 GHC.Types.True#6u : {VV#173 : GHC.Types.Bool | []}+bind 3 fix#GHC.Classes.#36#fOrdInt#35#rhx : {VV#175 : FAppTy GHC.Classes.Ord int | []}+bind 4 fix#GHC.Num.#36#fNumInt#35#rhy : {VV#176 : FAppTy GHC.Num.Num int | []}+bind 5 Language.Haskell.Liquid.Prelude.liquidAssertB#rpD : {VV : func(0, [GHC.Types.Bool;+ GHC.Types.Bool]) | []}+bind 6 Language.Haskell.Liquid.Prelude.choose#rpK : {VV : func(0, [int;+ int]) | []}+bind 7 GHC.Types.EQ#6U : {VV#179 : GHC.Types.Ordering | []}+bind 8 GHC.Types.LT#6S : {VV#180 : GHC.Types.Ordering | []}+bind 9 GHC.Types.GT#6W : {VV#181 : GHC.Types.Ordering | []}+bind 10 GHC.Types.True#6u : {v : GHC.Types.Bool | [(? Prop([v]))]}+bind 11 GHC.Types.False#68 : {v : GHC.Types.Bool | [(~ ((? Prop([v]))))]}+bind 12 Language.Haskell.Liquid.Prelude.plus#rou : {VV : func(0, [int;+ int;+ int]) | []}+bind 13 Language.Haskell.Liquid.Prelude.minus#rpv : {VV : func(0, [int;+ int;+ int]) | []}+bind 14 Language.Haskell.Liquid.Prelude.times#rpw : {VV : func(0, [int;+ int;+ int]) | []}+bind 15 Language.Haskell.Liquid.Prelude.eq#rpx : {VV : func(0, [int;+ int;+ GHC.Types.Bool]) | []}+bind 16 Language.Haskell.Liquid.Prelude.neq#rpy : {VV : func(0, [int;+ int;+ GHC.Types.Bool]) | []}+bind 17 Language.Haskell.Liquid.Prelude.leq#rpz : {VV : func(0, [int;+ int;+ GHC.Types.Bool]) | []}+bind 18 Language.Haskell.Liquid.Prelude.geq#rpA : {VV : func(0, [int;+ int;+ GHC.Types.Bool]) | []}+bind 19 Language.Haskell.Liquid.Prelude.lt#rpB : {VV : func(0, [int;+ int;+ GHC.Types.Bool]) | []}+bind 20 Language.Haskell.Liquid.Prelude.gt#rpC : {VV : func(0, [int;+ int;+ GHC.Types.Bool]) | []}+bind 21 Language.Haskell.Liquid.Prelude.liquidAssertB#rpD : {VV : func(0, [GHC.Types.Bool;+ GHC.Types.Bool]) | []}+bind 22 Language.Haskell.Liquid.Prelude.isEven#rpL : {VV : func(0, [int;+ GHC.Types.Bool]) | []}+bind 23 Language.Haskell.Liquid.Prelude.isOdd#rpM : {VV : func(0, [int;+ GHC.Types.Bool]) | []}+bind 24 GHC.Integer.Type.smallInteger#0Z : {VV : func(0, [int;+ int]) | []}+bind 25 GHC.Types.I##6c : {VV : func(0, [int; int]) | []}+bind 26 fix#GHC.Prim.#43##35##35#98 : {VV : func(0, [int;+ int;+ int]) | []}+bind 27 fix#GHC.Prim.#45##35##35#99 : {VV : func(0, [int;+ int;+ int]) | []}+bind 28 fix#GHC.Prim.#61##61##35##35#9o : {VV : func(0, [int;+ int;+ int]) | []}+bind 29 fix#GHC.Prim.#62##61##35##35#9n : {VV : func(0, [int;+ int;+ int]) | []}+bind 30 fix#GHC.Prim.#60##61##35##35#9r : {VV : func(0, [int;+ int;+ int]) | []}+bind 31 fix#GHC.Prim.#60##35##35#9q : {VV : func(0, [int;+ int;+ int]) | []}+bind 32 fix#GHC.Prim.#62##35##35#9m : {VV : func(0, [int;+ int;+ int]) | []}+bind 33 GHC.Types.EQ#6U : {VV#220 : GHC.Types.Ordering | [(cmp([VV#220]) = GHC.Types.EQ#6U)]}+bind 34 GHC.Types.LT#6S : {VV#222 : GHC.Types.Ordering | [(cmp([VV#222]) = GHC.Types.LT#6S)]}+bind 35 GHC.Types.GT#6W : {VV#223 : GHC.Types.Ordering | [(cmp([VV#223]) = GHC.Types.GT#6W)]}+bind 36 fix##36#dOrd_a165 : {VV#232 : FAppTy GHC.Classes.Ord a_a164 | []}+bind 37 fix##36#dNum_a166 : {VV#233 : FAppTy GHC.Num.Num a_a164 | []}+bind 38 a_a164 : {VV : num | []}+bind 39 gooberding#a15N : {VV#234 : a_a164 | [$k_235]}+bind 40 lq_anf__d16w : {lq_tmp_x241 : int | [(lq_tmp_x241 = 0)]}+bind 41 lq_anf__d16x : {VV : a_a164 | [(VV = lq_anf__d16w)]}+bind 42 lq_anf__d16y : {lq_tmp_x254 : GHC.Types.Bool | [((? Prop([lq_tmp_x254])) <=> (gooberding#a15N >= lq_anf__d16x))]}+bind 43 lq_anf__d16z : {lq_tmp_x276 : int | [(lq_tmp_x276 = (0 : int))]}+bind 44 Test0.x#r12i : {VV#272 : int | [$k_273]}+bind 45 lq_anf__d16A : {lq_tmp_x291 : int | [(lq_tmp_x291 = (0 : int))]}+bind 46 lq_anf__d16B : {lq_tmp_x297 : GHC.Types.Bool | [((? Prop([lq_tmp_x297])) <=> (Test0.x#r12i > lq_anf__d16A))]}+bind 47 lq_anf__d16C : {lq_tmp_x313 : GHC.Types.Bool | [((? Prop([lq_tmp_x313])) <=> (Test0.x#r12i > lq_anf__d16A));+ (lq_tmp_x313 = lq_anf__d16B)]}+bind 48 lq_anf__d16C : {lq_tmp_x315 : GHC.Types.Bool | [((? Prop([lq_tmp_x315])) <=> (Test0.x#r12i > lq_anf__d16A));+ (lq_tmp_x315 = lq_anf__d16B)]}+bind 49 lq_anf__d16C : {lq_tmp_x315 : GHC.Types.Bool | [((? Prop([lq_tmp_x315])) <=> (Test0.x#r12i > lq_anf__d16A));+ (lq_tmp_x315 = lq_anf__d16B);+ (~ ((? Prop([lq_tmp_x315]))));+ (~ ((? Prop([lq_tmp_x315]))))]}+bind 50 lq_anf__d16C : {lq_tmp_x321 : GHC.Types.Bool | [((? Prop([lq_tmp_x321])) <=> (Test0.x#r12i > lq_anf__d16A));+ (lq_tmp_x321 = lq_anf__d16B)]}+bind 51 lq_anf__d16C : {lq_tmp_x321 : GHC.Types.Bool | [((? Prop([lq_tmp_x321])) <=> (Test0.x#r12i > lq_anf__d16A));+ (lq_tmp_x321 = lq_anf__d16B);+ (? Prop([lq_tmp_x321]));+ (? Prop([lq_tmp_x321]))]}+bind 52 Test0.prop_abs#r12j : {VV#287 : GHC.Types.Bool | [$k_288]}+bind 53 VV#343 : {VV#343 : GHC.Types.Bool | [$k_239[VV#238:=VV#343][fix##36#dOrd_a165:=fix#GHC.Classes.#36#fOrdInt#35#rhx][fix##36#dNum_a166:=fix#GHC.Num.#36#fNumInt#35#rhy][gooberding#a15N:=Test0.x#r12i][lq_tmp_x332:=fix#GHC.Classes.#36#fOrdInt#35#rhx][lq_tmp_x333:=fix#GHC.Num.#36#fNumInt#35#rhy][lq_tmp_x334:=Test0.x#r12i][lq_tmp_x328:=VV#343]]}+bind 54 VV#343 : {VV#343 : GHC.Types.Bool | [$k_239[VV#238:=VV#343][fix##36#dOrd_a165:=fix#GHC.Classes.#36#fOrdInt#35#rhx][fix##36#dNum_a166:=fix#GHC.Num.#36#fNumInt#35#rhy][gooberding#a15N:=Test0.x#r12i][lq_tmp_x332:=fix#GHC.Classes.#36#fOrdInt#35#rhx][lq_tmp_x333:=fix#GHC.Num.#36#fNumInt#35#rhy][lq_tmp_x334:=Test0.x#r12i][lq_tmp_x328:=VV#343]]}+bind 55 VV#346 : {VV#346 : int | [$k_273[VV#272:=VV#346][lq_tmp_x341:=VV#346];+ (VV#346 = Test0.x#r12i)]}+bind 56 VV#346 : {VV#346 : int | [$k_273[VV#272:=VV#346][lq_tmp_x341:=VV#346];+ (VV#346 = Test0.x#r12i)]}+bind 57 VV#349 : {VV#349 : GHC.Types.Bool | [(~ ((? Prop([VV#349]))));+ (VV#349 = GHC.Types.False#68)]}+bind 58 VV#349 : {VV#349 : GHC.Types.Bool | [(~ ((? Prop([VV#349]))));+ (VV#349 = GHC.Types.False#68)]}+bind 59 VV#352 : {VV#352 : int | [(VV#352 = (0 : int));+ (VV#352 = lq_anf__d16A)]}+bind 60 VV#352 : {VV#352 : int | [(VV#352 = (0 : int));+ (VV#352 = lq_anf__d16A)]}+bind 61 VV#355 : {VV#355 : int | [$k_273[VV#272:=VV#355][lq_tmp_x310:=VV#355];+ (VV#355 = Test0.x#r12i)]}+bind 62 VV#355 : {VV#355 : int | [$k_273[VV#272:=VV#355][lq_tmp_x310:=VV#355];+ (VV#355 = Test0.x#r12i)]}+bind 63 VV#358 : {VV#358 : int | [(VV#358 = 0)]}+bind 64 VV#358 : {VV#358 : int | [(VV#358 = 0)]}+bind 65 VV#361 : {VV#361 : int | []}+bind 66 VV#361 : {VV#361 : int | []}+bind 67 VV#364 : {VV#364 : int | [(VV#364 = (0 : int));+ (VV#364 = lq_anf__d16z)]}+bind 68 VV#364 : {VV#364 : int | [(VV#364 = (0 : int));+ (VV#364 = lq_anf__d16z)]}+bind 69 VV#367 : {VV#367 : int | [(VV#367 = 0)]}+bind 70 VV#367 : {VV#367 : int | [(VV#367 = 0)]}+bind 71 VV#370 : {VV#370 : GHC.Types.Bool | [(? Prop([VV#370]))]}+bind 72 VV#370 : {VV#370 : GHC.Types.Bool | [(? Prop([VV#370]))]}+bind 73 VV#373 : {VV#373 : GHC.Types.Bool | [((? Prop([VV#373])) <=> (gooberding#a15N >= lq_anf__d16x));+ (VV#373 = lq_anf__d16y)]}+bind 74 VV#373 : {VV#373 : GHC.Types.Bool | [((? Prop([VV#373])) <=> (gooberding#a15N >= lq_anf__d16x));+ (VV#373 = lq_anf__d16y)]}+bind 75 VV : {VV : a_a164 | [(VV = lq_anf__d16w);+ (VV = lq_anf__d16x)]}+bind 76 VV#234 : {VV#234 : a_a164 | [$k_235;+ (VV#234 = gooberding#a15N)]}+bind 77 VV#378 : {VV#378 : int | [(VV#378 = 0);+ (VV#378 = lq_anf__d16w)]}+bind 78 VV#378 : {VV#378 : int | [(VV#378 = 0);+ (VV#378 = lq_anf__d16w)]}+bind 79 VV#304 : {VV#304 : int | [$k_305]}+bind 80 VV#287 : {VV#287 : GHC.Types.Bool | [$k_288]}+bind 81 VV#272 : {VV#272 : int | [$k_273]}+bind 82 VV#238 : {VV#238 : GHC.Types.Bool | [$k_239]}+++constraint:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 50;+ 3;+ 19;+ 35;+ 51;+ 4;+ 20;+ 5;+ 21;+ 53;+ 6;+ 22;+ 7;+ 23;+ 8;+ 24;+ 9;+ 25;+ 10;+ 26;+ 11;+ 27;+ 12;+ 28;+ 44;+ 13;+ 29;+ 45;+ 14;+ 30;+ 46;+ 15;+ 31;+ 47]+ lhs {VV#F1 : GHC.Types.Bool | [$k_239[VV#238:=VV#F1][fix##36#dOrd_a165:=fix#GHC.Classes.#36#fOrdInt#35#rhx][fix##36#dNum_a166:=fix#GHC.Num.#36#fNumInt#35#rhy][gooberding#a15N:=Test0.x#r12i][lq_tmp_x332:=fix#GHC.Classes.#36#fOrdInt#35#rhx][lq_tmp_x333:=fix#GHC.Num.#36#fNumInt#35#rhy][lq_tmp_x334:=Test0.x#r12i][lq_tmp_x328:=VV#F1][VV#343:=VV#F1][VV#F:=VV#F1]]}+ rhs {VV#F1 : GHC.Types.Bool | [$k_288[VV#287:=VV#F1][VV#343:=VV#F1][VV#F:=VV#F1]]}+ id 1 tag [3]+++constraint:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 50;+ 3;+ 19;+ 35;+ 51;+ 4;+ 20;+ 5;+ 21;+ 6;+ 22;+ 7;+ 23;+ 55;+ 8;+ 24;+ 9;+ 25;+ 10;+ 26;+ 11;+ 27;+ 12;+ 28;+ 44;+ 13;+ 29;+ 45;+ 14;+ 30;+ 46;+ 15;+ 31;+ 47]+ lhs {VV#F2 : int | [$k_273[VV#272:=VV#F2][lq_tmp_x341:=VV#F2][VV#346:=VV#F2][VV#F:=VV#F2];+ (VV#F2 = Test0.x#r12i)]}+ rhs {VV#F2 : int | [$k_235[fix##36#dOrd_a165:=fix#GHC.Classes.#36#fOrdInt#35#rhx][fix##36#dNum_a166:=fix#GHC.Num.#36#fNumInt#35#rhy][VV#234:=VV#F2][lq_tmp_x332:=fix#GHC.Classes.#36#fOrdInt#35#rhx][lq_tmp_x333:=fix#GHC.Num.#36#fNumInt#35#rhy][lq_tmp_x336:=VV#F2][VV#346:=VV#F2][VV#F:=VV#F2]]}+ id 2 tag [3]+++constraint:+ env [0;+ 16;+ 32;+ 48;+ 1;+ 17;+ 33;+ 49;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 5;+ 21;+ 6;+ 22;+ 7;+ 23;+ 8;+ 24;+ 9;+ 25;+ 57;+ 10;+ 26;+ 11;+ 27;+ 12;+ 28;+ 44;+ 13;+ 29;+ 45;+ 14;+ 30;+ 46;+ 15;+ 31;+ 47]+ lhs {VV#F3 : GHC.Types.Bool | [(~ ((? Prop([VV#F3]))));+ (VV#F3 = GHC.Types.False#68)]}+ rhs {VV#F3 : GHC.Types.Bool | [$k_288[VV#287:=VV#F3][VV#349:=VV#F3][VV#F:=VV#F3]]}+ id 3 tag [3]+++constraint:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 5;+ 21;+ 6;+ 22;+ 7;+ 23;+ 8;+ 24;+ 9;+ 25;+ 10;+ 26;+ 11;+ 27;+ 59;+ 12;+ 28;+ 44;+ 13;+ 29;+ 45;+ 14;+ 30;+ 15;+ 31]+ lhs {VV#F4 : int | [(VV#F4 = (0 : int)); (VV#F4 = lq_anf__d16A)]}+ rhs {VV#F4 : int | [$k_305[VV#304:=VV#F4][lq_tmp_x301:=fix#GHC.Classes.#36#fOrdInt#35#rhx][lq_tmp_x302:=Test0.x#r12i][lq_tmp_x307:=VV#F4][VV#352:=VV#F4][VV#F:=VV#F4]]}+ id 4 tag [3]+++constraint:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 5;+ 21;+ 6;+ 22;+ 7;+ 23;+ 8;+ 24;+ 9;+ 25;+ 10;+ 26;+ 11;+ 27;+ 12;+ 28;+ 44;+ 13;+ 29;+ 45;+ 61;+ 14;+ 30;+ 15;+ 31]+ lhs {VV#F5 : int | [$k_273[VV#272:=VV#F5][lq_tmp_x310:=VV#F5][VV#355:=VV#F5][VV#F:=VV#F5];+ (VV#F5 = Test0.x#r12i)]}+ rhs {VV#F5 : int | [$k_305[VV#304:=VV#F5][lq_tmp_x301:=fix#GHC.Classes.#36#fOrdInt#35#rhx][lq_tmp_x307:=VV#F5][VV#355:=VV#F5][VV#F:=VV#F5]]}+ id 5 tag [3]+++constraint:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 65;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 5;+ 21;+ 6;+ 22;+ 7;+ 23;+ 8;+ 24;+ 9;+ 25;+ 10;+ 26;+ 11;+ 27;+ 43;+ 12;+ 28;+ 13;+ 29;+ 14;+ 30;+ 15;+ 31]+ lhs {VV#F6 : int | []}+ rhs {VV#F6 : int | [$k_273[VV#272:=VV#F6][VV#361:=VV#F6][VV#F:=VV#F6]]}+ id 6 tag [2]+++constraint:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 36;+ 5;+ 21;+ 37;+ 6;+ 22;+ 38;+ 7;+ 23;+ 39;+ 71;+ 8;+ 24;+ 40;+ 9;+ 25;+ 41;+ 10;+ 26;+ 42;+ 11;+ 27;+ 12;+ 28;+ 13;+ 29;+ 14;+ 30;+ 15;+ 31]+ lhs {VV#F7 : GHC.Types.Bool | [(? Prop([VV#F7]))]}+ rhs {VV#F7 : GHC.Types.Bool | [$k_239[VV#238:=VV#F7][VV#370:=VV#F7][VV#F:=VV#F7]]}+ id 7 tag [1]+++constraint:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 36;+ 5;+ 21;+ 37;+ 6;+ 22;+ 38;+ 7;+ 23;+ 39;+ 8;+ 24;+ 40;+ 9;+ 25;+ 41;+ 73;+ 10;+ 26;+ 42;+ 11;+ 27;+ 12;+ 28;+ 13;+ 29;+ 14;+ 30;+ 15;+ 31]+ lhs {VV#F8 : GHC.Types.Bool | [((? Prop([VV#F8])) <=> (gooberding#a15N >= lq_anf__d16x));+ (VV#F8 = lq_anf__d16y)]}+ rhs {VV#F8 : GHC.Types.Bool | [(? Prop([VV#F8]))]}+ id 8 tag [1]+++constraint:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 36;+ 5;+ 21;+ 37;+ 6;+ 22;+ 38;+ 7;+ 23;+ 39;+ 8;+ 24;+ 40;+ 9;+ 25;+ 41;+ 10;+ 26;+ 11;+ 27;+ 75;+ 12;+ 28;+ 13;+ 29;+ 14;+ 30;+ 15;+ 31]+ lhs {VV#F9 : a_a164 | [(VV#F9 = lq_anf__d16w);+ (VV#F9 = lq_anf__d16x)]}+ rhs {VV#F9 : a_a164 | [$k_262[lq_tmp_x258:=fix##36#dOrd_a165][lq_tmp_x259:=gooberding#a15N][VV#261:=VV#F9][VV#F:=VV#F9]]}+ id 9 tag [1]+++constraint:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 36;+ 5;+ 21;+ 37;+ 6;+ 22;+ 38;+ 7;+ 23;+ 39;+ 8;+ 24;+ 40;+ 9;+ 25;+ 41;+ 10;+ 26;+ 11;+ 27;+ 12;+ 28;+ 76;+ 13;+ 29;+ 14;+ 30;+ 15;+ 31]+ lhs {VV#F10 : a_a164 | [$k_235[VV#234:=VV#F10][VV#F:=VV#F10];+ (VV#F10 = gooberding#a15N)]}+ rhs {VV#F10 : a_a164 | [$k_262[lq_tmp_x258:=fix##36#dOrd_a165][VV#261:=VV#F10][VV#F:=VV#F10]]}+ id 10 tag [1]+++wf:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 5;+ 21;+ 6;+ 22;+ 7;+ 23;+ 8;+ 24;+ 9;+ 25;+ 10;+ 26;+ 11;+ 27;+ 12;+ 28;+ 44;+ 13;+ 29;+ 45;+ 14;+ 30;+ 15;+ 31]+ reft {VV#304 : int | [$k_305]}+ +++wf:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 5;+ 21;+ 6;+ 22;+ 7;+ 23;+ 8;+ 24;+ 9;+ 25;+ 10;+ 26;+ 11;+ 27;+ 12;+ 28;+ 44;+ 13;+ 29;+ 14;+ 30;+ 15;+ 31]+ reft {VV#287 : GHC.Types.Bool | [$k_288]}+ +++wf:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 5;+ 21;+ 6;+ 22;+ 7;+ 23;+ 8;+ 24;+ 9;+ 25;+ 10;+ 26;+ 11;+ 27;+ 12;+ 28;+ 13;+ 29;+ 14;+ 30;+ 15;+ 31]+ reft {VV#272 : int | [$k_273]}+ +++wf:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 36;+ 5;+ 21;+ 37;+ 6;+ 22;+ 38;+ 7;+ 23;+ 8;+ 24;+ 9;+ 25;+ 10;+ 26;+ 11;+ 27;+ 12;+ 28;+ 13;+ 29;+ 14;+ 30;+ 15;+ 31]+ reft {VV#234 : a_a164 | [$k_235]}+ +++wf:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 36;+ 5;+ 21;+ 37;+ 6;+ 22;+ 38;+ 7;+ 23;+ 39;+ 8;+ 24;+ 40;+ 9;+ 25;+ 41;+ 10;+ 26;+ 11;+ 27;+ 12;+ 28;+ 13;+ 29;+ 14;+ 30;+ 15;+ 31]+ reft {VV#261 : a_a164 | [$k_262]}+ +++wf:+ env [0;+ 16;+ 32;+ 1;+ 17;+ 33;+ 2;+ 18;+ 34;+ 3;+ 19;+ 35;+ 4;+ 20;+ 36;+ 5;+ 21;+ 37;+ 6;+ 22;+ 38;+ 7;+ 23;+ 39;+ 8;+ 24;+ 9;+ 25;+ 10;+ 26;+ 11;+ 27;+ 12;+ 28;+ 13;+ 29;+ 14;+ 30;+ 15;+ 31]+ reft {VV#238 : GHC.Types.Bool | [$k_239]}+
@@ -0,0 +1,489 @@+qualif Fst(v : @(1), y : @(0)): (v = fst([y])) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.spec" (line 29, column 8)+qualif Snd(v : @(1), y : @(0)): (v = snd([y])) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.spec" (line 30, column 8)+qualif IsEmp(v : GHC.Types.Bool, xs : [@(0)]): ((? Prop([v])) <=> (len([xs]) > 0)) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 13, column 8)+qualif IsEmp(v : GHC.Types.Bool, xs : [@(0)]): ((? Prop([v])) <=> (len([xs]) = 0)) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 14, column 8)+qualif ListZ(v : [@(0)]): (len([v]) = 0) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 16, column 8)+qualif ListZ(v : [@(0)]): (len([v]) >= 0) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 17, column 8)+qualif ListZ(v : [@(0)]): (len([v]) > 0) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 18, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) = len([xs])) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 20, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) >= len([xs])) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 21, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) > len([xs])) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 22, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) <= len([xs])) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 23, column 8)+qualif CmpLen(v : [@(1)], xs : [@(0)]): (len([v]) < len([xs])) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 24, column 8)+qualif EqLen(v : int, xs : [@(0)]): (v = len([xs])) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 26, column 8)+qualif LenEq(v : [@(0)], x : int): (x = len([v])) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 27, column 8)+qualif LenDiff(v : [@(0)], x : int): (len([v]) = (x + 1)) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 28, column 8)+qualif LenDiff(v : [@(0)], x : int): (len([v]) = (x - 1)) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 29, column 8)+qualif LenAcc(v : int, xs : [@(0)], n : int): (v = (len([xs]) + n)) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/GHC/Base.hquals" (line 30, column 8)+qualif Bot(v : @(0)): (0 = 1) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 3, column 8)+qualif Bot(v : @(0)): (0 = 1) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 4, column 8)+qualif Bot(v : @(0)): (0 = 1) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 5, column 8)+qualif Bot(v : bool): (0 = 1) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 6, column 8)+qualif Bot(v : int): (0 = 1) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 7, column 8)+qualif CmpZ(v : @(0)): (v < 0) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 9, column 8)+qualif CmpZ(v : @(0)): (v <= 0) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 10, column 8)+qualif CmpZ(v : @(0)): (v > 0) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 11, column 8)+qualif CmpZ(v : @(0)): (v >= 0) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 12, column 8)+qualif CmpZ(v : @(0)): (v = 0) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 13, column 8)+qualif CmpZ(v : @(0)): (v != 0) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 14, column 8)+qualif Cmp(v : @(0), x : @(0)): (v < x) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 16, column 8)+qualif Cmp(v : @(0), x : @(0)): (v <= x) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 17, column 8)+qualif Cmp(v : @(0), x : @(0)): (v > x) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 18, column 8)+qualif Cmp(v : @(0), x : @(0)): (v >= x) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 19, column 8)+qualif Cmp(v : @(0), x : @(0)): (v = x) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 20, column 8)+qualif Cmp(v : @(0), x : @(0)): (v != x) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 21, column 8)+qualif One(v : int): (v = 1) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 28, column 8)+qualif True(v : bool): (? v) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 29, column 8)+qualif False(v : bool): (~ ((? v))) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 30, column 8)+qualif True1(v : GHC.Types.Bool): (? Prop([v])) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 31, column 8)+qualif False1(v : GHC.Types.Bool): (~ ((? Prop([v])))) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 32, column 8)+qualif Papp(v : @(0), p : (Pred @(0))): (? papp1([p;+ v])) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 35, column 8)+qualif Papp2(v : @(1), x : @(0), p : (Pred @(1) @(0))): (? papp2([p;+ v;+ x])) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 38, column 8)+qualif Papp3(v : @(2), x : @(0), y : @(1), p : (Pred @(2) @(0) @(1))): (? papp3([p;+ v;+ x;+ y])) // "/Users/benjamin/UCSDrepos/liquidhaskell/include/Prelude.hquals" (line 41, column 8)+++++constant runFun : (func(2, [(Arrow @(0) @(1)); @(0); @(1)]))+constant addrLen : (func(0, [int; int]))+constant xsListSelector : (func(1, [[@(0)]; [@(0)]]))+constant x_Tuple21 : (func(2, [(Tuple @(0) @(1)); @(0)]))+constant x_Tuple65 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(4)]))+constant GHC.Types.False$35$68 : (GHC.Types.Bool)+constant x_Tuple55 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(4)]))+constant x_Tuple33 : (func(3, [(Tuple @(0) @(1) @(2)); @(2)]))+constant x_Tuple77 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(6)]))+constant papp3 : (func(6, [(Pred @(0) @(1) @(2));+ @(3);+ @(4);+ @(5);+ bool]))+constant x_Tuple63 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(2)]))+constant x_Tuple41 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(0)]))+constant papp4 : (func(8, [(Pred @(0) @(1) @(2) @(6));+ @(3);+ @(4);+ @(5);+ @(7);+ bool]))+constant x_Tuple64 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(3)]))+constant autolen : (func(1, [@(0); int]))+constant x_Tuple52 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(1)]))+constant null : (func(1, [[@(0)]; bool]))+constant papp2 : (func(4, [(Pred @(0) @(1)); @(2); @(3); bool]))+constant x_Tuple62 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(1)]))+constant fromJust : (func(1, [(GHC.Base.Maybe @(0)); @(0)]))+constant x_Tuple53 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(2)]))+constant x_Tuple71 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(0)]))+constant x_Tuple74 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(3)]))+constant len : (func(2, [(@(0) @(1)); int]))+constant x_Tuple22 : (func(2, [(Tuple @(0) @(1)); @(1)]))+constant x_Tuple66 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(5)]))+constant x_Tuple44 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(3)]))+constant xListSelector : (func(1, [[@(0)]; @(0)]))+constant strLen : (func(0, [int; int]))+constant x_Tuple72 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(1)]))+constant isJust : (func(1, [(GHC.Base.Maybe @(0)); bool]))+constant Prop : (func(0, [GHC.Types.Bool; bool]))+constant x_Tuple31 : (func(3, [(Tuple @(0) @(1) @(2)); @(0)]))+constant x_Tuple75 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(4)]))+constant papp1 : (func(1, [(Pred @(0)); @(0); bool]))+constant x_Tuple61 : (func(6, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5));+ @(0)]))+constant x_Tuple43 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(2)]))+constant x_Tuple51 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(0)]))+constant GHC.Types.I$35$$35$6c : (func(0, [int; int]))+constant x_Tuple73 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(2)]))+constant x_Tuple54 : (func(5, [(Tuple @(0) @(1) @(2) @(3) @(4));+ @(3)]))+constant cmp : (func(0, [GHC.Types.Ordering; GHC.Types.Ordering]))+constant x_Tuple32 : (func(3, [(Tuple @(0) @(1) @(2)); @(1)]))+constant x_Tuple76 : (func(7, [(Tuple @(0) @(1) @(2) @(3) @(4) @(5) @(6));+ @(5)]))+constant fst : (func(2, [(Tuple @(0) @(1)); @(0)]))+constant snd : (func(2, [(Tuple @(0) @(1)); @(1)]))+constant x_Tuple42 : (func(4, [(Tuple @(0) @(1) @(2) @(3));+ @(1)]))+constant GHC.Types.True$35$6u : (GHC.Types.Bool)+++bind 0 GHC.Types.False$35$68 : {VV$35$170 : GHC.Types.Bool | []}+bind 1 GHC.Types.True$35$6u : {VV$35$172 : GHC.Types.Bool | []}+bind 2 GHC.Num.$36$fNumInt$35$rma : {VV$35$178 : (GHC.Num.Num int) | []}+bind 3 GHC.Classes.$36$fOrdInt$35$rni : {VV$35$179 : (GHC.Classes.Ord int) | []}+bind 4 GHC.Types.EQ$35$6U : {VV$35$180 : GHC.Types.Ordering | [(VV$35$180 = GHC.Types.EQ$35$6U)]}+bind 5 GHC.Types.LT$35$6S : {VV$35$181 : GHC.Types.Ordering | [(VV$35$181 = GHC.Types.LT$35$6S)]}+bind 6 GHC.Types.GT$35$6W : {VV$35$182 : GHC.Types.Ordering | [(VV$35$182 = GHC.Types.GT$35$6W)]}+bind 7 GHC.Types.True$35$6u : {v_4 : GHC.Types.Bool | [(? Prop([v_4]))]}+bind 8 GHC.Types.False$35$68 : {v_5 : GHC.Types.Bool | [(~ ((? Prop([v_5]))))]}+bind 9 GHC.Types.False$35$68 : {v_5 : GHC.Types.Bool | [(~ ((? Prop([v_5]))))]}+bind 10 GHC.Types.$91$$93$$35$6m : {VV : func(1, [[@(0)]]) | []}+bind 11 GHC.Types.True$35$6u : {v_4 : GHC.Types.Bool | [(? Prop([v_4]))]}+bind 12 GHC.Types.GT$35$6W : {VV$35$227 : GHC.Types.Ordering | [(cmp([VV$35$227]) = GHC.Types.GT$35$6W)]}+bind 13 GHC.Types.LT$35$6S : {VV$35$228 : GHC.Types.Ordering | [(cmp([VV$35$228]) = GHC.Types.LT$35$6S)]}+bind 14 GHC.Types.EQ$35$6U : {VV$35$229 : GHC.Types.Ordering | [(cmp([VV$35$229]) = GHC.Types.EQ$35$6U)]}+bind 15 GHC.Base.Nothing$35$r1d : {VV : func(1, [(GHC.Base.Maybe @(0))]) | []}+bind 16 lq_anf__d12p : {lq_tmp_x_238 : int | [(lq_tmp_x_238 = (0 : int))]}+bind 17 lq_anf__d12q : {lq_tmp_x_244 : int | []}+bind 18 lq_anf__d12r : {lq_tmp_x_250 : int | [(lq_tmp_x_250 = (10 : int))]}+bind 19 Test0.toss$35$rYP : {VV$35$234 : GHC.Types.Bool | [$k__235]}+bind 20 lq_anf__d12s : {lq_tmp_x_275 : GHC.Types.Bool | [(lq_tmp_x_275 = Test0.toss$35$rYP)]}+bind 21 lq_anf__d12s : {lq_tmp_x_277 : GHC.Types.Bool | [(lq_tmp_x_277 = Test0.toss$35$rYP)]}+bind 22 lq_anf__d12s : {lq_tmp_x_277 : GHC.Types.Bool | [(lq_tmp_x_277 = Test0.toss$35$rYP);+ (~ ((? Prop([lq_tmp_x_277]))));+ (~ ((? Prop([lq_tmp_x_277]))));+ (~ ((? Prop([lq_tmp_x_277]))))]}+bind 23 lq_anf__d12s : {lq_tmp_x_283 : GHC.Types.Bool | [(lq_tmp_x_283 = Test0.toss$35$rYP)]}+bind 24 lq_anf__d12s : {lq_tmp_x_283 : GHC.Types.Bool | [(lq_tmp_x_283 = Test0.toss$35$rYP);+ (? Prop([lq_tmp_x_283]));+ (? Prop([lq_tmp_x_283]));+ (? Prop([lq_tmp_x_283]))]}+bind 25 lq_anf__d12t : {lq_tmp_x_288 : GHC.Types.Bool | [(lq_tmp_x_288 = lq_anf__d12s)]}+bind 26 lq_anf__d12t : {lq_tmp_x_290 : GHC.Types.Bool | [(lq_tmp_x_290 = lq_anf__d12s)]}+bind 27 lq_anf__d12t : {lq_tmp_x_290 : GHC.Types.Bool | [(lq_tmp_x_290 = lq_anf__d12s);+ (~ ((? Prop([lq_tmp_x_290]))));+ (~ ((? Prop([lq_tmp_x_290]))));+ (~ ((? Prop([lq_tmp_x_290]))))]}+bind 28 lq_anf__d12t : {lq_tmp_x_296 : GHC.Types.Bool | [(lq_tmp_x_296 = lq_anf__d12s)]}+bind 29 lq_anf__d12t : {lq_tmp_x_296 : GHC.Types.Bool | [(lq_tmp_x_296 = lq_anf__d12s);+ (? Prop([lq_tmp_x_296]));+ (? Prop([lq_tmp_x_296]));+ (? Prop([lq_tmp_x_296]))]}+bind 30 Test0.prop_abs$35$r10h : {VV$35$272 : GHC.Types.Bool | [$k__273]}+bind 31 x$35$a11A : {VV$35$307 : int | [$k__308]}+bind 32 lq_anf__d12u : {lq_tmp_x_315 : int | [(lq_tmp_x_315 = (0 : int))]}+bind 33 lq_anf__d12v : {lq_tmp_x_321 : GHC.Types.Bool | [((? Prop([lq_tmp_x_321])) <=> (x$35$a11A > lq_anf__d12u))]}+bind 34 lq_anf__d12w : {lq_tmp_x_345 : int | [$k__343[lq_tmp_x_340:=lq_anf__d12v][VV$35$342:=lq_tmp_x_345][lq_tmp_x_341:=x$35$a11A]]}+bind 35 lq_anf__d12x : {lq_tmp_x_350 : int | [(lq_tmp_x_350 = (1 : int))]}+bind 36 lq_anf__d12y : {lq_tmp_x_373 : int | [(lq_tmp_x_373 = (12 : int))]}+bind 37 Test0.goo$35$r10j : {VV$35$369 : int | [$k__370]}+bind 38 zzz$35$a11B : {VV$35$384 : int | [$k__385]}+bind 39 lq_anf__d12z : {lq_tmp_x_392 : int | [(lq_tmp_x_392 = (1 : int))]}+bind 40 lq_anf__d12A : {lq_tmp_x_415 : int | [(lq_tmp_x_415 = (29 : int))]}+bind 41 Test0.zoo$35$r10l : {VV$35$411 : int | [$k__412]}+bind 42 VV$35$426 : {VV$35$426 : int | [$k__389[lq_tmp_x_423:=lq_anf__d12A][lq_tmp_x_421:=VV$35$426][zzz$35$a11B:=lq_anf__d12A][VV$35$388:=VV$35$426]]}+bind 43 VV$35$426 : {VV$35$426 : int | [$k__389[lq_tmp_x_423:=lq_anf__d12A][lq_tmp_x_421:=VV$35$426][zzz$35$a11B:=lq_anf__d12A][VV$35$388:=VV$35$426]]}+bind 44 VV$35$429 : {VV$35$429 : int | [(VV$35$429 = lq_anf__d12A)]}+bind 45 VV$35$429 : {VV$35$429 : int | [(VV$35$429 = lq_anf__d12A)]}+bind 46 VV$35$432 : {VV$35$432 : int | [(VV$35$432 = 29)]}+bind 47 VV$35$432 : {VV$35$432 : int | [(VV$35$432 = 29)]}+bind 48 VV$35$435 : {VV$35$435 : int | [(VV$35$435 = (zzz$35$a11B + lq_anf__d12z))]}+bind 49 VV$35$435 : {VV$35$435 : int | [(VV$35$435 = (zzz$35$a11B + lq_anf__d12z))]}+bind 50 VV$35$438 : {VV$35$438 : int | [(VV$35$438 = lq_anf__d12z)]}+bind 51 VV$35$438 : {VV$35$438 : int | [(VV$35$438 = lq_anf__d12z)]}+bind 52 VV$35$441 : {VV$35$441 : int | [(VV$35$441 = zzz$35$a11B)]}+bind 53 VV$35$441 : {VV$35$441 : int | [(VV$35$441 = zzz$35$a11B)]}+bind 54 VV$35$444 : {VV$35$444 : int | [(VV$35$444 = 1)]}+bind 55 VV$35$444 : {VV$35$444 : int | [(VV$35$444 = 1)]}+bind 56 VV$35$447 : {VV$35$447 : int | [$k__312[VV$35$311:=VV$35$447][lq_tmp_x_381:=lq_anf__d12y][x$35$a11A:=lq_anf__d12y][lq_tmp_x_379:=VV$35$447]]}+bind 57 VV$35$447 : {VV$35$447 : int | [$k__312[VV$35$311:=VV$35$447][lq_tmp_x_381:=lq_anf__d12y][x$35$a11A:=lq_anf__d12y][lq_tmp_x_379:=VV$35$447]]}+bind 58 VV$35$450 : {VV$35$450 : int | [(VV$35$450 = lq_anf__d12y)]}+bind 59 VV$35$450 : {VV$35$450 : int | [(VV$35$450 = lq_anf__d12y)]}+bind 60 VV$35$453 : {VV$35$453 : int | [(VV$35$453 = 12)]}+bind 61 VV$35$453 : {VV$35$453 : int | [(VV$35$453 = 12)]}+bind 62 VV$35$456 : {VV$35$456 : int | [(VV$35$456 = (lq_anf__d12w + lq_anf__d12x))]}+bind 63 VV$35$456 : {VV$35$456 : int | [(VV$35$456 = (lq_anf__d12w + lq_anf__d12x))]}+bind 64 VV$35$459 : {VV$35$459 : int | [(VV$35$459 = lq_anf__d12x)]}+bind 65 VV$35$459 : {VV$35$459 : int | [(VV$35$459 = lq_anf__d12x)]}+bind 66 VV$35$462 : {VV$35$462 : int | [(VV$35$462 = lq_anf__d12w)]}+bind 67 VV$35$462 : {VV$35$462 : int | [(VV$35$462 = lq_anf__d12w)]}+bind 68 VV$35$465 : {VV$35$465 : int | [(VV$35$465 = 1)]}+bind 69 VV$35$465 : {VV$35$465 : int | [(VV$35$465 = 1)]}+bind 70 VV$35$468 : {VV$35$468 : int | [(VV$35$468 = x$35$a11A)]}+bind 71 VV$35$468 : {VV$35$468 : int | [(VV$35$468 = x$35$a11A)]}+bind 72 VV$35$471 : {VV$35$471 : GHC.Types.Bool | [(VV$35$471 = lq_anf__d12v)]}+bind 73 VV$35$471 : {VV$35$471 : GHC.Types.Bool | [(VV$35$471 = lq_anf__d12v)]}+bind 74 VV$35$474 : {VV$35$474 : int | [(VV$35$474 = lq_anf__d12u)]}+bind 75 VV$35$474 : {VV$35$474 : int | [(VV$35$474 = lq_anf__d12u)]}+bind 76 VV$35$477 : {VV$35$477 : int | [(VV$35$477 = x$35$a11A)]}+bind 77 VV$35$477 : {VV$35$477 : int | [(VV$35$477 = x$35$a11A)]}+bind 78 VV$35$480 : {VV$35$480 : int | [(VV$35$480 = 0)]}+bind 79 VV$35$480 : {VV$35$480 : int | [(VV$35$480 = 0)]}+bind 80 VV$35$483 : {VV$35$483 : GHC.Types.Bool | [(? Prop([VV$35$483]))]}+bind 81 VV$35$483 : {VV$35$483 : GHC.Types.Bool | [(? Prop([VV$35$483]))]}+bind 82 VV$35$486 : {VV$35$486 : GHC.Types.Bool | [(VV$35$486 = lq_anf__d12t)]}+bind 83 VV$35$486 : {VV$35$486 : GHC.Types.Bool | [(VV$35$486 = lq_anf__d12t)]}+bind 84 VV$35$489 : {VV$35$489 : GHC.Types.Bool | [(VV$35$489 = GHC.Types.False$35$68)]}+bind 85 VV$35$489 : {VV$35$489 : GHC.Types.Bool | [(VV$35$489 = GHC.Types.False$35$68)]}+bind 86 VV$35$492 : {VV$35$492 : GHC.Types.Bool | [(VV$35$492 = GHC.Types.False$35$68)]}+bind 87 VV$35$492 : {VV$35$492 : GHC.Types.Bool | [(VV$35$492 = GHC.Types.False$35$68)]}+bind 88 VV$35$495 : {VV$35$495 : GHC.Types.Bool | [((? Prop([VV$35$495])) <=> (lq_anf__d12q > lq_anf__d12r))]}+bind 89 VV$35$495 : {VV$35$495 : GHC.Types.Bool | [((? Prop([VV$35$495])) <=> (lq_anf__d12q > lq_anf__d12r))]}+bind 90 VV$35$498 : {VV$35$498 : int | [(VV$35$498 = lq_anf__d12r)]}+bind 91 VV$35$498 : {VV$35$498 : int | [(VV$35$498 = lq_anf__d12r)]}+bind 92 VV$35$501 : {VV$35$501 : int | [(VV$35$501 = lq_anf__d12q)]}+bind 93 VV$35$501 : {VV$35$501 : int | [(VV$35$501 = lq_anf__d12q)]}+bind 94 VV$35$504 : {VV$35$504 : int | [(VV$35$504 = 10)]}+bind 95 VV$35$504 : {VV$35$504 : int | [(VV$35$504 = 10)]}+bind 96 VV$35$507 : {VV$35$507 : int | [(VV$35$507 = lq_anf__d12p)]}+bind 97 VV$35$507 : {VV$35$507 : int | [(VV$35$507 = lq_anf__d12p)]}+bind 98 VV$35$510 : {VV$35$510 : int | [(VV$35$510 = 0)]}+bind 99 VV$35$510 : {VV$35$510 : int | [(VV$35$510 = 0)]}+bind 100 VV$35$411 : {VV$35$411 : int | [$k__412]}+bind 101 VV$35$384 : {VV$35$384 : int | [$k__385]}+bind 102 VV$35$388 : {VV$35$388 : int | [$k__389]}+bind 103 VV$35$369 : {VV$35$369 : int | [$k__370]}+bind 104 VV$35$307 : {VV$35$307 : int | [$k__308]}+bind 105 VV$35$342 : {VV$35$342 : int | [$k__343]}+bind 106 VV$35$328 : {VV$35$328 : int | [$k__329]}+bind 107 VV$35$311 : {VV$35$311 : int | [$k__312]}+bind 108 VV$35$272 : {VV$35$272 : GHC.Types.Bool | [$k__273]}+bind 109 VV$35$263 : {VV$35$263 : int | [$k__264]}+bind 110 VV$35$234 : {VV$35$234 : GHC.Types.Bool | [$k__235]}+++++constraint:+ env [0;+ 1;+ 2;+ 3;+ 19;+ 4;+ 36;+ 5;+ 6;+ 7;+ 8;+ 9;+ 10;+ 58;+ 11;+ 12;+ 13;+ 14;+ 30;+ 15]+ lhs {VV$35$F5 : int | [(VV$35$F5 = lq_anf__d12y)]}+ rhs {VV$35$F5 : int | [$k__308[VV$35$307:=VV$35$F5][VV$35$F:=VV$35$F5][VV$35$450:=VV$35$F5][lq_tmp_x_378:=VV$35$F5]]}+ id 5 tag [4]+ // META constraint id 5 : tests/pos/test000.hs:16:11-12+++constraint:+ env [0;+ 32;+ 1;+ 33;+ 2;+ 3;+ 19;+ 4;+ 5;+ 6;+ 7;+ 8;+ 72;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 30;+ 15;+ 31]+ lhs {VV$35$F8 : GHC.Types.Bool | [(VV$35$F8 = lq_anf__d12v)]}+ rhs {VV$35$F8 : GHC.Types.Bool | [(? Prop([VV$35$F8]))]}+ id 8 tag [3]+ // META constraint id 8 : tests/pos/test000.hs:14:23-29+++constraint:+ env [0;+ 80;+ 1;+ 2;+ 3;+ 19;+ 4;+ 20;+ 5;+ 6;+ 7;+ 23;+ 8;+ 24;+ 9;+ 25;+ 10;+ 11;+ 12;+ 28;+ 13;+ 29;+ 14;+ 15]+ lhs {VV$35$F11 : GHC.Types.Bool | [(? Prop([VV$35$F11]))]}+ rhs {VV$35$F11 : GHC.Types.Bool | [$k__273[VV$35$272:=VV$35$F11][VV$35$F:=VV$35$F11][VV$35$483:=VV$35$F11]]}+ id 11 tag [6]+ // META constraint id 11 : tests/pos/test000.hs:10:33-50+++constraint:+ env [0;+ 1;+ 2;+ 82;+ 3;+ 19;+ 4;+ 20;+ 5;+ 6;+ 7;+ 23;+ 8;+ 24;+ 9;+ 25;+ 10;+ 11;+ 12;+ 28;+ 13;+ 29;+ 14;+ 15]+ lhs {VV$35$F12 : GHC.Types.Bool | [(VV$35$F12 = lq_anf__d12t)]}+ rhs {VV$35$F12 : GHC.Types.Bool | [(? Prop([VV$35$F12]))]}+ id 12 tag [6]+ // META constraint id 12 : tests/pos/test000.hs:10:47-50+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 19;+ 4;+ 20;+ 84;+ 5;+ 6;+ 7;+ 23;+ 8;+ 24;+ 9;+ 25;+ 10;+ 26;+ 11;+ 27;+ 12;+ 13;+ 14;+ 15]+ lhs {VV$35$F13 : GHC.Types.Bool | [(VV$35$F13 = GHC.Types.False$35$68)]}+ rhs {VV$35$F13 : GHC.Types.Bool | [$k__273[VV$35$272:=VV$35$F13][VV$35$489:=VV$35$F13][VV$35$F:=VV$35$F13]]}+ id 13 tag [6]+ // META constraint id 13 : tests/pos/test000.hs:10:57-61+++constraint:+ env [0;+ 1;+ 2;+ 3;+ 19;+ 4;+ 20;+ 5;+ 21;+ 6;+ 22;+ 86;+ 7;+ 8;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15]+ lhs {VV$35$F14 : GHC.Types.Bool | [(VV$35$F14 = GHC.Types.False$35$68)]}+ rhs {VV$35$F14 : GHC.Types.Bool | [$k__273[VV$35$272:=VV$35$F14][VV$35$F:=VV$35$F14][VV$35$492:=VV$35$F14]]}+ id 14 tag [6]+ // META constraint id 14 : tests/pos/test000.hs:11:19-23+++constraint:+ env [0;+ 16;+ 1;+ 17;+ 2;+ 18;+ 3;+ 4;+ 5;+ 6;+ 7;+ 8;+ 88;+ 9;+ 10;+ 11;+ 12;+ 13;+ 14;+ 15]+ lhs {VV$35$F15 : GHC.Types.Bool | [((? Prop([VV$35$F15])) <=> (lq_anf__d12q > lq_anf__d12r))]}+ rhs {VV$35$F15 : GHC.Types.Bool | [$k__235[VV$35$F:=VV$35$F15][VV$35$495:=VV$35$F15][VV$35$234:=VV$35$F15]]}+ id 15 tag [5]+ // META constraint id 15 : tests/pos/test000.hs:6:1-22+++++wf:+ env [0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15]+ reft {VV$35$234 : GHC.Types.Bool | [$k__235]}+ // META wf : <no location info>+++wf:+ env [0; 1; 2; 3; 19; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 30; 15]+ reft {VV$35$307 : int | [$k__308]}+ // META wf : <no location info>+++wf:+ env [0; 1; 2; 3; 19; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15]+ reft {VV$35$272 : GHC.Types.Bool | [$k__273]}+ // META wf : tests/pos/test000.hs:(9,1)-(11,23)+++++++
@@ -0,0 +1,43 @@+fixpoint "--rewrite"++data Field 1 = [+ | FInt {}+ ]++define funky (ds : Field a, kkk : a) : int = (((funky ds kkk) = (coerce (a ~ int) kkk)))++constant funky : (func(1 , [(Field @(0)); @(0); int]))++expand [1 : True; + 2 : True;+ 3 : True+ ] ++bind 1 tx : {VV : (Field bob) | []}+bind 2 ty : {VV : bob | []}+bind 3 fInt : {VV : Field int | [ VV = FInt]}++constraint:+ env [1; 2]+ lhs {VV : int | [VV = (funky tx ty)]}+ rhs {VV : int | [VV = (funky tx ty)]}+ id 1 tag []++constraint:+ env [3]+ lhs {VV : int | []}+ rhs {VV : int | [4 = (funky fInt 4)]}+ id 2 tag []++constraint:+ env []+ lhs {VV : int | []}+ rhs {VV : int | [4 = (funky FInt 4)]}+ id 3 tag []+++++++
@@ -0,0 +1,26 @@+// minimized version of LH #1371 ++fixpoint "--rewrite"++data Thing 0 = [+ | Op { left : Thing, right : Thing}+ | N { eNum : int}+ ]++define killer (a1 : Thing, a2 : Thing) : Thing = + (((killer a1 a2) = (if (is$N a1) + then (if (is$N a2) then (a1) else (Op (left a2) (killer (N (eNum a1)) (right a2)))) + else (Op (left a1) (killer (right a1) a2)))))++constant killer : (func(0 , [Thing; Thing; Thing]))++bind 1 e2 : {v : Thing | true }+bind 2 tmp : {v : Thing | v = (killer (N 666) e2) }++expand [1 : True]++constraint:+ env [1;2]+ lhs {VV : Thing | [] }+ rhs {VV : Thing | [1 + 2 = 3]}+ id 1 tag []
@@ -0,0 +1,19 @@+fixpoint "--rewrite"++constant sem: (func(0, [int; int; (Set_Set int)]))++define sem (i : int, j: int) : (Set_Set int) = (&& [((sem i j) = (if (i < j) then (Set_cup (Set_add (Set_empty 0) i) (sem (i + 1) j)) else (Set_empty 0)));+ (true => true)])++expand [1 : True]++bind 1 i0 : { v : int | true }+bind 2 j0 : { v : int | true }+bind 3 p : { v : int | i0 < j0 }+bind 4 q : { v : int | j0 < i0 }++constraint:+ env [1; 2; 3; 4]+ lhs {v : (Set_Set int) | v = sem i0 j0}+ rhs {v : (Set_Set int) | v = sem j0 i0}+ id 1 tag []
@@ -0,0 +1,16 @@+fixpoint "--rewrite"++constant len: (func(1, [(Main.List @(0)); int]))+constant Cons: (func(2, [@(0); (Main.List @(0)); (Main.List @(0))]))+constant Nil: (Main.List @(0))++match len Nil = 0+match len Cons x xs = (1 + len xs)++constraint:+ env []+ lhs {v : int | true }+ rhs {v : int | len (Cons 1 (Cons 2 (Cons 3 Nil))) = 3}+ id 1 tag []++expand [1 : True]
@@ -0,0 +1,19 @@+fixpoint "--rewrite"++data Vec 1 = [+ | VNil { }+ | VCons { head : @(0), tail : Vec }+]++constant len: (func(1, [(Vec @(0)); int]))++match len VNil = 0+match len VCons x xs = (1 + len xs)++constraint:+ env []+ lhs {v : int | true }+ rhs {v : int | len (VCons 1 (VCons 2 (VCons 3 VNil))) = 3}+ id 1 tag []++expand [1 : True]
@@ -0,0 +1,29 @@+fixpoint "--rewrite"++data Blob 0 = [ + | VBlob { vgoo : Int } + ]++data Vec 1 = [+ | VCons { vhead : @(0) } +]++constant len : (func(1, [(Vec @(0)); int]))+constant hen : (func(1, [Blob; int]))+constant tt : (Vec bool)+constant bob : (Blob)+constant foo : (func(0, [Blob; Blob]))++match hen VBlob z = 10 ++match len VCons x = (hen (foo (VBlob 12)))++bind 0 thing : {v: int | true} ++constraint:+ env [0]+ lhs {v : int | len (VCons 1) = 10 }+ rhs {v : int | len (VCons 1) = 10 }+ id 1 tag []++expand [1 : True]
@@ -0,0 +1,13 @@+fixpoint "--rewrite"++constant adder: (func(0, [int; int; int]))++define adder(x : int, y : int) : int = ((adder x y) = (x + y))++expand [1 : True]++constraint:+ env []+ lhs {v : int | true }+ rhs {v : int | (adder 5 6) = 11 }+ id 1 tag []
@@ -0,0 +1,17 @@+fixpoint "--rewrite"++constant foo: (func(1, [@(0) ; int]))+constant bar: (func(0, [Bob ; int]))++define foo(x : alpha) : int = (foo x = bar (coerce (alpha ~ Bob) x))+define bar(y : Bob) : int = (bar y = 22)++expand [1 : True]++bind 0 z : {v: beta | true }++constraint:+ env []+ lhs {v : int | true }+ rhs {v : int | (foo z) = 22 }+ id 1 tag []
@@ -0,0 +1,20 @@+fixpoint "--rewrite"++constant maker : (func(0, [int; QQ]))+constant QQ : (func(0, [int; QQ]))+constant selector : (func(0, [QQ; int]))++match selector QQ x = (x)++define maker(n : int) : QQ = (((maker n) = (QQ n)))+define QQ(z : int) : QQ = ((selector (QQ z)) = z)++expand [1 : True]++bind 0 z : {v: QQ | v = maker 10 }++constraint:+ env [0]+ lhs {v : QQ | v = z }+ rhs {v : QQ | selector v = 10 }+ id 1 tag []
@@ -0,0 +1,40 @@+fixpoint "--rewrite"+++data Blob 0 = [+ | VEmp { }+ | VCons { blobKey : Int , blobVal : Int, blobTail : Blob} +]++define set (s : Blob, key: Int, valu : Int) : Blob = + ((set s key valu) = (VCons key valu s))++define get (s : Blob, key: Int) : Int = + ((get s key) = (if (is$VEmp s) then + 0 + else if (key = (blobKey s)) then + (blobVal s) + else + (get (blobTail s) key)))++constant get : (func(0, [Blob; Int; Int]))+constant set : (func(0, [Blob; Int; Int; Blob]))++expand [1 : True]+expand [2 : True]++bind 0 s0 : {v: Blob | true }++// UNSAT because we dont use the equality from v1 = set... when ple-ing (get v1 ...) +constraint:+ env [0]+ lhs {v1 : Blob | v1 = set s0 66 100 }+ rhs {v1 : Blob | get v1 66 = 100 }+ id 1 tag []++// SAT because the ple implementation first "normalizes" the arg to set+constraint:+ env [0]+ lhs {v2 : Blob | true }+ rhs {v2 : Blob | get (set s0 66 100) 66 = 100 }+ id 2 tag []
@@ -0,0 +1,30 @@+// minimal reproduction of LH #1409. UNSAFE with --rewrite; SAFE with --rewrite --noincrple +fixpoint "--rewrite"++data Peano 0 = [+ | S { prev : Peano}+ | Z { }+ ]++expand [ 1 : True ]+expand [ 2 : True ]++constant isEven : (func(0 , [Peano; int]))++define isEven (n : Peano) : int = (((isEven n) = (if (is$Z n) then 1 else (1 - ((isEven (prev n)))))))++bind 0 n : {n: Peano | (isEven n) = 1 }+bind 1 a : {a: Peano | n = S a }+bind 2 t2 : {v: int | a = Z }++constraint:+ env [0; 1]+ lhs {v : int | true }+ rhs {v : int | 1 + 2 = 3 }+ id 1 tag []++constraint:+ env [0; 1; 2]+ lhs {v : int | true }+ rhs {v : int | false }+ id 2 tag []
@@ -0,0 +1,18 @@+fixpoint "--rewrite"++constant sum : (func(0, [int; int]))++define sum(n : int) : int = ((sum n) = if (n <= 0) then 0 else (n + sum (n-1)))++expand [1 : True]+expand [2 : True]++bind 0 n : {v : int | (3 <= v) }++constraint:+ env []+ lhs {v : int | true }+ rhs {v : int | (sum 5) = 15 }+ id 1 tag []++
@@ -0,0 +1,17 @@++// test is an existential data type +// data Test a b = Test {forall z. z}+// @(2) is not bound by the two top variables++data Test 2 = [+ | test { vtest : func(1 , [@(2)])}+ ]++bind 0 f : {v:int | true}+bind 1 g : {v:int | true}++constraint:+ env [0; 1]+ lhs {v:int | test f = test g }+ rhs {v:int | f = g }+ id 1 tag []
@@ -73,23 +73,32 @@ , testGroup "elim-pos2" <$> dirTests elimCmd "tests/elim" [] ExitSuccess , testGroup "elim-neg" <$> dirTests elimCmd "tests/neg" ["float.fq"] (ExitFailure 1) , testGroup "elim-crash" <$> dirTests elimCmd "tests/crash" [] (ExitFailure 2)- , testGroup "proof" <$> dirTests elimCmd "tests/proof" [] ExitSuccess- , testGroup "todo" <$> dirTests elimCmd "tests/todo" ["LH1090.fq"] (ExitFailure 2)+ , testGroup "proof" <$> dirTests elimCmd "tests/proof" [] ExitSuccess+ , testGroup "rankN" <$> dirTests elimCmd "tests/rankNTypes" [] ExitSuccess++ , testGroup "horn-pos" <$> dirTests elimCmd "tests/horn/pos" [] ExitSuccess+ , testGroup "horn-neg" <$> dirTests elimCmd "tests/horn/neg" [] (ExitFailure 1)+ , testGroup "horn-pos" <$> dirTests nativeCmd "tests/horn/pos" [] ExitSuccess+ , testGroup "horn-neg" <$> dirTests nativeCmd "tests/horn/neg" [] (ExitFailure 1)++ -- , testGroup "todo" <$> dirTests elimCmd "tests/todo" [] (ExitFailure 1)+ -- , testGroup "todo-crash" <$> dirTests elimCmd "tests/todo-crash" [] (ExitFailure 2) ] + skipNativePos :: [FilePath] skipNativePos = ["NonLinear-pack.fq"] --------------------------------------------------------------------------- dirTests :: TestCmd -> FilePath -> [FilePath] -> ExitCode -> IO [TestTree] ----------------------------------------------------------------------------dirTests testCmd root ignored code- = do files <- walkDirectory root- let tests = [ rel | f <- files, isTest f, let rel = makeRelative root f, rel `notElem` ignored ]- return $ mkTest testCmd code root <$> tests+dirTests testCmd root ignored code = do + files <- walkDirectory root+ let tests = [ rel | f <- files, isTest f, let rel = makeRelative root f, rel `notElem` ignored ]+ return $ mkTest testCmd code root <$> tests isTest :: FilePath -> Bool-isTest f = takeExtension f `elem` [".fq"]+isTest f = takeExtension f `elem` [".fq", ".smt2"] --------------------------------------------------------------------------- mkTest :: TestCmd -> ExitCode -> FilePath -> FilePath -> TestTree@@ -366,6 +375,7 @@ "Epoch Timestamp: " ++ epochTime, headerDelim, "test, time(s), result"]+ let dir = "tests" </> "logs" </> host ++ "-" ++ time let smry = "tests" </> "logs" </> "cur" </> "summary.csv"
@@ -142,7 +142,7 @@ show (doParse' funAppP "test" "fooBar baz qux") @?= "EApp (EApp (EVar \"fooBar\") (EVar \"baz\")) (EVar \"qux\")" , testCase "ECon (exprFunCommasP)" $- show (doParse' funAppP "test" "fooBar (baz, qux)") @?= "EApp (EApp (EVar \"fooBar\") (EVar \"baz\")) (EVar \"qux\")"+ show (doParse' funAppP "test" "fooBar (baz, qux)") @?= "EApp (EVar \"fooBar\") (EApp (EApp (EVar \"(,)\") (EVar \"baz\")) (EVar \"qux\"))" , testCase "ECon (exprFunSemisP)" $ show (doParse' funAppP "test" "fooBar ([baz; qux])") @?= "EApp (EApp (EVar \"fooBar\") (EVar \"baz\")) (EVar \"qux\")"@@ -287,7 +287,7 @@ show (doParse' predP "test" "f a b") @?= "EApp (EApp (EVar \"f\") (EVar \"a\")) (EVar \"b\")" , testCase "funApp 2" $- show (doParse' predP "test" "f (a, b)") @?= "EApp (EApp (EVar \"f\") (EVar \"a\")) (EVar \"b\")"+ show (doParse' predP "test" "f (a, b)") @?= "EApp (EVar \"f\") (EApp (EApp (EVar \"(,)\") (EVar \"a\")) (EVar \"b\"))" , testCase "funApp 3" $ show (doParse' predP "test" "f ([a; b])") @?= "EApp (EApp (EVar \"f\") (EVar \"a\")) (EVar \"b\")"
@@ -0,0 +1,39 @@+qualif Nat(v:int) : (0 <= v)++bind 0 x : {v: int | [$k0]}+bind 1 y : {v: int | [$k0]}+bind 2 z : {v: int | [$k1]}++constraint:+ env [ ]+ lhs {v : int | [v = 10]}+ rhs {v : int | [$k0]}+ id 1 tag [0]++constraint:+ env [ 0 ]+ lhs {v : int | [v = x + x]}+ rhs {v : int | [$k0]}+ id 2 tag [0]++constraint:+ env [ 0; 1 ]+ lhs {v : int | [v = x + y ]}+ rhs {v : int | [$k1]}+ id 3 tag [0]+++constraint:+ env [ 1 ]+ lhs {v : int | [v = z]}+ rhs {v : int | [0 <= v]}+ id 4 tag [0]++wf:+ env [ ]+ reft {v: int | [$k0]}+++wf:+ env [ ]+ reft {v: int | [$k1]}
@@ -0,0 +1,17 @@+// This test works on z3-4.4.1, but is broken in 4.4.2 or newer++data Either 2 = [+ | right { eRight : @(0) }+ | left { eLeft : @(1) }+]++bind 0 escobar : {v:int | true }+bind 1 junk : {v:Either bool int | v = left escobar}+bind 2 punk : {v:Either int int | true}++constraint:+ env [0; 1; 2]+ lhs {v:int | true }+ rhs {v:int | punk = left escobar }+ id 1 tag []+
@@ -0,0 +1,77 @@+// minimized version of LH #1371 ++fixpoint "--rewrite"++data Thing 0 = [+ | Op { opLeft : Thing, opRight : Thing}+ | N { eNum : int}+ ]++// ACTUAL+define killer (arg1 : Thing, arg2 : Thing) : Thing = + (((killer arg1 arg2) = (if (is$N arg1) + then (if (is$N arg2) then (arg1) else (Op (opLeft arg2) (killer (N (eNum arg1)) (opRight arg2)))) + else (Op (opLeft arg1) (killer (opRight arg1) arg2)))))++constant killer : (func(0 , [Thing; Thing; Thing]))++match is$Op N x = (false)+match eNum N x = (x) +match is$N N x = (true)+match N x = ((N x)) +match opRight Op x y = (y)+match opLeft Op x y = (x)+match is$Op Op x y = (true)+match is$N Op x y = (false)++bind 0 arg2 : {v : Thing | []}+bind 1 e1 : {v : Thing | []}+bind 2 e2 : {v : Thing | []}+bind 3 dY1 : {v : Thing | [((1 + 2) = 3);+ (v = (killer e2 arg2));+ (v = (if (is$N e2) then (Op (opLeft arg2) (killer (N (eNum e2)) (opRight arg2))) else (Op (opLeft e2) (killer (opRight e2) arg2))));+ (v = (killer e2 arg2))]}++++++bind 39 tmp : {v : Thing | [ ((opRight v) = e2);+ ((opLeft v) = e1);+ ((is$Op v) <=> true);+ ((is$N v) <=> false);+ (v = (Op e1 e2));+ (v = (Op e1 e2));+ ((opRight v) = e2);+ ((opLeft v) = e1);+ ((is$Op v) <=> true);+ ((is$N v) <=> false);+ (v = (Op e1 e2))]}+++bind 40 n : {v : int | []}++bind 50 dXY : {v : Thing | [((is$Op v) <=> false);+ ((eNum v) = n);+ ((is$N v) <=> true);+ (v = (N n))]}++bind 60 dXZ : {v : Thing | [((1 + 2) = 3);+ (v = (killer dXY e2));+ (v = (if (is$N dXY) + then (Op (opLeft e2) (killer (N (eNum dXY)) (opRight e2))) + else (Op (opLeft dXY) (killer (opRight dXY) e2))));+ (v = (killer dXY e2))]}++expand [8 : True]++constraint:+ env [0; 1; 2; 39;40; 50; 60]+ lhs {VV8 : Thing | [((opRight VV8) = dXZ);+ ((opLeft VV8) = e1);+ ((is$Op VV8) <=> true);+ ((is$N VV8) <=> false);+ (VV8 = (Op e1 dXZ))]}+ rhs {VV8 : Thing | [((10 + 2) = 3)]}+ id 8 tag [3]+ // META constraint id 8 : ()
@@ -0,0 +1,39 @@+fixpoint "--eliminate=some"++ebind 15 n : { int }++bind 16 m : { _ : int | true }+bind 18 one : { v : int | v = 1 }++constraint:+ env [15]+ lhs {v3 : int | v3 = n }+ rhs {v3 : int | $k2[vk2:=v3] }+ id 3 tag []++constraint:+ env [15]+ lhs {v4 : int | $k1[vk1:=v4] }+ rhs {v4 : int | v4 = n }+ id 4 tag []++constraint:+ env [16; 18]+ lhs {v5 : int | v5 = m + 1 }+ rhs {v5 : int | $k1[vk1:=v5] }+ id 5 tag []++constraint:+ env [16; 18]+ lhs {v6 : int | $k2[vk2:=v6] }+ rhs {v6 : int | v6 = m + 10000 }+ id 6 tag []++wf:+ env [16]+ reft {vk1 : int | [$k1]}++wf:+ env [16]+ reft {vk2 : int | [$k2]}+
@@ -10,9 +10,8 @@ import System.IO.Unsafe (unsafePerformIO) import System.Console.CmdArgs.Verbosity (isNormal) import Data.IORef-- import System.Console.AsciiProgress+-- import Language.Fixpoint.Misc (traceShow) {-# NOINLINE pbRef #-} pbRef :: IORef (Maybe ProgressBar)@@ -25,7 +24,7 @@ r <- act progressClose return r-+ progressInit :: Int -> IO () progressInit n = do normal <- isNormal @@ -34,19 +33,31 @@ writeIORef pbRef (Just pr) mkPB :: Int -> IO ProgressBar--mkPB n = newProgressBar def { pgWidth = 80- , pgTotal = toInteger n- , pgFormat = "Working :percent [:bar]"- , pgPendingChar = '.'- , pgOnCompletion = Nothing -- Just "Done solving." -- :percent."- }+mkPB n = newProgressBar def + { pgWidth = 80+ , pgTotal = {- traceShow "MAKE-PROGRESS" -} (toInteger n)+ , pgFormat = "Working :percent [:bar]"+ , pgPendingChar = '.'+ , pgOnCompletion = Nothing+ } progressTick :: IO () progressTick = go =<< readIORef pbRef where- go (Just pr) = tick pr+ go (Just pr) = incTick pr go _ = return ()++incTick :: ProgressBar -> IO () +incTick pb = do+ st <- getProgressStats pb + when (incomplete st) (tick pb)+ -- then tick pb -- putStrLn (show (stPercent st, stTotal st, stCompleted st)) >> (tick pb)+ -- else return () ++incomplete :: Stats -> Bool +incomplete st = {- traceShow "INCOMPLETE" -} (stRemaining st) > 0 +-- incomplete st = stPercent st < 100+ progressClose :: IO () progressClose = go =<< readIORef pbRef