Source / pinned edition
The Open Logic Text
Source of package logic.intuitionistic · The Open Logic Text (Open Logic Project), commit 1e960be
- work
- urn:logic:clir:intuitionistic#OPEN_LOGIC
- number
- The Open Logic Text (Open Logic Project), commit 1e960be
- kind
- urn:logic:clir:intuitionistic#treatise
content/intuitionistic-logic/introduction/axiomatic-derivations.tex at commit 1e960be (master, 2026-08-14)
- edition
- urn:logic:clir:intuitionistic#OLP_INT_INTRODUCTION_AXIOMATIC_DERIVATIONS_ED
- language
- en
- officiality
- official
- materialisation
- PINNED_OFFICIAL_BYTES
- life cycle
- adopted: 2026-08-14
Publications
| URI | Type | documentHash | Retrieved |
|---|---|---|---|
| https://raw.githubusercontent.com/OpenLogicProject/OpenLogic/1e960beff9ed7835bf3e3f1335e21af3439cd107/content/intuitionistic-logic/introduction/axiomatic-derivations.tex | application/x-tex; charset=utf-8 | sha256:52d798d7dafbabc8b9a386ee1ed6ec0fa3b565217a9f4013242300ab3a621827 | 2026-09-08T00:00:00Z |
Fragments — 1
content/intuitionistic-logic/introduction/axiomatic-derivations.tex · section · referenced by: 1
en · official · sha256:de96217946bc974d6d29e328d69d0e127a37d433136352dd85fc3afbcf8baa41
% part: intuitionistic-logic
% chapter: introduction
% section: axiomatic-derivations
\documentclass[../../../include/open-logic-section]{subfiles}
\begin{document}
\olfileid{int}{int}{axd}
\olsection{Axiomatic \usetoken{P}{derivation}}
Axiomatic !!{derivation}s for intuitionistic propositional logic are
the conceptually simplest, and historically first, !!{derivation}
systems. They work just as in classical propositional logic.
\begin{defn}[!!^{derivability}]
If $\Gamma$ is a set of !!{formula}s of $\Lang L$ then a
\emph{!!{derivation}} from $\Gamma$ is a finite sequence $!A_1$,
\dots,~$!A_n$ of !!{formula}s where for each $i \le n$ one of the
following holds:
\begin{enumerate}
\item $!A_i \in \Gamma$; or
\item $!A_i$ is an axiom; or
\item $!A_i$ follows from some $!A_j$ and $!A_k$ with $j < i$ and $k <
i$ by modus ponens, i.e., $!A_k \ident !A_j \lif !A_i$.
\end{enumerate}
\end{defn}
\begin{defn}[Axioms]
The set of $\PAx$ of \emph{axioms} for the intuitionistic propositional logic
are all !!{formula}s of the following forms:
\begin{align}
& (!A \land !B) \lif !A \ollabel{ax:land1}\\
& (!A \land !B) \lif !B \ollabel{ax:land2}\\
& !A \lif (!B \lif (!A \land !B)) \ollabel{ax:land3}\\
& !A \lif (!A \lor !B) \ollabel{ax:lor1}\\
& !A \lif (!B \lor !A) \ollabel{ax:lor2}\\
& (!A \lif !C) \lif ((!B \lif !C) \lif ((!A \lor !B) \lif !C)) \ollabel{ax:lor3}\\
& !A \lif (!B \lif !A) \ollabel{ax:lif1}\\
& (!A \lif (!B \lif !C)) \lif ((!A \lif !B) \lif (!A \lif !C)) \ollabel{ax:lif2}\\
& \lfalse \lif !A \ollabel{ax:lfalse1}
\end{align}
\end{defn}
\begin{defn}[!!^{derivability}]
!!^a{formula}~$!A$ is \emph{!!{derivable}} from $\Gamma$, written
$\Gamma \Proves !A$, if there is !!a{derivation} from $\Gamma$ ending
in $!A$.
\end{defn}
\begin{defn}[Theorems]
!!^a{formula}~$!A$ is a \emph{theorem} if there is !!a{derivation}
of~$!A$ from the empty set. We write $\Proves !A$ if $!A$ is a
theorem and $\Proves/ !A$ if it is not.
\end{defn}
\begin{prop}
If $\Gamma \Proves !A$ in the axiomatic !!{derivation} system for
intuitionistic logic, $\Gamma \Proves !A$ also in
classical logic. In particular, if $!A$ is an intuitionistic
theorem, it is also a classical theorem.
\end{prop}
\begin{proof}
Every intuitionistic axiom is also a classical axiom, so every
!!{derivation} in intuitionistic logic is also !!a{derivation} in
classical logic.
\end{proof}
\end{document}Referencing norms: AXD_INT
content/intuitionistic-logic/introduction/bhk-interpretation.tex at commit 1e960be (master, 2026-08-14)
- edition
- urn:logic:clir:intuitionistic#OLP_INT_INTRODUCTION_BHK_INTERPRETATION_ED
- language
- en
- officiality
- official
- materialisation
- PINNED_OFFICIAL_BYTES
- life cycle
- adopted: 2026-08-14
Publications
| URI | Type | documentHash | Retrieved |
|---|---|---|---|
| https://raw.githubusercontent.com/OpenLogicProject/OpenLogic/1e960beff9ed7835bf3e3f1335e21af3439cd107/content/intuitionistic-logic/introduction/bhk-interpretation.tex | application/x-tex; charset=utf-8 | sha256:6f8701c34618a8d310aa25f298ee2f9df549364ad6d9c75516964e8d82ae2540 | 2026-09-08T00:00:00Z |
Fragments — 1
content/intuitionistic-logic/introduction/bhk-interpretation.tex · section · referenced by: 4
en · official · sha256:86b1e7b4ef34a6bbb3053b9a57b675723fe3e4a9cf4ef328d0066af4be0e74e4
% part: intuitionistic-logic
% chapter: introduction
% section: bhk-interpretation
\documentclass[../../../include/open-logic-section]{subfiles}
\begin{document}
\olfileid{int}{int}{bhk}
\olsection{The Brouwer--Heyting--Kolmogorov Interpretation}
\begin{editorial}
Proofs of validity of intuitionistic propositions using the BHK
interpretation are confusing; they have to be explained better.
\end{editorial}
There is an informal constructive interpretation of the intuitionist
connectives, usually known as the Brouwer--Heyting--Kolmogorov
interpretation. It uses the notion of a ``construction,'' which you
may think of as a constructive proof. (We don't use ``proof'' in the
BHK interpretation so as not to get confused with the notion of
!!a{derivation} in a formal !!{derivation} system.) Based on this intuitive
notion, the BHK interpretation explains the meanings of the
intuitionistic connectives.
\begin{enumerate}
\item We assume that we know what constitutes a construction of an atomic
statement.
\item A construction of $!A_1 \land !A_2$ is a pair $\tuple{M_1, M_2}$
where $M_1$ is a construction of~$!A_1$ and $M_2$ is a construction
of~$!A_2$.
\item A construction of $!A_1 \lor !A_2$ is a pair $\tuple{s, M}$
where $s$ is~$1$ and $M$ is a construction of~$!A_1$, or $s$ is~$2$
and $M$ is a construction of~$!A_2$.
\item A construction of $!A \lif !B$ is a function that converts a
construction of~$!A$ into a construction of~$!B$.
\item There is no construction for~$\lfalse$ (absurdity).
\item $\lnot !A$ is defined as synonym for $!A \lif \lfalse$. That is,
a construction of $\lnot !A$ is a function converting a construction
of~$!A$ into a construction of~$\lfalse$.
\end{enumerate}
\begin{ex}
Take $\lnot \lfalse$ for example. A construction of it is a function
which, given any construction of $\lfalse$ as input, provides a
construction of~$\lfalse$ as output. Obviously, the identity
function~$\Id{}$ is such a construction: given a construction~$M$
of~$\lfalse$, $\Id{}(M) = M$ yields a construction of~$\lfalse$.
\end{ex}
Generally speaking, $\lnot !A$ means ``A construction of $!A$ is impossible''.
\begin{ex}
Let us prove $!A \lif \lnot \lnot !A$ for any proposition~$!A$, which
is $!A \lif ((!A \lif \lfalse) \lif \lfalse)$. The construction should
be a function~$f$ that, given a construction~$M$ of $!A$, returns a
construction~$f(M)$ of $(!A \lif \lfalse) \lif \lfalse$. Here is
how~$f$ constructs the construction of $(!A \lif \lfalse) \lif
\lfalse$: We have to define a function $g$ which, when given a
construction~$h$ of $!A \lif \lfalse$ as input, outputs a construction
of~$\lfalse$. We can define $g$ as follows: apply the input~$h$ to the
construction~$M$ of $!A$ (that we received earlier). Since the
output~$h(M)$ of $h$ is a construction of $\lfalse$, $f(M)(h) = h(M)$ is a
construction of~$\lfalse$ if $M$ is a construction of~$!A$.
\end{ex}
\begin{ex}
Let us give a construction for $\lnot(!A \land \lnot !A)$, i.e., $(!A
\land (!A \lif \lfalse)) \lif \lfalse$. This is a function~$f$ which,
given as input a construction~$M$ of $!A \land (!A \lif \lfalse)$,
yields a construction of~$\lfalse$. A construction of a conjunction
$!B_1 \land !B_2$ is a pair $\tuple{N_1, N_2}$ where $N_1$ is a
construction of~$!B_1$ and $N_2$ is a construction of~$!B_2$. We can
define functions $p_1$ and $p_2$ which recover from a construction of
$!B_1 \land !B_2$ the constructions of $!B_1$ and $!B_2$, respectively:
\begin{align*}
p_1(\tuple{N_1, N_2}) &= N_1\\
p_2(\tuple{N_1, N_2}) &= N_2
\end{align*}
Here is what $f$ does: First it applies $p_1$ to its input~$M$. That
yields a construction of~$!A$. Then it applies $p_2$ to~$M$, yielding
a construction of~$!A \lif \lfalse$. Such a construction, in turn, is
a function~$p_2(M)$ which, if given as input a construction of~$!A$,
yields a construction of~$\lfalse$. In other words, if we apply
$p_2(M)$ to $p_1(M)$, we get a construction of~$\lfalse$. Thus, we
can define $f(M) = p_2(M)(p_1(M))$.
\end{ex}
\begin{ex}
Let us give a construction of $((!A \land !B) \lif !C) \lif (!A \lif
(!B \lif !C))$, i.e., a function $f$ which turns a construction~$g$ of
$(!A \land !B) \lif !C$ into a construction of $(!A \lif (!B \lif
!C))$. The construction $g$ is itself a function (from constructions
of $!A \land !B$ to constructions of~$C$). And the output $f(g)$ is a
function~$h_g$ from constructions of $!A$ to functions from constructions
of~$!B$ to constructions of~$!C$.
Ok, this is confusing. We have to construct a certain function $h_g$,
which will be the output of $f$ for input~$g$. The input of~$h_g$ is a
construction~$M$ of~$!A$. The output of $h_g(M)$ should be a
function~$k_M$ from constructions~$N$ of~$!B$ to constructions
of~$!C$. Let $k_{g,M}(N) = g(\tuple{M, N})$. Remember that $\tuple{M,
N}$ is a construction of~$!A \land !B$. So $k_{g,M}$ is a
construction of $!B \lif !C$: it maps constructions~$N$ of~$!B$ to
constructions of~$!C$. Now let $h_g(M) = k_{g,M}$. That's a function
that maps constructions~$M$ of~$!A$ to constructions $k_{g,M}$ of $!B
\lif !C$. Now let $f(g) = h_g$. That's a function that maps
constructions $g$ of $(!A \land !B) \lif !C$ to constructions of $!A
\lif (!B \lif !C)$. Whew!{}
\end{ex}
The statement $!A \lor \lnot !A$ is called the Law of Excluded
Middle. We can prove it for some specific $!A$ (e.g., $\lfalse \lor
\lnot \lfalse$), but not in general. This is because the
intuitionistic disjunction requires a construction of one of the
disjuncts, but there are statements which currently can neither be
proved nor refuted (say, Goldbach's conjecture). However, you can't
refute the law of excluded middle either: that is, $\lnot \lnot (!A
\lor \lnot !A)$ holds.
\begin{ex}
To prove $\lnot \lnot (!A \lor \lnot !A)$, we need a function~$f$ that
transforms a construction of $\lnot(!A \lor \lnot !A)$, i.e., of $(!A
\lor (!A \lif \lfalse)) \lif \lfalse$, into a construction
of~$\lfalse$. In other words, we need a function $f$ such that $f(g)$
is a construction of~$\lfalse$ if $g$ is a construction of $\lnot(!A
\lor \lnot !A)$.
Suppose $g$ is a construction of $\lnot(!A \lor \lnot !A)$, i.e., a
function that transforms a construction of $!A \lor \lnot !A$ into a
construction of~$\lfalse$. A construction of $!A \lor \lnot !A$ is a
pair $\tuple{s, M}$ where either $s = 1$ and $M$ is a construction of
$!A$, or $s = 2$ and $M$ is a construction of $\lnot !A$. Let $h_1$ be
the function mapping a construction~$M_1$ of $!A$ to a construction of
$!A \lor \lnot !A$: it maps $M_1$ to $\tuple{1, M_1}$. And let $h_2$
be the function mapping a construction~$M_2$ of $\lnot !A$ to a
construction of $!A \lor \lnot !A$: it maps $M_2$ to $\tuple{2, M_2}$.
Let $k$ be $\comp{h_1}{g}$: it is a function which, if given a
construction of~$!A$, returns a construction of~$\lfalse$, i.e., it is
a construction of~$!A \lif \lfalse$ or $\lnot !A$. Now let $l$ be
$\comp{h_2}{g}$. It is a function which, given a construction of
$\lnot !A$, provides a construction of~$\lfalse$. Since $k$ is a
construction of $\lnot !A$, $l(k)$ is a construction of~$\lfalse$.
Together, what we've done is describe how we can turn a
construction~$g$ of $\lnot(!A \lor \lnot !A)$ into a construction
of~$\lfalse$, i.e., the function $f$ mapping a construction~$g$ of
$\lnot(!A \lor \lnot !A)$ to the construction $l(k)$ of~$\lfalse$ is a
construction of $\lnot\lnot(!A \lor \lnot !A)$.
\end{ex}
As you can see, using the BHK interpretation to show the
intuitionistic validity of !!{formula}s quickly becomes cumbersome
and confusing. Luckily, there are better !!{derivation} systems for
intuitionistic logic, and more precise semantic interpretations.
\end{document}Referencing norms: BHK, BhkCovered, bhk_covered, bhk_requirement
content/intuitionistic-logic/introduction/constructive-reasoning.tex at commit 1e960be (master, 2026-08-14)
- edition
- urn:logic:clir:intuitionistic#OLP_INT_INTRODUCTION_CONSTRUCTIVE_REASONING_ED
- language
- en
- officiality
- official
- materialisation
- PINNED_OFFICIAL_BYTES
- life cycle
- adopted: 2026-08-14
Publications
| URI | Type | documentHash | Retrieved |
|---|---|---|---|
| https://raw.githubusercontent.com/OpenLogicProject/OpenLogic/1e960beff9ed7835bf3e3f1335e21af3439cd107/content/intuitionistic-logic/introduction/constructive-reasoning.tex | application/x-tex; charset=utf-8 | sha256:0e2e1481d7a5d642bbb24f9a77b1521b56c1aa7d17842dd6b8c9e21cdb6d9ad1 | 2026-09-08T00:00:00Z |
Fragments — 1
content/intuitionistic-logic/introduction/constructive-reasoning.tex · section · referenced by: 1
en · official · sha256:64437ddd0e0fded35f092fbbec39f9a5367081e3a501c51203980bfb13e61a9b
% part: intuitionistic-logic
% chapter: introduction
% section: constructive-reasoning
\documentclass[../../../include/open-logic-chapter]{subfiles}
\begin{document}
\olfileid{int}{int}{cr}
\section{Constructive Reasoning}
In contrast to extensions of classical logic by modal operators or
second-order quantifiers, intuitionistic logic is ``non-classical'' in
that it restricts classical logic. Classical logic is
\emph{non-constructive} in various ways. Intuitionistic logic is
intended to capture a more ``constructive'' kind of reasoning
characteristic of a kind of constructive mathematics. The following
examples may serve to illustrate some of the underlying motivations.
Suppose someone claimed that they had determined a natural number~$n$
with the property that if $n$ is even, the Riemann hypothesis is
true, and if $n$ is odd, the Riemann hypothesis is false. Great
news!{} Whether the Riemann hypothesis is true or not is one of the
big open questions of mathematics, and they seem to have reduced the
problem to one of calculation, that is, to the determination of
whether a specific number is even or not.
What is the magic value of~$n$? They describe it as follows: $n$ is
the natural number that is equal to $2$ if the Riemann hypothesis is
true, and $3$ otherwise.
Angrily, you demand your money back. From a classical point of view,
the description above does in fact determine a unique value of $n$;
but what you really want is a value of $n$ that is given
\emph{explicitly}.
To take another, perhaps less contrived example, consider the
following question. We know that it is possible to raise an irrational
number to a rational power, and get a rational result. For example,
$\sqrt{2}^2 = 2$. What is less clear is whether or not it is possible
to raise an irrational number to an \emph{irrational} power, and get a
rational result. The following theorem answers this in the
affirmative:
\begin{thm}
There are irrational numbers $a$ and $b$ such that $a^b$ is rational.
\end{thm}
\begin{proof}
Consider $\sqrt{2}^{\sqrt{2}}$. If this is rational, we are done:
we can let $a = b = \sqrt{2}$. Otherwise, it is irrational. Then we
have
\[
(\sqrt{2}^{\sqrt{2}})^{\sqrt{2}} = \sqrt{2}^{\sqrt{2} \cdot
\sqrt{2}} = \sqrt{2}^2 = 2,
\]
which is rational. So, in this case, let $a$ be
$\sqrt{2}^{\sqrt{2}}$, and let $b$ be~$\sqrt 2$.
\end{proof}
Does this constitute a valid proof? Most mathematicians feel that it
does. But again, there is something a little bit unsatisfying here: we
have proved the existence of a pair of real numbers with a certain
property, without being able to say \emph{which} pair of numbers it
is. It is possible to prove the same result, but in such a way that
the pair $a$, $b$ \emph{is} given in the proof: take $a = \sqrt{3}$
and $b = \log_3 4$. Then
\[
a^b = \sqrt{3}^{\log_3 4} = 3^{1/2 \cdot \log_3 4} = (3^{\log_3
4})^{1/2} = 4^{1/2}= 2,
\]
since $3^{\log_3 x} = x$.
Intuitionistic logic is designed to capture a kind of reasoning where
moves like the one in the first proof are disallowed. Proving the
existence of an $x$ satisfying~$!A(x)$ means that you have to give a
specific~$x$, and a proof that it satisfies $!A$, like in the second
proof. Proving that $!A$ or $!B$ holds requires that you can prove one
or the other.
Formally speaking, intuitionistic logic is what you get if
you restrict !!a{derivation} system for classical logic in a certain
way. From the mathematical point of view, these are
just formal deductive systems, but, as already noted, they are
intended to capture a kind of mathematical reasoning. One can take this
to be the kind of reasoning that is justified on a certain
philosophical view of mathematics (such as Brouwer's intuitionism);
one can take it to be a kind of mathematical reasoning which is more
``concrete'' and satisfying (along the lines of Bishop's
constructivism); and one can argue about whether or not the formal
description captures the informal motivation. But whatever
philosophical positions we may hold, we can study intuitionistic logic
as a formally presented logic; and for whatever reasons, many
mathematical logicians find it interesting to do so.
\end{document}Referencing norms: IPL
content/intuitionistic-logic/introduction/syntax.tex at commit 1e960be (master, 2026-08-14)
- edition
- urn:logic:clir:intuitionistic#OLP_INT_INTRODUCTION_SYNTAX_ED
- language
- en
- officiality
- official
- materialisation
- PINNED_OFFICIAL_BYTES
- life cycle
- adopted: 2026-08-14
Publications
| URI | Type | documentHash | Retrieved |
|---|---|---|---|
| https://raw.githubusercontent.com/OpenLogicProject/OpenLogic/1e960beff9ed7835bf3e3f1335e21af3439cd107/content/intuitionistic-logic/introduction/syntax.tex | application/x-tex; charset=utf-8 | sha256:ae3a1b269130b8527b095f31c2eb1ee75bb562ba9a69105052d56a0588b67186 | 2026-09-08T00:00:00Z |
Fragments — 1
content/intuitionistic-logic/introduction/syntax.tex · section · referenced by: 1
en · official · sha256:f331f2bca166ba4be8c2f8f333a19a8f8c68c2959a75386712bda9a626a5b185
% part: intuitionistic-logic
% chapter: introduction
% section: syntax
\documentclass[../../../include/open-logic-section]{subfiles}
\begin{document}
\olfileid{int}{int}{syn}
\olsection{Syntax of Intuitionistic Logic}
The syntax of intuitionistic logic is the same as that for
propositional logic. In classical propositional logic it is possible
to define connectives by others, e.g., one can define $!A \lif !B$ by
$\lnot !A \lor !B$, or $!A \lor !B$ by $\lnot(\lnot !A \land \lnot
!B)$. Thus, presentations of classical logic often introduce some
connectives as abbreviations for these definitions. This is not so in
intuitionistic logic, with two exceptions: $\lnot !A$ can be---and
often is---defined as an abbreviation for $!A \lif \lfalse$. Then, of
course, $\lfalse$ must not itself be defined!{} Also, $!A \liff !B$
can be defined, as in classical logic, as $(!A \lif !B) \land (!B \lif
!A)$.
!!^{formula}s of propositional intuitionistic logic are built up from
\emph{!!{propositional variable}s} and the propositional
constant~$\lfalse$ using \emph{logical connectives}. We have:
\begin{enumerate}
\item !!^a{denumerable} set~$\PVar$ of !!{propositional variable}s $\Obj p_0$,
$\Obj p_1$, \dots
\item The propositional constant for !!{falsity}~$\lfalse$.
\item The logical connectives: $\land$
(conjunction), $\lor$ (disjunction), $\lif$ (conditional)
\item Punctuation marks: (, ), and the comma.
\end{enumerate}
\begin{defn}[Formula]
\ollabel{defn:formulas} The set~$\Frm[L_0]$ of \emph{!!{formula}s} of
propositional intuitionistic logic is defined inductively as follows:
\begin{enumerate}
\item $\lfalse$ is an atomic !!{formula}.
\item Every !!{propositional variable}~$\Obj p_i$ is an atomic
!!{formula}.
\item If $!A$ and $!B$ are !!{formula}s, then $(!A \land
!B)$ is !!a{formula}.
\item If $!A$ and $!B$ are !!{formula}s, then $(!A \lor !B)$
is !!a{formula}.
\item If $!A$ and $!B$ are !!{formula}s, then $(!A \lif !B)$
is !!a{formula}.
\tagitem{limitClause}{Nothing else is !!a{formula}.}{}
\end{enumerate}
\end{defn}
In addition to the primitive connectives introduced above, we also use
the following \emph{defined} symbols: $\lnot$ (negation) and $\liff$
(!!{biconditional}). Formulas constructed using the defined operators
are to be understood as follows:
\begin{enumerate}
\item $\lnot !A$ abbreviates $!A \lif \lfalse$.
\item $!A \liff !B$ abbreviates $(!A \lif !B) \land (!B
\lif !A)$.
\end{enumerate}
Although $\lnot$ is officially treated as an abbreviation, we will
sometimes give explicit rules and clauses in definitions for~$\lnot$
as if it were primitive. This is mostly so we can state practice
problems.
\end{document}Referencing norms: IFOL
content/intuitionistic-logic/semantics/relational-models.tex at commit 1e960be (master, 2026-08-14)
- edition
- urn:logic:clir:intuitionistic#OLP_INT_SEMANTICS_RELATIONAL_MODELS_ED
- language
- en
- officiality
- official
- materialisation
- PINNED_OFFICIAL_BYTES
- life cycle
- adopted: 2026-08-14
Publications
| URI | Type | documentHash | Retrieved |
|---|---|---|---|
| https://raw.githubusercontent.com/OpenLogicProject/OpenLogic/1e960beff9ed7835bf3e3f1335e21af3439cd107/content/intuitionistic-logic/semantics/relational-models.tex | application/x-tex; charset=utf-8 | sha256:ceab9f9d7f437b8b7180b065125b178bb5b3bdcbd15f9cb8900c516875173ae0 | 2026-09-08T00:00:00Z |
Fragments — 1
content/intuitionistic-logic/semantics/relational-models.tex · section · referenced by: 2
en · official · sha256:cfd759f0f325373f88de276d78710ec8242471617d9c5b84334463d4a379eb00
% part: intuitionistic-logic
% chapter: semantics
% section: relational-models
\documentclass[../../../include/open-logic-section]{subfiles}
\begin{document}
\olfileid{int}{sem}{rel}
\olsection{\usetoken{P}{relational model}}
In order to give a precise semantics for intuitionistic propositional
logic, we have to give a definition of what counts as a model relative
to which we can evaluate !!{formula}s. On the basis of such a
definition it is then also possible to define semantics notions such
as validity and entailment. One such semantics is given by
!!{relational model}s.
\begin{defn}
!!^a{relational model} for intuitionistic propositional logic is a
triple $\mModel{M} = \tuple{W, R, V}$, where
\begin{enumerate}
\item $W$ is a non-empty set,
\item $R$ is a partial order (i.e., a reflexive, antisymmetric, and transitive binary relation) on~$W$, and
\item $V$ is a function assigning to each !!{propositional
variable}~$p$ a subset of~$W$, such that
\item $V$ is monotone with respect to $R$, i.e., if $w
\in V(p)$ and $Rww'$, then $w' \in V(p)$.
\end{enumerate}
\end{defn}
\begin{defn}\ollabel{defn:true-at-w}
We define the notion of $!A$ \emph{being true at $w$ in
$\mModel{M}$}, $\mSat{M}{!A}[w]$, inductively as follows:
\begin{enumerate}
\item \indcase{!A}{p}{$\mSat{M}{\indfrm}[w]$ iff $w \in V(p)$.}
\item \indcase{!A}{\lfalse}{not $\mSat{M}{\indfrm}[w]$}.
\item \indcase{!A}{\lnot !B}{$\mSat{M}{\indfrm}[w]$ iff for no
$w'$ such that $Rww'$, $\mSat{M}{!B}[w']$}.
\item \indcase{!A}{!B \land !C}{$\mSat{M}{\indfrm}[w]$ iff
$\mSat{M}{!B}[w]$ and $\mSat{M}{!C}[w]$}.
\item \indcase{!A}{!B \lor !C}{$\mSat{M}{\indfrm}[w]$ iff
$\mSat{M}{!B}[w]$ or $\mSat{M}{!C}[w]$ (or both)}.
\item \indcase{!A}{!B \lif !C}{$\mSat{M}{\indfrm}[w]$ iff for every
$w'$ such that $Rww'$, not $\mSat{M}{!B}[w']$ or
$\mSat{M}{!C}[w']$} (or both).
\end{enumerate}
We write $\mSat/{M}{!A}[w]$ if not $\mSat{M}{!A}[w]$. If $\Gamma$ is
a set of !!{formula}s, $\mSat{M}{\Gamma}[w]$ means $\mSat{M}{!B}[w]$
for all $!B \in \Gamma$.
\end{defn}
\begin{prob}
Show that according to \olref[int][sem][rel]{defn:true-at-w},
$\mSat{M}{\lnot !A}[w]$ iff $\mSat{M}{!A \lif \lfalse}[w]$.
\end{prob}
\begin{prop}\ollabel{prop:true-monotonic}
Truth at worlds is monotonic with respect to~$R$, i.e., if
$\mSat{M}{!A}[w]$ and $Rww'$, then $\mSat{M}{!A}[w']$.
\end{prop}
\begin{proof}
Exercise.
\end{proof}
\begin{prob}
Prove \olref[int][sem][rel]{prop:true-monotonic}.
\end{prob}
\end{document}Referencing norms: KRIPKE_MODEL, MONOTONICITY
content/intuitionistic-logic/semantics/semantic-notions.tex at commit 1e960be (master, 2026-08-14)
- edition
- urn:logic:clir:intuitionistic#OLP_INT_SEMANTICS_SEMANTIC_NOTIONS_ED
- language
- en
- officiality
- official
- materialisation
- PINNED_OFFICIAL_BYTES
- life cycle
- adopted: 2026-08-14
Publications
| URI | Type | documentHash | Retrieved |
|---|---|---|---|
| https://raw.githubusercontent.com/OpenLogicProject/OpenLogic/1e960beff9ed7835bf3e3f1335e21af3439cd107/content/intuitionistic-logic/semantics/semantic-notions.tex | application/x-tex; charset=utf-8 | sha256:e181f2cc2add672ac76ae6cf3e011d3242479e1a1ff5f8e0f679eb1eda8f62fb | 2026-09-08T00:00:00Z |
Fragments — 1
content/intuitionistic-logic/semantics/semantic-notions.tex · section
en · official · sha256:019b0df8ea379bece2fbf8615a7b99cb5cf5c311ff30be33dc11d1238aa144e8
% part: intuitionistic-logic
% chapter: semantics
% section: semantic-notions
\documentclass[../../../include/open-logic-section]{subfiles}
\begin{document}
\olfileid{int}{sem}{sem}
\olsection{Semantic Notions}
\begin{defn}
We say $!A$ is \emph{true in the model $\mModel{M} = \tuple{W,R,V}$,} $
\mSat{M}{!A}$, iff $\mSat{M}{!A}[w]$ for all $w \in W$.
$!A$ is \emph{valid}, $\Entails !A$, iff it is true in all models.
We say a set of !!{formula}s~$\Gamma$ \emph{entails}~$!A$, $\Gamma
\Entails !A$, iff for every model~$\mModel{M}$ and every~$w$ such
that $\mSat{M}{\Gamma}[w]$, $\mSat{M}{!A}[w]$.
\end{defn}
\begin{prop}\ollabel{prop:sat-entails}
\begin{enumerate}
\item\ollabel{prop:sat-entails1} If $\mSat{M}{\Gamma}[w]$ and
$\Gamma \Entails !A$, then $\mSat{M}{!A}[w]$.
\item\ollabel{prop:sat-entails2} If $\mSat{M}{\Gamma}$ and $\Gamma
\Entails !A$, then $\mSat{M}{!A}$.
\end{enumerate}
\end{prop}
\begin{proof}
\begin{enumerate}
\item Suppose $\mSat{M}{\Gamma}$. Since $\Gamma \Entails !A$, we
know that if $\mSat{M}{\Gamma}[w]$, then $\mSat{M}{!A}[w]$. Since
$\mSat{M}{\Gamma}[u]$ for all every $u \in W$,
$\mSat{M}{\Gamma}[w]$. Hence $\mSat{M}{!A}[w]$.
\item Follows immediately from \olref{prop:sat-entails1}.
\end{enumerate}
\end{proof}
\begin{defn}\ollabel{defn:restrict}
Suppose $\mModel{M}$ is a relational model and $w \in W$. The
\emph{restriction} $\mModel{M}_w=\tuple{W_w, R_w, V_w}$
of~$\mModel{M}$ to~$w$ is given by:
\begin{align*}
W_w & = \Setabs{u \in W}{Rwu},\\
R_w & = R \cap (W_w)^2, \text{ and}\\
V_w(p) & = V(p) \cap W_w.
\end{align*}
\end{defn}
\begin{prop}\ollabel{prop:restrict}
$\mSat{M}{!A}[w]$ iff $\mSat{M_w}{!A}$.
\end{prop}
\begin{prob}
Prove \olref[int][sem][sem]{prop:restrict}.
\end{prob}
\begin{prop}
Suppose for every model~$\mModel{M}$ such that $\mSat{M}{\Gamma}$,
$\mSat{M}{!A}$. Then $\Gamma \Entails !A$.
\end{prop}
\begin{proof}
Suppose that $\mSat{M}{\Gamma}[w]$. By the \olref{prop:restrict}
applied to every~$!B \in \Gamma$, we have $\mSat{M_w}{\Gamma}$. By
the assumption, we have $\mSat{M_w}{!A}$. By \olref{prop:restrict}
again, we get $\mSat{M}{!A}[w]$.
\end{proof}
\end{document}content/intuitionistic-logic/soundness-completeness/completeness-thm.tex at commit 1e960be (master, 2026-08-14)
- edition
- urn:logic:clir:intuitionistic#OLP_INT_SOUNDNESS_COMPLETENESS_COMPLETENESS_THM_ED
- language
- en
- officiality
- official
- materialisation
- PINNED_OFFICIAL_BYTES
- life cycle
- adopted: 2026-08-14
Publications
| URI | Type | documentHash | Retrieved |
|---|---|---|---|
| https://raw.githubusercontent.com/OpenLogicProject/OpenLogic/1e960beff9ed7835bf3e3f1335e21af3439cd107/content/intuitionistic-logic/soundness-completeness/completeness-thm.tex | application/x-tex; charset=utf-8 | sha256:810866d495adead851b265f7e62f0c993a3d49fc0f42e901bf0acc24f32efe3c | 2026-09-08T00:00:00Z |
Fragments — 1
content/intuitionistic-logic/soundness-completeness/completeness-thm.tex · section
en · official · sha256:925771a788740e61733f15bc8cfab7a6cabf2c96824607e90025935b02d42a6c
% part: intuitionistic-logic
% chapter: soundness-completeness
% section: completeness-thm
\documentclass[../../../include/open-logic-section]{subfiles}
\begin{document}
\olfileid{int}{sc}{cpl}
\olsection{The Completeness Theorem}
\begin{thm}\ollabel{thm:completeness}
If $\Gamma \Entails !A$ then $\Gamma \Proves !A$.
\end{thm}
\begin{proof}
We prove the contrapositive: Suppose $\Gamma \Proves/ !A$. Then by
\olref[lin]{lem:lindenbaum}, there is a prime set~$\Gamma^*
\supseteq \Gamma$ such that $\Gamma^* \Proves/ !A$. Consider the
canonical model~$\mModel{M(\Gamma^*)}$ for $\Gamma^*$ as defined in
\olref[mod]{defn:canonical-model}. For any $!B \in \Gamma$, $\Gamma^*
\Proves !B$. Note that $\Gamma^*(\emptyseq) = \Gamma^*$. By the Truth
Lemma (\olref[tru]{lem:truth}), we have
$\mSat{M(\Gamma^*)}{!B}[\emptyseq]$ for all $!B \in \Gamma$ and
$\mSat/{M(\Gamma^*)}{!A}[\emptyseq]$. This shows that $\Gamma
\Entails/ !A$.
\end{proof}
\begin{prob}
Show that if $!A$ only contains !!{propositional variable}s, $\lor$,
and~$\land$, then $\Entails/ !A$. Use this to conclude that $\lif$ is
not definable in intuitionistic logic from $\lor$ and~$\land$.
\end{prob}
\begin{prob}
By using the completeness theorem prove that if $\Proves !A \lor !B$ then
$\Proves !A$ or $\Proves !B$. (Hint: Assume $\mSat/{M_1}{!A}$ and
$\mSat/{M_2}{!B}$ and construct a new model $\mModel{M}$ such that
$\mSat/{M}{!A \lor !B}$.)
\end{prob}
\begin{prob}
Show that if $\mModel{M}$ is a relational model using a linear order then
$\mSat{M}{(!A \lif !B)\lor(!B \lif !A)}$.
\end{prob}
\end{document}content/intuitionistic-logic/soundness-completeness/soundness-nd.tex at commit 1e960be (master, 2026-08-14)
- edition
- urn:logic:clir:intuitionistic#OLP_INT_SOUNDNESS_COMPLETENESS_SOUNDNESS_ND_ED
- language
- en
- officiality
- official
- materialisation
- PINNED_OFFICIAL_BYTES
- life cycle
- adopted: 2026-08-14
Publications
| URI | Type | documentHash | Retrieved |
|---|---|---|---|
| https://raw.githubusercontent.com/OpenLogicProject/OpenLogic/1e960beff9ed7835bf3e3f1335e21af3439cd107/content/intuitionistic-logic/soundness-completeness/soundness-nd.tex | application/x-tex; charset=utf-8 | sha256:2e1aae17af3a524802ebaa08e0a2f16f6b1014f0a06d697757a9ceddce02ab93 | 2026-09-08T00:00:00Z |
Fragments — 1
content/intuitionistic-logic/soundness-completeness/soundness-nd.tex · section
en · official · sha256:a21f6ebbcd23aee5024cfdea8534d751c95b7026a6b5fbf47dcc3cc90df75b51
% part: intuitionistic-logic
% chapter: soundness-completeness
% section: soundness-nd
\documentclass[../../../include/open-logic-section]{subfiles}
\begin{document}
\olfileid{int}{sc}{snd}
\olsection{Soundness of Natural Deduction}
We will now prove soundness of natural deduction with regards to the
relational semantics, that is, showing that if !!a{formula} is !!{derivable}
from a set of assumptions then the set of assumptions entails the
!!{formula}.
\begin{thm}[Soundness]
\ollabel{thm:soundness}
If $\Gamma \Proves !A$, then $ \Gamma \Entails !A$.
\end{thm}
\begin{proof}
We prove that if $\Gamma \Proves !A$, then $\Gamma \Entails !A$.
The proof is by induction on the !!{derivation} of~$!A$
from~$\Gamma$.
\begin{enumerate}
\item If the !!{derivation} consists of just the assumption~$!A$, we
have $!A \Proves !A$, and want to show that $!A \Entails !A$.
Suppose that $\mSat{M}{!A}[w]$. Then trivially $\mSat{M}{!A}[w]$.
\item The !!{derivation} ends in $\Intro{\land}$:
\iftag{probAnd}{Exercise.}{The !!{derivation}s of the premises
$!B$ from !!{undischarged} assumptions~$\Gamma$ and of~$!C$ from
!!{undischarged} assumptions~$\Delta$ show that $\Gamma \Proves
!B$ and $\Delta \Proves !C$. By induction hypothesis we have
that $\Gamma \Entails !B$ and $\Delta \Entails !C$. We have to
show that $\Gamma \cup \Delta \Entails !A \land !B$, since the
!!{undischarged} assumptions of the entire !!{derivation} are
$\Gamma$ together with $\Delta$. So suppose $\mSat{M}{\Gamma
\cup \Delta}[w]$. Then also $\mSat{M}{\Gamma}[w]$. Since $\Gamma
\Entails !B$, $\mSat{M}{!B}[w]$. Similarly, $\mSat{M}{!C}[w]$. So
$\mSat{M}{!B \land !C}[w]$.}
\item The !!{derivation} ends in $\Elim{\land}$:
\iftag{probAnd}{Exercise.}{The !!{derivation} of the premise $!B
\land !C$ from !!{undischarged} assumptions $\Gamma$ shows
that $\Gamma \Proves !B \land !C$. By induction hypothesis,
$\Gamma \Entails !B \land !C$. We have to show that $\Gamma
\Entails !B$. So suppose $\mSat{M}{\Gamma}[w]$. Since $\Gamma
\Entails !B \land !C$, $\mSat{M}{!B \land !C}[w]$. Then also
$\mSat{M}{!B}[w]$. Similarly if $\Elim\land$ ends in~$!C$, then
$\Gamma \Entails !C$.}
\item The !!{derivation} ends in $\Intro{\lor}$:
\iftag{probOr}{Exercise.}{Suppose the premise is $!B$, and the
!!{undischarged} assumptions of the !!{derivation} ending
in~$!B$ are $\Gamma$. Then we have $\Gamma \Proves !B$ and by
inductive hypothesis, $\Gamma \Entails !B$. We have to show that
$\Gamma \Entails !B \lor !C$. Suppose $\mSat{M}{\Gamma}[w]$. Since
$\Gamma \Entails !B$, $\mSat{M}{!B}[w]$. But then also $\mSat{M}{!B
\lor !C}[w]$. Similarly, if the premise is~$!C$, we have that
$\Gamma \Entails !C$.}
\item The !!{derivation} ends in~$\Elim{\lor}$:
\iftag{probOr}{Exercise.}{The !!{derivation}s ending in the
premises are of $!B \lor !C$ from !!{undischarged}
assumptions~$\Gamma$, of $!D$ from !!{undischarged} assumptions
$\Delta_1 \cup \{!B\}$, and of $!D$ from !!{undischarged}
assumptions~$\Delta_2 \cup \{!C\}$. So we have $\Gamma \Proves
!B \lor !C$, $\Delta_1 \cup \{!B\} \Proves !D$, and $\Delta_2
\cup \{!C\} \Proves !D$. By induction hypothesis, $\Gamma
\Entails !B \lor !C$, $\Delta_1 \cup \{!B\} \Entails !D$, and
$\Delta_2 \cup \{!C\} \Entails !D$. We have to prove that
$\Gamma \cup \Delta_1 \cup \Delta_2 \Entails !D$.
Suppose $\mSat{M}{\Gamma \cup \Delta_1 \cup \Delta_2}[w]$. Then
$\mSat{M}{\Gamma}[w]$ and since $\Gamma \Entails !B \lor !C$,
$\mSat{M}{!B \lor !C}[w]$. By definition of $\mSat{M}{}$, either
$\mSat{M}{!B}[w]$ or $\mSat{M}{!C}[w]$. So we distinguish cases:
(a)~$\mSat{M}{!B}$[w]. Then $\mSat{M}{\Delta_1 \cup \{!B\}}[w]$.
Since $\Delta_1 \cup !B \Entails !D$, we have $\mSat{M}{!D}[w]$.
(b)~$\mSat{M}{!C}[w]$. Then $\mSat{M}{\Delta_2 \cup \{!C\}}[w]$.
Since $\Delta_2 \cup !C \Entails !D$, we have $\mSat{M}{!D}[w]$. So
in either case, $\mSat{M}{!D}[w]$, as we wanted to show.}
\item The !!{derivation} ends with $\Intro{\lif}$ concluding~$!B\lif
!C$. Then the premise is~$!C$, and the !!{derivation} ending in
the premise has !!{undischarged} assumptions~$\Gamma \cup
\{!B\}$. So we have that $\Gamma \cup \{!B\} \Proves !C$, and by
induction hypothesis that $\Gamma \cup \{!B\} \Entails !C$. We
have to show that $\Gamma \Entails !B \lif !C$.
Suppose $\mSat{M}{\Gamma}[w]$. We want to show that for all
$w'$ such that $Rww'$, if $\mSat{M}{!B}[w']$, then
$\mSat{M}{!C}[w']$. So assume that $Rww'$ and
$\mSat{M}{!B}[w']$. By \olref[sem][rel]{prop:true-monotonic},
$\mSat{M}{\Gamma}[w']$. Since $\Gamma \cup \{!B\} \Entails !C$,
$\mSat{M}{!C}[w']$, which is what we wanted to show.
\item The !!{derivation} ends in $\Elim{\lif}$ and
conclusion~$!C$. The premises are $!B \lif !C$ and $!B$, with
!!{derivation}s from !!{undischarged} assumptions $\Gamma$,
$\Delta$. So we have $\Gamma \Proves !B \lif !C$ and $\Delta
\Proves !B$. By inductive hypothesis, $\Gamma \Entails !B \lif !C$
and $\Delta \Entails !B$. We have to show that $\Gamma \cup \Delta
\Entails !C$.
Suppose $\mSat{M}{\Gamma \cup \Delta}[w]$. Since
$\mSat{M}{\Gamma}[w]$ and $\Gamma \Entails !B \lif !C$,
$\mSat{M}{!B \lif !C}[w]$. By definition, this means that for all
$w'$ such that $Rww'$, if $\mSat{M}{!B}[w']$ then
$\mSat{M}{!C}[w']$. Since $R$ is reflexive, $w$ is among the $w'$
such that $Rww'$, i.e., we have that if $\mSat{M}{!B}[w]$ then
$\mSat{M}{!C}[w]$. Since $\mSat{M}{\Delta}[w]$ and $\Delta
\Entails !B$, $\mSat{M}{!B}[w]$. So, $\mSat{M}{!C}[w]$, as we
wanted to show.
\item The !!{derivation} ends in $\FalseInt$, concluding~$!A$. The
premise is $\lfalse$ and the !!{undischarged} assumptions of the
!!{derivation} of the premise are~$\Gamma$. Then $\Gamma \Proves
\lfalse$. By inductive hypothesis, $\Gamma \Entails \lfalse$. We
have to show $\Gamma \Entails !A$.
We proceed indirectly. If $\Gamma \Entails/ !A$ there is a
model~$\mModel{M}$ and world~$w$ such that $\mSat{M}{\Gamma}[w]$
and $\mSat/{M}{!A}[w]$. Since $\Gamma \Entails \lfalse$,
$\mSat{M}{\lfalse}[w]$. But that's impossible, since by
definition, $\mSat/{M}{\lfalse}[w]$. So $\Gamma \Entails !A$.
\item The !!{derivation} ends in $\Intro\lnot$: Exercise.
\item The !!{derivation} ends in $\Elim\lnot$: Exercise.
\end{enumerate}
\end{proof}
\begin{prob}
Complete the proof of \olref[int][sc][snd]{thm:soundness}. For the
cases for $\Intro\lnot$ and $\Elim\lnot$, use the definition of
$\mSat{M}{\lnot !A}[w]$ in \olref[int][sem][rel]{defn:true-at-w}, i.e.,
don't treat $\lnot !A$ as defined by $!A \lif \lfalse$.
\end{prob}
\begin{prob}
Show that the following !!{formula}s are not !!{derivable} in
intuitionistic logic:
\begin{enumerate}
\item $(!A \lif !B) \lor (!B \lif !A)$
\item $(\lnot\lnot !A \lif !A) \lif (!A \lor \lnot !A)$
\item $(!A \lif !B \lor !C) \lif \bigl((!A \lif !B)\lor(!A \lif !C)\bigr)$
\end{enumerate}
\end{prob}
\end{document}The hash beside the text is the sha256 of its exact bytes. It is the check that the text shown matches the one pinned in the package: a divergence fails the oracle’s static analysis.