# Tag Info

### 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 ...
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 ...
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 ...

### 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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
Accepted

### In the Curry-Howard isomorphism as applied to Hindley-Milner types, what proposition corresponds to a -> [a]?

One way to interpret types as logic is as the existence conditions for values of the return type. So f :: a -> [a] us the theorem that, if there exists a value ...
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 ...
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 ...

### 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 ...
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 ...
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 ...

### 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. ...

### 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 ...

### 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 ...
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 ...

### 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 ...

### In the Curry-Howard isomorphism as applied to Hindley-Milner types, what proposition corresponds to a -> [a]?

List types are a bit strange as proposition. They don't really correspond to anything directly familiar but it is easy to see what they are equivalent to. Because nil exists you can always prove ...

### 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 ...

### 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 ...

### 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.

### 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 ...

### 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 ...

### 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....
1 vote

### 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 ...
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 ...
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 ...

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