## Explain the proof by Vinay Deolalikar that P != NP

Recently there has been a paper floating around by Vinay Deolalikar at HP Labs which claims to have proved that P != NP.

Could someone explain how this proof works for us less mathematically …

## Should code be short/concise?

When writing a mathematical proof, one goal is to continue compressing the proof. The proof gets more elegant but not necessarily more readable. Compression translates to better understanding, as …

## Why can’t programs be proven?

Why can’t a computer program be proven just as a mathematical statement can? A mathematical proof is built up on other proofs, which are built up from yet more proofs and on down to axioms – those …

## What is the proof of of (N–1) + (N–2) + (N–3) + … + 1= N*(N–1)/2

I got this formula from a data structure book in the bubble sort algorithm.

I know that we are (n-1) * (n times), but why the division by 2?

Can anyone please explain this to me or give the detailed …

## Proving correctness of multithread algorithms

Multithread algorithms are notably hard to design/debug/prove. Dekker’s algorithm is a prime example of how hard it can be to design a correct synchronized algorithm. Tanenbaum’s Modern operating …

## C# Code Contracts: What can be statically proven and what can’t?

I might say I’m getting quite familiar with Code Contracts: I’ve read and understood most of the user manual and have been using them for quite a while now, but I still have questions. When I search …

## Find subset with elements that are furthest apart from eachother

I have an interview question that I can’t seem to figure out. Given an array of size N, find the subset of size k such that the elements in the subset are the furthest apart from each other. In other …

Does anyone know any examples of the following?
Proof developments about regular expressions (possibly extended with backreferences) in proof assistants (such as Coq).
Programs in dependently-typed …

## General proof strategies to show correctness of recursive functions?

I’m wondering if there exists any rule/scheme of proceeding with proving algorithm correctness? For example we have a function \$F\$ defined on the natural numbers and defined below:

function F(n,k)

## Is this always true: fmap (foldr f z) . sequenceA = foldr (liftA2 f) (pure z)

import Prelude hiding (foldr)

import Control.Applicative
import Data.Foldable
import Data.Traversable

left, right :: (Applicative f, Traversable t) => (a -> b -> b) -> b -> t (f a) -&…