Questions tagged [logic]

Questions related to mathematical logic and its use in computer science

This tag is used for Logic in Computer Science and Mathematical Logic questions.

Do not use this tag for digital circuit design questions, use and tags.

1021 questions
99
votes
6 answers

Is there any concrete relation between Gödel's incompleteness theorem, the halting problem and universal Turing machines?

I've always thought vaguely that the answer to the above question was affirmative along the following lines. Gödel's incompleteness theorem and the undecidability of the halting problem both being negative results about decidability and established…
Marc van Leeuwen
  • 1,093
  • 1
  • 8
  • 13
79
votes
2 answers

What is coinduction?

I've heard of (structural) induction. It allows you to build up finite structures from smaller ones and gives you proof principles for reasoning about such structures. The idea is clear enough. But what about coinduction? How does it work? How can…
Dave Clarke
  • 20,345
  • 4
  • 70
  • 114
49
votes
6 answers

Learning Automated Theorem Proving

I am learning Automated Theorem Proving / SMT solvers / Proof Assistants by myself and post a series of questions about the process, starting here. Note that these topics are not easily digested without a background in (mathematical) logics. If you…
Guy Coder
  • 5,181
  • 2
  • 30
  • 65
39
votes
7 answers

Clear, intuitive derivation of the fixed-point combinator (Y combinator)?

The fixed-point combinator FIX (aka the Y combinator) in the (untyped) lambda calculus ($\lambda$) is defined as: FIX $\triangleq \lambda f.(\lambda x. f~(\lambda y. x~x~y))~(\lambda x. f~(\lambda y. x~x~y))$ I understand its purpose and I can trace…
39
votes
3 answers

What exactly is a logic?

An apology might be in due for asking another question about prerequisites, but I was confused about the starting points. I have come across various terms such as "Modal Logic", "Temporal logic", "First -order Logic", "Second order Logic" and…
Sheldon Kripke
  • 567
  • 4
  • 5
38
votes
3 answers

Intro to Martin-Löf type theory

What would be the best introduction to Per Martin-Löfs ideas about type theory? I've looked at some lectures from the Oregon PL summer school, but I'm still sort of puzzled by the following question: What is a type? I know what a set is, since you…
dst
  • 383
  • 4
  • 4
33
votes
2 answers

Equivalence of Büchi automata and linear $\mu$-calculus

It's a known fact that every LTL formula can be expressed by a Büchi $\omega$-automaton. But, apparently, Büchi automata are a more powerful, expressive model. I've heard somewhere that Büchi automata are equivalent to linear-time $\mu$-calculus…
30
votes
3 answers

Characterization of lambda-terms that have union types

Many textbooks cover intersection types in the lambda-calculus. The typing rules for intersection can be defined as follows (on top of the simply typed lambda-calculus with subtyping): $$ \dfrac{\Gamma \vdash M : T_1 \quad \Gamma \vdash M : T_2} …
Gilles 'SO- stop being evil'
  • 44,159
  • 8
  • 120
  • 184
27
votes
1 answer

Is there a typed SKI calculus?

Most of us know the correspondence between combinatory logic and lambda calculus. But I've never seen (maybe I haven't looked deep enough) the equivalent of "typed combinators", corresponding to the simply typed lambda calculus. Does such thing…
26
votes
3 answers

How to read typing rules?

I started reading more and more language research papers. I find it very interesting and a good way to learn more about programming in general. However, there usually comes a section where I always struggle with (take for instance part three of…
suls
  • 363
  • 3
  • 5
25
votes
7 answers

Why is A implies B true if A is false and B is false?

It seems to me that the 'implies' in English language does not mean the same thing as the logical operator 'implies', in a similar way how 'OR' word in most cases means 'Exclusive OR' in our everyday language use. Let's take two examples: If today…
yoyo_fun
  • 818
  • 1
  • 8
  • 18
25
votes
2 answers

What is beta equivalence?

In the script I am currently reading on the lambda calculus, beta equivalence is defined as this: The $\beta$-equivalence $\equiv_\beta$ is the smallest equivalence that contains $\rightarrow_\beta$. I have no idea what that means. Can someone…
magnattic
  • 557
  • 4
  • 11
25
votes
5 answers

$\lambda$-calculus with reflection

I'm looking for a simple calculus that supports reasoning about reflection, namely, the introspection and manipulation of running programs. Is there an untyped $\lambda$-calculus extension that enables one to convert $\lambda$-terms into a form…
Dave Clarke
  • 20,345
  • 4
  • 70
  • 114
24
votes
7 answers

How to construct XOR gate using only 4 NAND gate?

xor gate, now I need to construct this gate using only 4 nand gate a b out 0 0 0 0 1 1 1 0 1 1 1 0 the xor = (a and not b) or (not a and b), which is \begin{split}\overline{A}{B}+{A}\overline{B}\end{split} I know the answer but how to get the gate…
Timeless
  • 805
  • 1
  • 9
  • 16
23
votes
3 answers

Similarities and differences in major process algebras

To my knowledge, there are three major process algebras that have inspired a vast range of research into formal models of concurrency. These are: CCS and $\pi$-calculus both by Robin Milner CSP by Tony Hoare and ACP by Jan Bergstra and Jan Willem…
Dave Clarke
  • 20,345
  • 4
  • 70
  • 114
1
2 3
67 68