Skip to main content
OverflowAI is here! AI power for your Stack Overflow for Teams knowledge community. Learn more
15 votes
Accepted

Is there an isomorphism between (subset of) category theory and relational algebra?

Let me articulate the Curry-Howard-Lambek correspondence with a bit of jargon which I'll explain. Lambek showed that the simply typed lambda calculus with products was the internal language of a ...
Derek Elkins left SE's user avatar
15 votes

Testing whether an arbitrary proof is circular?

The vast majority of proof systems don't allow for infinite, circular proofs, but they do so by making their langauges non-Turing complete. In a normal functional language, the only way to make a ...
Joey Eremondi's user avatar
10 votes
Accepted

Can a type system serve as a proof assistant for foreign functions?

Long story short: no you can't. A foreign function is like a black box and the type you ascribe to it is a promise you make: in the Curry-Howard correspondence that would correspond to adding an axiom ...
gallais's user avatar
  • 573
8 votes

Curry-Howard isomorphism and non-constructive logic

I think people sometimes disagree on what exactly Curry-Howard is. But, one way to look at it is an exact correspondence between the syntactic rules for logic and for type theory. For the ...
Dan Doel's user avatar
  • 2,697
7 votes
Accepted

Curry-Howard, void, and type checking in Haskell

I would find a different tutorial because the author of that one is fundamentally confused. They wrongly claim that $\neg a$ and $\bot\to a$ are equivalent ($a\to\bot$ would be correct), and also ...
benrg's user avatar
  • 2,147
7 votes
Accepted

Implementing mathematical theory of arithmetic in Haskell via Curry-Howard correspondence

Proofs in Haskell? Okay, first let's talk about the Curry-Howard correspondence. This says that one can view theorems as types and proofs as programs. However, it says nothing about which specific ...
Joey Eremondi's user avatar
6 votes
Accepted

Why algorithms calculating non-tirivial zeros can't be used as proofs of Riemann Hypothesis?

The fact of the matter is, if a proof exists, then a Curry-Howard version of the program exists too. That doesn't mean that it's easy to find, though. Undecidability still holds for Curry-Howard: if ...
Joey Eremondi's user avatar
6 votes
Accepted

How logic programming (especially ASP) is related to the reasoning in (first-order) logic?

Logic programming is proof search for some logic. Traditionally, this is the Horn clause fragment of first-order logic. Languages like lambdaProlog extend this to (intuitionistic) hereditary Harrop ...
Derek Elkins left SE's user avatar
5 votes
Accepted

forall a b, a -> b

Think of this in terms of the Curry-Howard isomorphism. What would this type look like as a theorem? For any propositions $A$ and $B$, $A \implies B$. Clearly this is not true, if it were, then we ...
Joey Eremondi's user avatar
5 votes

forall a b, a -> b

I know for pretty sure that there is a function with the type $f: \forall \alpha, \beta . \alpha \rightarrow \beta$, but I can't wrap my head over it. No, that type is not inhabited. There are no ...
chi's user avatar
  • 14.6k
5 votes
Accepted

Why Church-encoded types aren't sufficient to express inductive proofs?

How would you prove inside the pure CoC that the induction principle holds of the Church numerals? See Thomas Streicher's, Independence of the induction principle and the axiom of choice in the pure ...
Martin Berger's user avatar
5 votes
Accepted

Uses of the type Unit

Some other usages of the type Unit (I'm sure the list is not exhaustive): (1) The value of type Unit is used to simulate ...
Anton Trunov's user avatar
  • 3,479
5 votes
Accepted

Can lambda-calculus be used for knowledge representation?

The λ-calculus was invented to be a logic and foundation of mathematics (1-4). The most well-known logic to use λ-calculus for formulae (as opposed to proofs in the Curry-Howard ...
Martin Berger's user avatar
5 votes
Accepted

Is implication(function) more fundamental than lets say conjunction(product) in type theory?

For Agda, I think, as stated in the other question, that the fact that function types (or rather Π-types) are built-in while pairs (or even Σ-types) aren't so much is a reasonable argument that they ...
Derek Elkins left SE's user avatar
4 votes

Lambda calculus as the language of universal logic - connectives vs functions in lambda calculus?

You are on your way to discovering the Curry-Howard correspondence.
Andrej Bauer's user avatar
  • 30.5k
4 votes

Curry–Howard correspondence and functional programming "reliability"

The dependent types allow you to specify what properties your function should have, not just what its domain and codomain are. This way it becomes impossible to accidentally use the wrong function. ...
Andrej Bauer's user avatar
  • 30.5k
4 votes

Does the underlying computational calculus in type theories affect decidability?

I don't think that the term "modern" helps distinguish anything. One way to explain is to draw a distinction between "behavioral", or "semantic", type theories and "formal", or "syntactic", type ...
Robert Harper's user avatar
3 votes

Does the underlying computational calculus in type theories affect decidability?

You are probably looking for computational type theory and you should probably look into realizability theory as well, which explains how to interpret type theory (and higher-order logic) on top of ...
Andrej Bauer's user avatar
  • 30.5k
3 votes
Accepted

What are some examples of proofs that are also themselves "useful" programs?

Many constructive proofs could be useful. For example, to prove that every set of points in the plane (in general position) have a Delaunay triangulation, you would give the algorithm for producing ...
user32157's user avatar
  • 156
3 votes

Relation between Curry-Howard isomorphism and Kripke semantics for intuitionistic logic

Both Kripke semantics and propositions-as-types interpretation are sound and complete for the intuitionistic propositional calculus. In this sense they are equivalent. However, there are formulas in ...
Andrej Bauer's user avatar
  • 30.5k
3 votes

Curry-Howard isomorphism and non-constructive logic

While proof assistants typically use constructive mathematics, the Curry-Howard-Correspondence does not necessarily require constructivism. The important aspect of the correspondence is that the ...
NaCl's user avatar
  • 131
3 votes

Curry Howard correspondence to Predicate Logic?

To explain why I'm uncomfortable with Newsham's and (especially) Piponi's data wrappers ... (This is going to be more question than answer, but perhaps it'll work ...
AntC's user avatar
  • 487
3 votes

Curry-Howard isomorphism and non-constructive logic

The Curry-Howard correspondence is not crucial for functioning of a proof assistant. Unforunately, the term "Curry-Howard correspondence" seems to be misused nowadays for all sorts of things....
Andrej Bauer's user avatar
  • 30.5k
2 votes

Why algorithms calculating non-tirivial zeros can't be used as proofs of Riemann Hypothesis?

The programs that you describe are very good at searching for zeroes in an interval; they can find all of the zeroes of the form $s+it$ between $t=0$ and $t=10^9$, say, and show that all these zeroes ...
Steven Stadnicki's user avatar
2 votes

Uses of the type Unit

I can think of a couple: If a language makes a distinction between functions that return a value, and those that don't, it becomes difficult to stitch functions together. You have one set of ...
Jesse A's user avatar
  • 21
2 votes

Relation between Curry-Howard isomorphism and Kripke semantics for intuitionistic logic

For propositional logic, you're probably right. As far as quantifier logic goes: the Curry-Howard correspondence never included quantifiers and there isn't really any consensus or standard treatment ...
NinjaDarth's user avatar
2 votes

On the logical and categorical interpretation of lambda calculi and type systems

(My answer is only about how non-termination relates to inconsistency.) The general idea of the Curry-Howard correspondence is that a term having a type, corresponds to a proof for a theorem. A term ...
Gilles 'SO- stop being evil''s user avatar
2 votes

What is "the ability of classical control operators to return multiple times from a single term"?

The control operators in question allow you to capture continuations such that calling the continuation is in some sense equivalent to "returning from" the expression. so, for instance, in (...
Dan Doel's user avatar
  • 2,697
1 vote

What are the differences between LCF's Theorem and Automath's Prop?

The difference is in what kind of type theorem/Prop is. In Isabelle, theorem is a type in ...
Meven Lennon-Bertrand's user avatar
1 vote

Curry–Howard correspondence and functional programming "reliability"

The type system in FP languages helps you avoid a certain number of errors. The more you use various features of the type system, the more errors you can exclude. For example, if you need the list of ...
winitzki's user avatar
  • 281

Only top scored, non community-wiki answers of a minimum length are eligible