What is Haskell missing for totality checking?

Liquid Haskell has totality checking: https://github.com/ucsd-progsys/liquidhaskell#termination-check By default a termination check is performed on all recursive functions. Use the no-termination option to disable the check liquid –no-termination test.hs In recursive functions the first algebraic or integer argument should be decreasing. The default decreasing measure for lists is length and Integers its value. (I included screenshot … Read more

Explain the proof by Vinay Deolalikar that P != NP [closed]

I’ve only scanned through the paper, but here’s a rough summary of how it all hangs together. From page 86 of the paper. … polynomial time algorithms succeed by successively “breaking up” the problem into smaller subproblems that are joined to each other through conditional independence. Consequently, polynomial time algorithms cannot solve problems in regimes … Read more

How to read this GHC Core “proof”?

@~ is coercion application. The angle brackets denote a reflexive coercion of their contained type with role given by the underscored letter. Thus <Nat.Flip x_ap0H>_N is an equality proof that Nat.Flip x_apH is equal to Nat.Flip x_apH nominally (as equal types not just equal representations). PS has a lot of arguments. We look at the … Read more

tech