Logic and Modeling

Table of Contents

Decidability and Undecidability

Decision problems

Decision problem consists of set I and a predicate Y ⊆ I

Examples:

A decision problem Y ⊆ I is decidable if there is a program that tells for every i ∈ I whether i ∈ Y.

Termination problem

This problem is undecidable.

steps:

Post’s Correspondence Problem

Given n pairs of words: <w1, v1> , …, <wn, vn>

are there indices $i_1, i_2, …, i_k$ (k ≥ 1) s.t. when concatenated, $wi_1 wi_2 … wi_k = vi_1 vi_2 … vi_k $?

as a decision problem:

it’s undecidable.

the termination problem can be reduced to PCP – there is a computable function r that maps instances of termination problem to instances of PCP such that it holds: $P\text{ terminates on input w} \iff I_{<P, w>}\text{ has a solution}$

the validity problem in predicate logic is undecidable (no program that, given formula Φ, decides whether or not ⊨ Φ holds). PCP can be reduced to validity problem:

Then if we had program deciding validity for predicate logic, we would obtain PCP-solver. Not gonna work.

Undecidability of Validity and Provability

The validity problem in predicate logic is undecidable. There cannot be a program that, given any formula Φ, decides whether or not ⊨Φ holds.

The provability in predicate logic is undecidable. There cannot be a program that, given any formula Φ, decides whether or not ⊢ Φ holds. This follows from soundness and completeness theorem.

Undecidability of Satisfiability

for sentences Φ it holds:

there’s an easy reduction of validity problem to satisfiability problem.

The relations ⊨ and ⊢ in predicate logic are undecidable.