1 Introduction
The aim of the project behind the Logics of Evidence and Truth (LET’s), initiated by the publication of Carnielli and Rodrigues [Reference Carnielli and Rodrigues10], is to offer an interpretation of paraconsistent logics in which contradictions are epistemically viewed as conflicting evidence, where evidence for a proposition A is understood as reasons supporting the belief that A is true. Under this view, the project is antagonistic (or orthogonal) to the dialetheist approach, that is, the view that true contradictions exist, cf. Priest [Reference Priest19], since the LETs cannot support a real contradiction, at the risk of trivialisation. The project actually has a dual purpose: to formalise the notion of evidence, a concept that has received limited attention from both philosophers and logicians.
Some interesting developments include Kripke-style semantics for these logics, which allows the concept of evidence to be viewed as a modality, as described in Antunes et al. [Reference Antunes, Carnielli, Kapsner and Rodrigues2], and the proposal of Bayesian paraconsistent epistemology, as in Carnielli and Bueno-Soler [Reference Carnielli and Bueno-Soler8]. What remains to be done is a proper algebraic interpretation of these logics.
The Basic Logic of Evidence
$(\mathsf {BLE})$
, proposed in Carnielli and Rodrigues [Reference Carnielli and Rodrigues10] is extended to the Logic of Evidence and Truth (
$\mathsf {LET_J}$
).
$\mathsf {BLE}$
was conceived to formalise deductions based on evidence, in the above sense. In
$\mathsf {BLE}$
the negation connective, here denoted by
$\mathop {\sim }$
, formalises falsity; thus evidence for
$\mathop {\sim } A$
can be understood as reasons for believing in the falsity of A, and reasons for believing in the falsity of the falsity of A are taking as reasons for believing in A (consequently
$\mathop {\sim } \mathop {\sim } A$
and A are equivalent in
$\mathsf {BLE}$
).
$\mathsf {BLE}$
is a paraconsistent and paracomplete logic. Contradictions in
$\mathsf {BLE}$
reflect the existence of conflicting evidence, and the paraconsistency of
$\mathsf {BLE}$
corresponds to the possible existence of conflicting evidence without leading to a deductive collapse. On the other hand, the paracompleteness of
$\mathsf {BLE}$
corresponds to the possible lack of evidence for some propositions and their negations. Although conceived with different motivations,
$\mathsf {BLE}$
turns out to be equivalent to the propositional fragment of Nelson’s Paraconsistent Logic, usually denoted by
$\mathsf {N4}$
(see, for instance, Kamide [Reference Kamide13]).
$\mathsf {LET_J}$
is obtained by extending
$\mathsf {BLE}$
with a primitive classicality operator
$\mathop {\circ }$
, which allows to recover simultaneously the explosiveness of contradictions and the excluded middle for some propositions. Evidence for a proposition A can be non-conclusive, in the sense that it may not absolutely determine the truth of A. The formula
$\mathop {\circ } A$
represents the existence of conclusive evidence for either the truth or the falsity of the proposition A, and reasoning under conclusive evidence follows the rules of classical logic (this is what the Derivability Adjustment Theorem shows), hence the name given to the operator
$\mathop {\circ }$
.
Another logic of evidence and truth (
$\mathsf {LET_F}$
), and a probabilistic semantics for it, is proposed in Rodrigues et al. [Reference Rodrigues, Bueno-Soler and Carnielli20].
$\mathsf {LET_F}$
is an extension of the Logic of First-Degree Entailment (
$\mathsf {FDE}$
), also known as Belnap–Dunn four-valued logic, and which corresponds to the fragment of
$\mathsf {N4}$
without implication.
$\mathsf {LET_F}$
is a slightly modified version of
$\mathsf {LET_J}$
, which additionally to the classicality operator
$\mathop {\circ }$
also contains a non-classicality operator
$\mathop {\bullet }$
(i.e.,
$\mathsf {LET_F}$
is
$\mathsf {LET_J}$
dropping implication and adding the non-classicality operator). The operator
$\mathop {\bullet }$
is dual to
$\mathop {\circ }$
in the sense that, while
$\mathop {\circ } A$
implies the classical behaviour of A, a non-classical behaviour of A implies
$\mathop {\bullet } A$
. The elimination of implication in
$\mathsf {LET_F}$
is due to some difficulties in the probabilistic interpretation of this connective.
A summary of recent work on Logics of Evidence and Truth (LETs) is presented in Rodrigues et al. [Reference Rodrigues, Coniglio, Antunes, Bueno-Soler and Carnielli21], where a new LET named
$\mathsf {LET_K}$
and its first-order extension
$\mathsf {QLET_K}$
are also introduced, and an application of these logics to the problem of abduction is shown.
$\mathsf {LET_K}$
is an extension of
$\mathsf {LET_F}$
with a classical implication connective.
Here, a Constructive Logic of Evidence and Truth, denoted by
$\mathsf {LET_C}$
, is introduced.
$\mathsf {LET_C}$
is a definitional extension of
$\mathsf {N4^{\star }}$
, which in turn is an extension of
$\mathsf {N4}$
with a co-implication operator and bottom and top particles.
$\mathsf {LET_C}$
extends
$\mathsf {N4^{\star }}$
by defining connectives for consistency, inconsistency, determinedness, and undeterminedness. In
$\mathsf {LET_C}$
, differently of the other LETs, explosiveness of contradictions and excluded middle cannot be simultaneously recovered by a single classicality operator, but they can be independently recovered by the operators of consistency and determinedness, respectively.
Truth and falsity are treated asymmetrically in Intuitionistic Logic (
$\mathsf {Int}$
): the truth of a proposition signifies the existence of a proof for it and is established directly, whereas the falsity of a proposition is proven indirectly by demonstrating the impossibility of constructing a proof for it. This is reflected in the definition of intuitionistic negation as
$ \mathop {\neg } A \equiv A \to \bot $
. In
$\mathsf {Int}$
, it is not possible to directly prove the falsity of a proposition. Moreover, the very nature of intuitionistic falsity is debatable (cf. Shramko [Reference Shramko23]).
In contrast,
$\mathsf {LET_C}$
maintains full symmetry between truth and falsity, allowing for direct proofs of both the truth and falsity of a proposition. Additionally,
$\mathsf {LET_C}$
enables an interesting distinction between truth and the impossibility of falsity, as well as between falsity and the impossibility of truth—concepts that are inseparable in classical logic and whose distinction appears muddled in
$\mathsf {Int}$
.
As discussed below, these differences allow us to reinterpret the notion of ‘constructive proof’ as ‘direct proof’. This leads us to understand the proof of
$\mathop {\neg } A $
in
$\mathsf {Int}$
as a direct proof of the impossibility of A’s truth, rather than as an indirect (and thus non-constructive) proof of A’s falsity. Against this backdrop,
$\mathsf {LET_C}$
proves to be constructively richer than
$\mathsf {Int}$
, as it also allows direct proofs of the falsity of propositions and the impossibility of their truth.
In order to explicitly formalise evidence, lambda calculus terms are added to
$\mathsf {LET_C}$
, obtaining a type system denoted by
$\mathsf {LET_C^{\lambda }}$
. Some usual properties of type systems are proven for
$\mathsf {LET_C^{\lambda }}$
: lemmas of generation, free variables, uniqueness of types (under a strong equivalence defined on formulas), substitution and subject reduction, and a normalisation theorem. Our proposal of representing evidence by lambda calculus terms, is a different approach for the explicit formalisation of evidence in the justification logics proposed in Artemov [Reference Artemov5], which are obtained by understanding the necessity operator of some modal logics as implicitly representing the existence of evidence, and by transforming the necessity operator into justification polynomials (or justification terms) for explicitly represent evidence. Artemov’s approach is used in Fitting [Reference Fitting12] for providing an explicit formalisation of evidence for
$\mathsf {BLE}$
, by translating
$\mathsf {BLE}$
into the modal logic
$\mathsf {KX4}$
and constructing the justification logic
$\mathsf {JX4}$
from
$\mathsf {KX4}$
.
A multimodal system that combines
$\mathsf {S4}$
and
$\mathsf {KX4}$
into a single formal system, denoted as
$\mathsf {SKX4^+}$
, is introduced in Carnielli et al. [Reference Carnielli, Frade, Rodrigues and Bueno-Soler9]. The motivation behind this integration is to develop a logic that, given the embeddings of
$\mathsf {Int}$
and
$\mathsf {BLE}$
into
$\mathsf {S4}$
and
$\mathsf {KX4}$
, can effectively represent the deductive behavior of factive and non-factive evidence. To clarify this, it is useful to recall that non-factive evidence refers to evidence that neither implies nor guarantees the truth of the sentence it is supposed to support, while factive evidence is evidence that implies or guarantees the truth of the sentence it supports.
While Artemov’s justification logics aim to provide a new evidence-based foundation for epistemic logics, our goal here is to offer a functional (and constructive) interpretation of evidence-based reasoning. To this end, we use lambda terms to explicitly represent evidence, drawing on the methods and philosophy of type theory. This approach contrasts with Artemov’s use of justification polynomials. In our framework, the variables of lambda terms represent arbitrary evidence, while more complex lambda terms describe procedures that enable evidence to be derived from other evidence.
In order to emphasise the constructive aspects of
$\mathsf {LET_C}$
, a Kleene-style realisability interpretation is provided for this logic. This establishes a strong connection between derivations in
$\mathsf {LET_C}$
and recursive functions.
The Dynamic Logics of Evidence-Based Beliefs, introduced in van Benthem and Pacuit [Reference van Benthem and Pacuit7], are a proposal to formalise evidence-based reasoning by taking into account its dynamic properties. These logics are defined by extending the neighbourhood semantics for modal logics, where evidence is formalised as families of sets of worlds. This formalisation turns out to be very technical and difficult to understand intuitively. Contrarily, the LETs (particularly
$\mathsf {LET_C}$
) formalise a instantaneous view of evidence-based reasoning, in the sense of considering only evidence accessible at a given time, and the rules of deduction are based on a rather intuitive conception of the acceptance of propositions according to existing evidence. This instantaneous approach to evidence, however, creates a dynamic of movement, much like in cinema, with the evidence being continuously changed and updated.
In the area of Artificial Intelligence, the logics of evidence and truth can be useful in the formalisation and automation of deductions from information sources (for instance, some databases or the Web) where there may be a lack of information or conflicting information, which may lead to neither accepting a proposition nor its negation, or to having reasons to accept both a proposition and its negation. Classical logic is clearly not apt for such contexts because, when applied to information, the excluded third states that it is complete (i.e., there is always enough information to determine, for any given proposition, that it or its negation is true), and the explosion principle states that any proposition can be derived from contradictory information, leading to a deductive collapse.
In addition to
$\mathsf {LET_C}$
being a logic suitable for formalising inferences in contexts with missing or conflicting information, the addition of terms to this logic can allow the construction of explanations based on the evidence for the inferences made.
This article is structured as follows: Section 2 introduces
$\mathsf {LET_C}$
through a natural deduction system. Section 3 extends
$\mathsf {LET_C}$
with the addition of lambda terms. Section 4 outlines several relevant properties of
$\mathsf {LET_C^{\lambda }}$
. A realisability interpretation for
$\mathsf {LET_C}$
is presented in Section 5, followed by a discussion of the constructive nature of this logic in Section 6. Finally, Section 7 provides concluding remarks and suggest directions for future research.
2 A natural deduction system for
$\mathsf {LET_C}$
We begin by describing the system
$\mathsf {N4^{\star }}$
, an extension of Nelson’s paraconsistent logic
$\mathsf {N4}$
with a co-implication operator (
) and bottom (
$\bot $
) and top (
$\top $
) particles. The signature of
$\mathsf {N4^{\star }}$
is
, and the set of formulas is defined in the usual way. The unary operator
$\mathop {\sim }$
is called constructive negation (or strong negation), and a formula
can be read as A co-implies B or as B excludes A (cf. [Reference Wansing25, Footnote 2]).
The natural deduction system for
$\mathsf {N4^{\star }}$
is presented in Table 1. Analogously as the rules of
$\mathsf {Int}$
can be interpreted by means of the existence of proofs, each one of the rules in
$\mathsf {N4^{\star }}$
admits an implicit interpretation in terms of evidence: if there is evidence for accepting the formulas in the premises, there is evidence for accepting the formula in the conclusion. Assumptions correspond to the presupposition of existence of evidence (details in Carnielli and Rodrigues [Reference Carnielli and Rodrigues10]).
Natural deduction system for
$\mathsf {N4^{\star }}$
.

Table 1 Long description
The table is organized into four columns: Connective, Introduction Rule, Elimination Rule, and Rule Name.
* Row 1: Connective is the conjunction symbol. Introduction rule shows A and B above a horizontal line with A wedge B below. Elimination rules show A wedge B above a line with A below, or A wedge B above a line with B below. Rule names are wedge I and wedge E.
* Row 2: Connective is the disjunction symbol. Introduction rules show A above a line with A vee B below, or B above a line with A vee B below. Elimination rule shows A vee B, a derivation of C from assumption A, and a derivation of C from assumption B, all above a line with C below. Rule names are vee I and vee E.
* Row 3: Connective is the implication arrow. Introduction rule shows a derivation of B from assumption A above a line with A arrow B below. Elimination rule shows A and A arrow B above a line with B below. Rule names are arrow I and arrow E.
* Row 4: Connective is the negation symbol. Introduction rule shows a derivation of the bottom symbol from assumption A above a line with neg A below. Elimination rule shows A and neg A above a line with the bottom symbol below. Rule names are neg I and neg E.
* Row 5: Connective is the bottom symbol. There is no introduction rule. Elimination rule shows the bottom symbol above a line with A below. Rule name is bottom E.
* Row 6: Connective is the diamond symbol. Introduction rule shows A above a line with diamond A below. Elimination rule shows diamond A and a derivation of B from assumption A above a line with B below, with a side condition that A is not free in B or other assumptions. Rule names are diamond I and diamond E.
* Row 7: Connective is the box symbol. Introduction rule shows A above a line with box A below. Elimination rule shows box A above a line with A below. Rule names are box I and box E.
The fragment of
$\mathsf {N4^{\star }}$
without
$\top $
and
is equivalent to
$\mathsf {N4}^{\bot }$
, which is an Odintsov’s extenstion of
$\mathsf {N4}$
with a bottom particle introduced in Odintsov [Reference Odintsov18]. As
$\top $
and
can be defined in
$\mathsf {N4}^{\bot }$
by
$\top \stackrel {\scriptscriptstyle\text{def}}{=} \mathop {\sim } \bot $
and
, the semantics for
$\mathsf {N4}^{\bot }$
presented in Odintsov [Reference Odintsov18] is also adequate for
$\mathsf {N4^{\star }}$
.
Remark 1. Before going further, we outline here some reasons for working with natural deduction in this paper. In contrast to Hilbertian axiomatisation, natural deduction systems are more aligned with intuitive reasoning. The introduction and elimination rules for logical connectives in natural deduction help to clarify the connectives themselves. This approach makes proofs more goal-oriented, as they begin with assumptions and apply inference rules to simplify or construct conclusions. Furthermore, in natural deduction, the normalisation property ensures that every proof has a normal form, meaning that redundant steps (such as unnecessary assumptions or intermediate steps) can be eliminated. This property is rarely found in Hilbertian systems. From a computational complexity perspective, Hilbert systems are typically NP-complete or even PSPACE-complete, whereas natural deduction systems are not inherently NP-complete. This distinction helps explain the dedication that proof theorists like Gerhard Gentzen, Stanisław Jaśkowski, Dag Prawitz, and Michael Dummett have devoted to natural deduction systems.
An equivalence operator
$\leftrightarrow $
can be defined in
$\mathsf {N4^{\star }}$
as usual
$A \leftrightarrow B \stackrel {\scriptscriptstyle\text{def}}{=} (A \to B) {\wedge } (B \to A)$
. As in
$\mathsf {N4}$
, substitution by equivalent formulas in
$\mathsf {N4^{\star }}$
is not valid. For instance, in
$\mathsf {N4^{\star }}$
the equivalence
is provable, whereas the equivalence
is not provable. However, a strong equivalence operator
$\Leftrightarrow $
can be defined by
$A \Leftrightarrow B \stackrel {\scriptscriptstyle\text{def}}{=} (A \leftrightarrow B) {\wedge } (\mathop {\sim } A \leftrightarrow \mathop {\sim } B)$
, and substitution by strongly equivalent formulas is valid.
In
$\mathsf {N4^{\star }}$
, the connectives
${\wedge }$
and
${\vee }$
are dual, because
$A {\vee } B$
is strongly equivalent to
$\mathop {\sim } (\mathop {\sim } A {\vee } \mathop {\sim } B)$
(these formulas are practically the same in this system). Moreover, the connectives
$\to $
and
can also be seen as dual, because
is strongly equivalent to
$\mathop {\sim } (\mathop {\sim } A \to \mathop {\sim } B)$
(which can be easily proven using the rules in Table 1). It is therefore possible to define the connectives
${\vee }$
and
in terms of the connectives
${\wedge }$
,
$\to $
and
$\mathop {\sim }$
, rather than regarding them as primitive. Nevertheless, we consider
${\vee }$
and
to be primitive connectives. This is with the aim of making the duality between the connectives and the symmetry between truth and falsity more evident.
In
$\mathsf {N4^{\star }}$
, an intuitionistic negation
$\mathop {\neg }$
is defined by
$\mathop {\neg } A \stackrel {\scriptscriptstyle\text{def}}{=} A \to \bot $
and a co-negation
is defined by
. While the intention of Nelson’s constructive negation is to express falsity (i.e.,
$\mathop {\sim } A$
must be interpreted as ‘A is false’, cf. Nelson [Reference Nelson17]), intuitionistic negation must be interpreted as expressing impossibility of truth (i.e.,
$\mathop {\neg } A$
must be interpreted as ‘it is impossible that A be true’ or as ‘it is impossible to construct a proof of A’, cf. Shramko [Reference Shramko23]). Accordingly, the formula
, which is strongly equivalent to
$\mathop {\neg } \mathop {\sim } A$
, must be understood as the impossibility of the falsity of A. Under such interpretations, the following theorem shows that, in
$\mathsf {N4^{\star }}$
, the falsity of a formula A is not equivalent to the impossibility of the truth of A (item 1), and the truth of a formula A is not equivalent to the impossibility of the falsity of A (item 2). However, the falsity of a formula A is equivalent to the falsity of the impossibility of the falsity of A (item 3), and the truth of a formula A is equivalent to the falsity of the impossibility of the truth of A (item 4). The other items show additional properties of the interaction between negations in
$\mathsf {N4^{\star }}$
.
Theorem 2.1.
-
1. $\nvdash \mathop {\sim } A \leftrightarrow \mathop {\neg } A$
(neither
$\vdash \mathop {\sim } A \to \mathop {\neg } A$
nor
$\vdash \mathop {\neg } A \to \mathop {\sim } A$
). -
2.
(neither
nor
). -
3.
(and also
). -
4. $\vdash A \leftrightarrow \mathop {\sim } \mathop {\neg } A$
. -
5.
. -
6.
.
Proof Using the natural deduction system for provable formulas and any of the semantics for
$\mathsf {N4}^{\bot }$
presented in Odintsov [Reference Odintsov18] for unprovable formulas.
It is important to highlight that the distinctions between truth and impossibility of falsity, and between falsity and impossibility of truth, cannot be made in other logics, such as classical or intuitionistic logic. These are remarkable features of
$\mathsf {N4^{\star }}$
that are important for the constructive properties of this logic, as explained in Section 6.
The following theorem shows some properties of formulas related with the principles of explosiveness (or ex contradictione [sequitur] quodlibet) and excluded middle (or tertium non datur) in
$\mathsf {N4^{\star }}$
.
Theorem 2.2.
-
1.
. -
2.
, but
. -
3.
. -
4. $\vdash \mathop {\sim } \mathop {\neg } (A {\wedge } \mathop {\sim } A) \leftrightarrow (A {\wedge } \mathop {\sim } A)$
, but
$\nvdash \mathop {\sim } \mathop {\neg } (A {\wedge } \mathop {\sim } A) \Leftrightarrow (A {\wedge } \mathop {\sim } A)$
. -
5.
. -
6.
.
Proof Using the natural deduction system for provable formulas and any of the semantics for
$\mathsf {N4}^{\bot }$
presented in Odintsov [Reference Odintsov18] for unprovable formulas.
The previous theorem motivates the following definitions of connectives for consistency (
$\mathop {\circ }$
), inconsistency (
$\mathop {\bullet }$
), determinedness (
), and undeterminedness (
). The logic
$\mathsf {LET_C}$
is the result of adding to
$\mathsf {N4^{\star }}$
such definitions.

Note that although the definition of the consistency connective is similar to the one proposed by da Costa in his well-known hierarchy of Inconsistent Formal Systems
$\mathsf {C_n}$
, our definition differs in a significant way. We employ two negations in place of one, with each negation representing a distinct concept (namely the impossibility of truth and falsity).
The following properties are immediate from the previous definition of connectives and theorems.
Theorem 2.3.
-
1. $A, \mathop {\sim } A, \mathop {\circ } A \vdash B$
. -
2. $\mathop {\bullet } A \vdash A {\wedge } \mathop {\sim } A$
and
$A {\wedge } \mathop {\sim } A \vdash \mathop {\bullet } A$
. -
3.
,
and
. -
4.
and
.
3 Adding lambda-terms to
$\mathsf {LET_C}$
: making evidence explicit
A BHK-style interpretation of
$\mathsf {LET_C}$
in terms of evidence for accepting or rejecting propositions is presented below. This informal interpretation gives us the intuitions for adding lambda terms to
$\mathsf {LET_C}$
. The emptyset symbol (
$\emptyset $
) is used to represent evidence for accepting propositions which are self-evident (i.e., propositions accepted without need of proofs or explanations):
-
• Evidence for accepting $A {\wedge } B$
is a pair
$(e_1, e_2)$
where
$e_1$
is evidence for accepting A and
$e_2$
is evidence for accepting B. -
• Evidence for accepting $A {\vee } B$
is a pair
$(e_1, e_2)$
where
$e_1 = 0$
and
$e_2$
is evidence for accepting A, or
$e_1 = 1$
and
$e_2$
is evidence for accepting B. -
• Evidence for accepting $A \to B$
is a method that converts evidence for accepting A into evidence for accepting B. -
• Evidence for accepting
is a pair
$(e_1, e_2)$
where
$e_1$
is evidence for rejecting A and
$e_2$
is evidence for accepting B. -
• Evidence for accepting $\mathop {\sim } A$
is evidence for rejecting A. -
• There is no evidence for accepting $\bot $
. -
• $\emptyset $
is evidence for accepting
$\top $
. -
• Evidence for rejecting $A {\wedge } B$
is a pair
$(e_1, e_2)$
where
$e_1 = 0$
and
$e_2$
is evidence for rejecting A, or
$e_1 = 1$
and
$e_2$
is evidence for rejecting B. -
• Evidence for rejecting $A {\vee } B$
is a pair
$(e_1, e_2)$
where
$e_1$
is evidence for rejecting A and
$e_2$
is evidence for rejecting B. -
• Evidence for rejecting $A \to B$
is a pair
$(e_1, e_2)$
where
$e_1$
is evidence for accepting A and
$e_2$
is evidence for rejecting B. -
• Evidence for rejecting
is a method that converts evidence for rejecting A into evidence for rejecting B. -
• Evidence for rejecting $\mathop {\sim } A$
is evidence for accepting A. -
• $\emptyset $
is evidence for rejecting
$\bot $
. -
• There is no evidence for rejecting $\top $
.
Note that the previous clauses only state what constitutes evidence for accepting or rejecting compound formulas, based on evidence for accepting or rejecting their constituent parts. There is no clauses stating what constitute evidence for accepting or rejecting propositional variables because, as argued in Carnielli and Rodrigues [Reference Carnielli and Rodrigues10], it depends on the area of study and the subject matter, and this is not a problem of logic.
In order to explicitly express evidence, based on the previous informal interpretation of
$\mathsf {LET_C}$
, lambda-terms from an extended lambda calculus (
$\lambda _C$
-calculus) are added to
$\mathsf {LET_C}$
, obtaining
$\mathsf {LET_C^{\lambda }}$
. The
$\lambda _C$
-calculus is an extension of the pure lambda-calculus with (two kinds of) pairs and projections, injections, case distinction, empty term, impossible (or exception) terms, and (two kinds of) identities.Footnote
1
$\mathsf {LET_C^{\lambda }}$
is really a type system whose types are the formulas of
$\mathsf {LET_C}$
and whose terms are the elements of the
$\lambda _C$
-calculus. Two kinds of pairs and projections are used to ensure the uniqueness of types (module strong equivalence). The first kind will be used for conjunctions and negations of disjunctions, while the second kind will be used for co-implications and negation of implications. Pairs of the second kind will be called combined pairs, since they always have a term of a formula and a term of a negated formula. The two kinds of identities are used to differentiate terms of formulas and of their double strong negations.
To define the set of terms of the
$\lambda _C$
-calculus, we consider a denumerable set of variables V, whose elements represent the evidence that is assumed to exist. We shall use the last letters (possibly with subscripts) of the Latin alphabet
$x, x_1, \ldots , y, y_1, \ldots $
to denote elements of V, and letters
$r, s, t$
to denote arbitrary
$\lambda _C$
-terms.
Definition 3.1. The set of terms of the
$\lambda _C$
-calculus, denoted by
$\Lambda $
, is defined by the following grammar:
We shall use
$r[x := s]$
to denote the result of substituting s for the free occurrences of x in r (changing bound variables to fresh variables if necessary to avoid creating new occurrences of bound variables). The
$\beta $
-reduction relation on
$\Lambda $
is defined as follows.
Definition 3.2. The one step
$\beta $
-reduction relation on
$\Lambda $
, denoted by
$\rightarrow _{\beta }$
, is the least compatible relation on
$\Lambda $
with base rules:Footnote
2
The multi-step
$\beta $
-reduction relation on
$\Lambda $
, denoted by
$\twoheadrightarrow _{\beta }$
, is the reflexive and transitive closure of
$\rightarrow _{\beta }$
.
We shall use
$\mathcal {F}(\mathsf {LET_C})$
to denote the set of formulas of
$\mathsf {LET_C}$
. The notions of statement, declaration, context and judgement are defined as usual in type systems: A statement is an expression of the form
$t:A$
, where
$t \in \Lambda $
and
$A \in \mathcal {F}(\mathsf {LET_C})$
(in such a statement t is called the subject); a declaration is a statement with a variable as subject; a context is a set of declarations with different subjects; and a judgement has the form
$\Gamma \vdash t:A$
, with
$\Gamma $
a context and
$t:A$
a statement. A judgement
$\Gamma \vdash t:A$
in
$\mathsf {LET_C^{\lambda }}$
means that there is a derivation of statement
$t:A$
, with open declarations (or assumptions) in
$\Gamma $
, using the rules in Table 2. Intuitively,
$x_1 : B_1, \ldots , x_n : B_n \vdash t : A$
means that if we consider that
$x_i$
represents evidence for accepting
$B_i$
, for
$1 \leq i \leq n$
, then t represents evidence for accepting A (evidence for accepting
$\mathop {\sim } B$
is the same that evidence for rejecting B).
Natural deduction system for
$\mathsf {LET_C^{\lambda }}$

Table 2 Long description
The table is divided into four sections.
1. Axioms: Located at the top, showing the rule Ax where Gamma unioned with the set containing A entails A.
2. Implication Rules:
- Introduction rule: If Gamma unioned with A entails B, then Gamma entails A implies B.
- Elimination rule: If Gamma entails A implies B and Gamma entails A, then Gamma entails B.
3. Conjunction Rules:
- Introduction rule: If Gamma entails A and Gamma entails B, then Gamma entails A and B.
- Elimination rules: Two rules showing that if Gamma entails A and B, then Gamma entails A; and if Gamma entails A and B, then Gamma entails B.
4. Disjunction Rules:
- Introduction rules: Two rules showing that if Gamma entails A, then Gamma entails A or B; and if Gamma entails B, then Gamma entails A or B.
- Elimination rule: If Gamma entails A or B, and Gamma unioned with A entails C, and Gamma unioned with B entails C, then Gamma entails C.
The following theorem, which has a simple proof, shows that
$\mathsf {LET_C^{\lambda }}$
actually achieves the objective for which it was designed: to formalise evidence in an explicit way. Moreover, the lambda terms and their reduction rules give us procedures to calculate evidence of compound formulas from their constituent parts.
Theorem 3.3.
$B_1, \ldots , B_n \vdash A$
in
$\mathsf {LET_C}$
iff there is
$t \in \Lambda $
such that
$x_1:B_1, \ldots , x_n:B_n \vdash t:A$
in
$\mathsf {LET_C^{\lambda }}$
.
Proof For the left to right direction, take the proof of
$B_1, \ldots , B_n \vdash A$
in
$\mathsf {LET_C}$
and add lambda terms according to the rules of
$\mathsf {LET_C^{\lambda }}$
. For the right to left direction, take the proof of
$x_1:B_1, \ldots , x_n:B_n \vdash t:A$
and drop the lambda terms.
4 Some properties of
$\mathsf {LET_C^{\lambda }}$
In this section, some usual properties of type systems are proven for
$\mathsf {LET_C^{\lambda }}$
. Before that, some definitions are necessary.
Definition 4.1. Let
$\Gamma $
be a context:
-
1. The domain of $\Gamma $
, denoted by
$\text {Dom}(\Gamma )$
, is the set
$\{x \;|\; x:A \in \Gamma , \text { for some } A \in \mathcal {F}(\mathsf {LET_C})\}$
. -
2. If $X \subseteq V$
, the restriction of
$\Gamma $
to X, denoted by
$\Gamma \!\! \upharpoonright \!\! X$
, is the set
$\{x:A \;|\; x:A \in \Gamma \text { and } x \in X\}$
.
The set of free variables of terms
$t \in \Lambda $
, denoted by
$\text {FV}(t)$
, is defined as usual (the only binding operators are
$\lambda $
in abstractions and
$[\cdot ]$
in case distinctions).
Lemma 4.2 (Generation Lemma).
-
1. If $\Gamma \vdash x:A$
, then
$x:A \in \Gamma $
. -
2. If $\Gamma \vdash \text {ap}(r, s):A$
, then there is B such that
$\Gamma \vdash r : B \to A$
and
$\Gamma \vdash s: B$
, or there are B and C such that
$A = \mathop {\sim } C$
,
and
$\Gamma \vdash s: \mathop {\sim } B$
. -
3. If $\Gamma \vdash \lambda x.t:A$
, then there are B and C such that
$A = B \to C$
and
$\Gamma , x:B \vdash t:C$
, or such that
and
$\Gamma , x:\mathop {\sim } B \vdash t:\mathop {\sim } C$
. -
4. If $\Gamma \vdash (r, s):A$
, then there are B and C such that
$A = B {\wedge } C$
,
$\Gamma \vdash r:B$
and
$\Gamma \vdash s:C$
, or such that
$A = \mathop {\sim } (B {\vee } C)$
,
$\Gamma \vdash r: \mathop {\sim } B$
and
$\Gamma \vdash s: \mathop {\sim } C$
. -
5. If $\Gamma \vdash \langle r, s\rangle :A$
, then there are B and C such that
$A = \mathop {\sim } (B \to C)$
,
$\Gamma \vdash r:B$
and
$\Gamma \vdash s: \mathop {\sim } C$
, or such that
,
$\Gamma \vdash r: C$
and
$\Gamma \vdash s: \mathop {\sim } B$
. -
6. If $\Gamma \vdash \pi _1(t):A$
(respectively
$\Gamma \vdash \pi _2(t):A$
), then there is B such that
$\Gamma \vdash t:A {\wedge } B$
(respectively
$\Gamma \vdash t:B {\wedge } A$
), or there are B and C such that
$A = \mathop {\sim } C$
and
$\Gamma \vdash t:\mathop {\sim } (C {\vee } B)$
(respectively
$\Gamma \vdash t:\mathop {\sim } (B {\vee } C)$
). -
7. If $\Gamma \vdash \pi _1^*(t):A$
(respectively
$\Gamma \vdash \pi _2^*(t):A$
), then there are B and C such that
$A= \mathop {\sim } C$
and
(respectively
$\Gamma \vdash t:\mathop {\sim }(B \to C)$
), or there is B such that
$\Gamma \vdash t:\mathop {\sim } (A \to B)$
(respectively
). -
8. If $\Gamma \vdash \text {in}_1(t):A$
(respectively
$\Gamma \vdash \text {in}_2(t):A$
), then there are B and C such that
$A = (B {\vee } C)$
and
$\Gamma \vdash t:B$
(respectively
$\Gamma \vdash t:C$
), or such that
$A = \mathop {\sim } (B {\wedge } C)$
and
$\Gamma \vdash t:\mathop {\sim } B$
(respectively
$\Gamma \vdash t:\mathop {\sim } C$
). -
9. If $\Gamma \vdash \text {case } t \text { of } [x] r \text { or } [y] s:A$
, then there are B and C such that
$\Gamma \vdash t:B {\vee } C$
,
$\Gamma , x:B \vdash r:A$
and
$\Gamma , y:C \vdash s:A$
, or such that
$\Gamma \vdash t:\mathop {\sim } (B {\wedge } C)$
,
$\Gamma , x:\mathop {\sim } B \vdash r:A$
and
$\Gamma , y:\mathop {\sim } C \vdash s:A$
. -
10. If $\Gamma \vdash \mathcal {E}(t):A$
, then
$\Gamma \vdash t:\bot $
or
$\Gamma \vdash t:\mathop {\sim } \top $
. -
11. If $\Gamma \vdash \text {id}(t):A$
, then there is B such that
$A = \mathop {\sim } \mathop {\sim } B$
and
$\Gamma \vdash t:B$
. -
12. If $\Gamma \vdash \text {id}^{-1}(t):A$
, then
$\Gamma \vdash t: \mathop {\sim } \mathop {\sim } A$
.
Proof By inspection of the rules of
$\mathsf {LET_C^{\lambda }}$
.
Lemma 4.3 (Free Variables Lemma).
-
1. If $\Gamma \vdash t:A$
, then
$\text {FV}(t) \subseteq \text {Dom}(\Gamma )$
. -
2. If $\Gamma \vdash t:A$
, then
$\Gamma \!\! \upharpoonright \!\! \text {FV}(t) \vdash t:A$
.
Proof By structural induction on t.
Lemma 4.4 (Uniqueness of Types).
If
$\Gamma \vdash t:A$
and
$\Gamma \vdash t:B$
, then
$\vdash A \Leftrightarrow B$
.
Proof By structural induction on t.
Lemma 4.5 (Substitution Lemma).
If
$\Gamma , x:A \vdash r:B$
and
$\Gamma \vdash s:A$
, then
$\Gamma \vdash r[x:=s]:B$
.
Proof By structural induction on r.
Lemma 4.6 (Subject Reduction).
If
$\Gamma \vdash t:A$
and
$t \twoheadrightarrow _{\beta } s$
, then
$\Gamma \vdash s:A$
.
Proof First proving the case of one step
$\beta $
-reductions (i.e., for
$t \rightarrow _{\beta } s$
), the general case follows for induction on the number of
$\beta $
-reductions. As the relation
$\rightarrow _{\beta }$
is a compatible relation on
$\Lambda $
, generated by some base rules (see 3.2), the proof proceeds by induction on the generation of
$\rightarrow _{\beta }$
. For the base rules, we only show the case when
$t = \text {case } \text {in}_1(r) \text { of } [x] p \text { or } [y] q$
and
$s = p[x:=r]$
(the other cases are similar or easier): From
$\Gamma \vdash t:A$
, by the Generation Lemma (item 9), we have two cases:
-
1. There is B and C such that $\Gamma \vdash \text {in}_1(r) : B {\vee } C$
,
$\Gamma , x : B \vdash p : A$
and
$\Gamma , y : C \vdash q : A$
: From
$\Gamma \vdash \text {in}_1(r) : B {\vee } C$
, by Generation Lemma (item 8), we have that
$\Gamma \vdash r : B$
. Then, from
$\Gamma , x : B \vdash p : A$
and
$\Gamma \vdash r : B$
, by the Substitution Lemma, we have that
$\Gamma \vdash p[x:=r] : A$
. -
2. There is B and C such that $\Gamma \vdash \text {in}_1(r) : \mathop {\sim } (B {\wedge } C)$
,
$\Gamma , x : \mathop {\sim } B \vdash p : A$
and
$\Gamma , y : \mathop {\sim } C \vdash q : A$
: Similar to the previous case.
The proofs for the compatibility rules are routine (but lengthy) inductive steps.
Definition 4.7. A term
$t \in \Lambda $
is legal if there is a context
$\Gamma $
and a formula A such that
$\Gamma \vdash t:A$
.
Theorem 4.8 (Normalisation Theorem).
Every legal term is strongly normalising.
Proof Let us consider the simple typed
$\lambda $
-calculus extended with products, sums, empty type and unity type (denoted by
${\wedge }$
,
${\vee }$
,
$\bot $
, and
$\top $
, respectively). This calculus, which we will denoted by
$\mathsf {E}^{\lambda }$
, is a fragment of
$\mathsf {LET_C^{\lambda }}$
(
$\mathsf {E}^{\lambda }$
is
$\mathsf {LET_C^{\lambda }}$
dropping the rules for co-implication and constructive negation), and can also be seen as a fragment of Intuitionistic Type Theory (
$\mathsf {ITT}$
) (in the version presented in Martin-Löf [Reference Martin-Löf15], for instance). Therefore, the strong normalisation of
$\mathsf {ITT}$
implies the strong normalisation of
$\mathsf {E}^{\lambda }$
. A term translation function
$\varphi $
, from terms of the
$\lambda _C$
-calculus to terms of the extended
$\lambda $
-calculus used in
$\mathsf {E}^{\lambda }$
, can be defined by:
![phi(x)=x, phi(ap(r,s))=ap(phi(r),phi(s)), phi(pi sub i(t))=pi sub i(phi(t)), phi(pi super star sub i(t))=pi sub i(phi(t)), phi(case t of [x]r or [y]s)=case phi(t) of [x]phi(r) or [y]phi(s), phi(empty set)=empty set, phi(id(t))=phi(t), and more.](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20260911133907642-0002:S1079898625000101:S1079898625000101_eqnu4.png?pub-status=live)
Considering that the types of
$\mathsf {E}^{\lambda }$
are generated by the set of propositional variables
$V' = V \cup \{\overline {p} \;|\; p \in V \}$
, a type translation function
$\psi $
, from types of
$\mathsf {LET_C^{\lambda }}$
to types of
$\mathsf {E}^{\lambda }$
, can be defined by:

By induction on t, it can be proven that if
$\Gamma \vdash t:A$
in
$\mathsf {LET_C}$
, then
$\{\varphi (s):\psi (B) \;|\; s:B \in \Gamma \} \vdash \varphi (t):\psi (A)$
in
$\mathsf {E}^{\lambda }$
. Moreover, if t has an infinite reduction chain in
$\lambda _C$
-calculus, then
$\varphi (t)$
has an infinite reduction chain in the extended
$\lambda $
-calculus used in
$\mathsf {E}^{\lambda }$
. Consequently, as
$\mathsf {E}^{\lambda }$
satisfies strong normalisation, then
$\mathsf {LET_C^{\lambda }}$
satisfies strong normalisation.
5 Realisability interpretation for
$\mathsf {LET_C}$
A realisability interpretation of Heyting Arithmetic (
$\mathsf {HA}$
) was proposed in Kleene [Reference Kleene14]. Under such interpretation, codes of recursive functions are assigned to provable formulas of
$\mathsf {HA}$
, establishing in this way a connection between provability in
$\mathsf {HA}$
and recursive functions, which in a certain way justifies that
$\mathsf {Int}$
is indeed constructive (at least in the formalisation of arithmetic). Nelson [Reference Nelson17] extends Kleene’s notion of realisability interpreting arithmetic formulas by two recursively and simultaneously defined notions of positive realisability (P-realisability) and negative realisability (N-realisability), and presents a formal system of number theory, to which we shall refer as Nelson Arithmetic (
$\mathsf {NA}$
), that satisfies such realisability interpretations.
$\mathsf {NA}$
is basically the result of substituting the axioms for (intuitionistic) negation in
$\mathsf {HA}$
by axioms of a constructive negation, which formalises constructive falsity in a dual way of constructive truth. The logic axioms of
$\mathsf {NA}$
are what comprise what is currently known as Nelson’s Logic, and a variation of this logic (presented in Almukdad and Nelson [Reference Almukdad and Nelson1]), in which the explosiveness of the constructive negation is avoided, is currently known as Nelson’s Paraconsistent Logic. As previously mentioned, the propositional fragment of Nelson’s paraconsistent logic is usually denoted by
$\mathsf {N4}$
. Based on Nelson’s notions of positive and negative realisabilty, dropping the clauses for elementary arithmetical formulas and for quantifiers, and adding some clauses for
,
$\bot $
and
$\top $
, the realisability interpretation of formulas of
$\mathsf {N4^{\star }}$
(and also of
$\mathsf {LET_C}$
) can be defined as follows, where
$\text {p}(\cdot , \cdot )$
denote a fixed primitive recursive bijection from
$\mathbb {N}^2$
to
$\mathbb {N}$
(a pair coding function), and
$\varphi _l$
is the partial recursive function with index l (under some fixed enumeration of the partial recursive functions).
Definition 5.1. The following clauses define whether a natural number l P-realises or N-realises a formula of
$\mathsf {N4^{\star }}$
.
-
(1P) No l P-realises $\bot $
. -
(1N) No l N-realises $\top $
. -
(2P) l P-realises $\top $
(for every
$l \in \mathbb {N}$
). -
(2N) l N-realises $\bot $
(for every
$l \in \mathbb {N}$
). -
(3P) l P-realises $A {\wedge } B$
iff
$l = \text {p}(m, n)$
, m P-realises A and n P-realises B. -
(3N) l N-realises $A {\wedge } B$
iff
$l = \text {p}(m, n)$
,
$m = 0$
and n N-realises A, or
$m> 0$
and n N-realises B. -
(4P) l P-realises $A {\vee } B$
iff
$l = \text {p}(m, n)$
,
$m = 0$
and n P-realises A, or
$m> 0$
and n P-realises B. -
(4N) l N-realises $A {\vee } B$
iff
$l = \text {p}(m, n)$
, m N-realises A and n N-realises B. -
(5P) l P-realises $A \to B$
iff, for every m that P-realises A,
$\varphi _l(m)$
P-realises B. -
(5N) l N-realises $A \to B$
iff
$l = \text {p}(m, n)$
, m P-realises A and n N-realises B. -
(6P) l P-realises
iff
$l = \text {p}(m, n)$
, m N-realises A and n P-realises B. -
(6N) l N-realises
iff, for every m that N-realises A,
$\varphi _l(m)$
N-realises B. -
(7P) l P-realises $\mathop {\sim } A$
iff l N-realises A. -
(7N) l N-realises $\mathop {\sim } A$
iff l P-realises A.
In order to make more intuitive the relationship between P-realisability and provability in
$\mathsf {LET_C}$
(Theorem 5.2 below), and also to establish a connection with our explicit representation of evidence by means of
$\lambda _C$
-terms, we shall consider that evidence is codified by natural numbers, thus every assignation of natural numbers to free variables of
$\lambda _C$
-terms, in a deduction in
$\mathsf {LET_C^{\lambda }}$
, will give as a particular justification of such deduction based on evidence.
Theorem 5.2. For every natural number
$n \geq 1$
, if
$B_1, \ldots , B_n \vdash A$
, there is a recursive function
$h : \mathbb {N}^n \negthickspace \to \negthickspace \mathbb {N}$
such that, if the natural numbers
$l_1, \ldots , l_n$
P-realise
$B_1, \ldots , B_n$
, respectively, then
$h(l_1, \ldots , l_n)$
P-realises A.
Proof Let us suppose that
$B_1, \ldots , B_n \vdash A$
. By Theorem 3.3, there is
$t \in \Lambda $
such that
$x_1:B_1, \ldots , x_n:B_n \vdash t:A$
in
$\mathsf {LET_C^{\lambda }}$
. We will suppose that the variables
$x_1, \ldots , x_n$
range over
$\mathbb {N}$
, thus any substitution of natural numbers
$l_1, \ldots , l_n$
for variables
$x_1, \ldots , x_n$
, in the context
$x_1:B_1, \ldots , x_n:B_n$
, will give as a particular assumption of realisers of the formulas
$B_1, \ldots , B_n$
. Now, we will show the existence of the function h in the statement of the theorem, by structural induction on t, where the context
$x_1:B_1, \ldots , x_n:B_n$
will be denoted by
$\Gamma $
, and the sequence of natural numbers
$l_1, \ldots , l_n$
will be denoted by
$\overrightarrow {l}$
. The similarity in the proofs of subcases is by taking into account that a natural number l P-realises the (constructive) negation of a formula iff it N-realises the formula.
-
1. If $t \in V$
: By the Generation Lemma (item 1), there is
$i \in \{1, \ldots , n\}$
such that
$t = x_i$
and
$A = B_i$
, then h is the projection function defined by
$h(\overrightarrow {l}) = l_i$
. -
2. If $t = \text {ap}(r, s)$
: By the Generation Lemma (item 2), we have the following two cases:-
(a) There is B such that $\Gamma \vdash r : B \to A$
and
$\Gamma \vdash s: B$
: By inductive hypothesis there are recursive functions
$h_1 : \mathbb {N}^n \negthickspace \to \negthickspace \mathbb {N}$
and
$h_2 : \mathbb {N}^n \negthickspace \to \negthickspace \mathbb {N}$
such that, if
$\overrightarrow {l}$
P-realise
$B_1, \ldots , B_n$
, respectively, then
$h_1(\overrightarrow {l})$
P-realises
$B \to A$
and
$h_2(\overrightarrow {l})$
P-realises B. Then
$\varphi _{h_1(\overrightarrow {l})}(h_2(\overrightarrow {l}))$
P-realises A. The function h can then be defined by
$h(\overrightarrow {l}) = U^1(h_1(\overrightarrow {l}), h_2(\overrightarrow {l}))$
, where
$U^1$
is the universal partial recursive function with one parameter given by the Kleene’s Normal Form Theorem (see, for instance, [Reference Epstein and . Carnielli11, Section 16.E.]). Then:
$U^1(h_1(\overrightarrow {l}), h_2(\overrightarrow {l})) = \varphi _{h_1(\overrightarrow {l})}(h_2(\overrightarrow {l}))$
. -
(b) There are B and C such that $A = \mathop {\sim } C$
,
and
$\Gamma \vdash s: \mathop {\sim } B$
: Similar to the previous case.
-
-
3. If $t = \lambda x.r$
: By the Generation Lemma (item 3), we have the following two cases:-
(a) There are B and C such that $A = B \to C$
and
$\Gamma , x:B \vdash r:C$
: By inductive hypothesis there is a recursive function
$h_1 : \mathbb {N}^{n+1} \negthickspace \to \negthickspace \mathbb {N}$
such that, if
$\overrightarrow {l}, l$
P-realise
$B_1, \ldots , B_n, B$
, respectively, then
$h_1(\overrightarrow {l}, l)$
P-realises C. Let
$h_1 = \varphi ^{n+1}_z$
, by Kleene’s s-m-n Theorem (see, for instance, [Reference Epstein and . Carnielli11, Section 16.F.]), there is a recursive function
$s^n_1$
such that
$\varphi ^{n+1}_z(\overrightarrow {l},l) = \varphi ^1_{s^n_1(z, \overrightarrow {l})}(l)$
. The function h can then be defined by
$h(\overrightarrow {l}) = s^n_1(z, \overrightarrow {l})$
. -
(b) There are B and C such that
and
$\Gamma , x:\mathop {\sim } B \vdash t:\mathop {\sim } C$
: Similar to the previous case.
-
-
4. If $t = (r, s)$
: By the Generation Lemma (item 4), we have the following two cases:-
(a) There are B and C such that $A = B {\wedge } C$
,
$\Gamma \vdash r:B$
and
$\Gamma \vdash s:C$
: By inductive hypothesis there are recursive functions
$h_1 : \mathbb {N}^n \negthickspace \to \negthickspace \mathbb {N}$
and
$h_2 : \mathbb {N}^n \negthickspace \to \negthickspace \mathbb {N}$
such that, if
$\overrightarrow {l}$
P-realise
$B_1, \ldots , B_n$
, respectively, then
$h_1(\overrightarrow {l})$
P-realises B and
$h_2(\overrightarrow {l})$
P-realises C. The function h can then be defined by
$h(\overrightarrow {l}) = \text {p}(h_1(\overrightarrow {l}), h_2(\overrightarrow {l}))$
. -
(b) There are B and C such that $A = \mathop {\sim } (B {\vee } C)$
,
$\Gamma \vdash r: \mathop {\sim } B$
and
$\Gamma \vdash s: \mathop {\sim } C$
: Similar to the previous case.
-
-
5. If $t = \langle r, s\rangle $
: Similar to the previous case. -
6. If $t = \pi _1(r)$
(respectively
$t = \pi _2(r)$
): By the Generation Lemma (item 6), we have the following two cases:-
(a) There is B such that $\Gamma \vdash r:A {\wedge } B$
(respectively
$\Gamma \vdash r:B {\wedge } A$
): By inductive hypothesis there is a recursive function
$h_1 : \mathbb {N}^n \negthickspace \to \negthickspace \mathbb {N}$
such that, if
$\overrightarrow {l}$
P-realise
$B_1, \ldots , B_n$
, then
$h_1(\overrightarrow {l})$
P-realises
$A {\wedge } B$
(respectively
$B {\wedge } A$
). The function h can then be defined by
$h(\overrightarrow {l}) = \text {u}_1(h_1(\overrightarrow {l}))$
(respectively
$h(\overrightarrow {l}) = \text {u}_2(h_1(\overrightarrow {l}))$
), where
$\text {u}_1(\cdot )$
(respectively
$\text {u}_2(\cdot )$
) is a fixed recursive unpairing function of the first coordinate (respectively the second coordinate). -
(b) There are B and C such that $A = \mathop {\sim } C$
and
$\Gamma \vdash r:\mathop {\sim } (C {\vee } B)$
(respectively
$\Gamma \vdash r:\mathop {\sim } (B {\vee } C)$
): Similar to the previous case.
-
-
7. If $t = \pi _1^*(r)$
(respectively
$t = \pi _2^*(r)$
): Similar to the previous case. -
8. If $t =\text {in}_1(r)$
(respectively
$t =\text {in}_2(r)$
): By the Generation Lemma (item 8), we have the following two cases:-
(a) There are B and C such that $A = (B {\vee } C)$
and
$\Gamma \vdash r:B$
(respectively
$\Gamma \vdash r:C$
): By inductive hypothesis there is a recursive function
$h_1 : \mathbb {N}^n \negthickspace \to \negthickspace \mathbb {N}$
such that, if
$\overrightarrow {l}$
P-realise
$B_1, \ldots , B_n$
, then
$h_1(\overrightarrow {l})$
P-realises B (respectively C). The function h can then be defined by
$h(\overrightarrow {l}) = \text {p}(0, h_1(\overrightarrow {l}))$
(respectively
$h(\overrightarrow {l}) = \text {p}(1, h_1(\overrightarrow {l}))$
). -
(b) There are B and C such that $A = \mathop {\sim } (B {\wedge } C)$
and
$\Gamma \vdash r:\mathop {\sim } B$
(respectively
$\Gamma \vdash r:\mathop {\sim } C$
): Similar to the previous case.
-
-
9. If $t = \text {case } q \text { of } [x] r \text { or } [y] s$
: By the Generation Lemma (item 9), we have the following two cases:-
(a) There are B and C such that $\Gamma \vdash q:B {\vee } C$
,
$\Gamma , x:B \vdash r:A$
and
$\Gamma , y:C \vdash s:A$
: By inductive hypothesis there are recursive functions
$h_1 : \mathbb {N}^n \negthickspace \to \negthickspace \mathbb {N}$
,
$h_2 : \mathbb {N}^{n+1} \negthickspace \to \negthickspace \mathbb {N}$
and
$h_3 : \mathbb {N}^{n+1} \negthickspace \to \negthickspace \mathbb {N}$
such that, if
$\overrightarrow {l}, l_{n+1}, l_{n+2}$
P-realise
$B_1, \ldots , B_n, B, C$
, respectively, then
$h_1(\overrightarrow {l})$
P-realises
$B {\vee } C$
,
$h_2(\overrightarrow {l}, l_{n+1})$
P-realises A and
$h_3(\overrightarrow {l}, l_{n+2})$
P-realises A. The function h can then be defined by $$ \begin{align*} h(\overrightarrow{l}) = \begin{cases} h_2(\overrightarrow{l}, \text{u}_2(h_1(\overrightarrow{l}))) & \text{if } \text{u}_1(h_1(\overrightarrow{l})) = 0\\ h_3(\overrightarrow{l}, \text{u}_2(h_1(\overrightarrow{l}))) & \text{if } \text{u}_1(h_1(\overrightarrow{l})) \neq 0. \end{cases} \end{align*} $$
-
(b) There are B and C such that $\Gamma \vdash q:\mathop {\sim } (B {\wedge } C)$
,
$\Gamma , x:\mathop {\sim } B \vdash r:A$
and
$\Gamma , y:\mathop {\sim } C \vdash s:A$
: Similar to the previous case.
-
-
10. If $t = \mathcal {E}(r)$
: By the Generation Lemma (item 10), we have the following two cases:-
(a) $\Gamma \vdash r:\bot $
: By inductive hypothesis there is a recursive function
$h_1 : \mathbb {N}^n \negthickspace \to \negthickspace \mathbb {N}$
such that, if
$\overrightarrow {l}$
P-realise
$B_1, \ldots , B_n$
, then
$h_1(\overrightarrow {l})$
P-realises
$\bot $
. As
$\bot $
have no P-realisers, then there are no P-realisers for all formulas
$B_1, \ldots , B_n$
. Consequently, h can be
$h_1$
(or any n-ary recursive function). -
(b) $\Gamma \vdash r:\mathop {\sim } \top $
: Similar to the previous case.
-
-
11. If $t = \text {id}(r)$
: By the Generation Lemma (item 11), there is B such that
$A = \mathop {\sim } \mathop {\sim } B$
and
$\Gamma \vdash t:B$
. By inductive hypothesis there is a recursive function
$h_1 : \mathbb {N}^n \negthickspace \to \negthickspace \mathbb {N}$
such that, if
$\overrightarrow {l}$
P-realise
$B_1, \ldots , B_n$
, then
$h_1(\overrightarrow {l})$
P-realises B. As a natural number l P-realises B iff l N-realises
$\mathop {\sim } B$
, and iff l P-realises
$\mathop {\sim } \mathop {\sim } B$
, then h can be
$h_1$
. -
12. If $t = \text {id}^{-1}(r)$
: By the Generation Lemma (item 12)
$\Gamma \vdash r:\mathop {\sim } \mathop {\sim } A$
. By inductive hypothesis there is a recursive function
$h_1 : \mathbb {N}^n \negthickspace \to \negthickspace \mathbb {N}$
such that, if
$\overrightarrow {l}$
P-realise
$B_1, \ldots , B_n$
, then
$h_1(\overrightarrow {l})$
P-realises
$\mathop {\sim } \mathop {\sim } A$
. As a natural number l P-realises
$\mathop {\sim } \mathop {\sim } A$
iff l N-realises
$\mathop {\sim } A$
, and iff l P-realises A, then h can be
$h_1$
.
Corollary 5.3. If
$B_1, \ldots , B_n \vdash A$
and it is supposed that there are natural numbers
$l_1, \ldots , l_n$
that P-realise
$B_1, \ldots , B_n$
, respectively, then there is a natural number l that P-realises A (particularly, if
$\vdash A$
, then there is a natural number l that P-realises A).
Proof If
$n \geq 1$
, the result immediately follows from Theorem 5.2. If
$n = 0$
(i.e., if
$\vdash A$
), we proceed by structural induction on A (taking into account that A cannot be
$\bot $
, nor a propositional variable or a (constructive) negation of a propositional variable):
-
1. If $A = \top $
, any natural number l P-realises A. -
2. If $A = B {\wedge } C$
, then
$\vdash B$
and
$\vdash C$
, and by inductive hypothesis there are
$l_1$
and
$l_2$
that P-realise B and C, respectively. Consequently
$\text {p}(l_1, l_2)$
P-realises A. -
3. If $A = B {\vee } C$
, as
$\mathsf {LET_C}$
satisfies de disjunction property, then
$\vdash B$
or
$\vdash C$
. In the first case, by inductive hypothesis there is l that P-realises B, then
$\text {p}(0, l)$
P-realises A. In the second case, by inductive hypothesis there is l that P-realises C, then
$\text {p}(1, l)$
P-realises A. -
4. If $A = B \to C$
, then
$B \vdash C$
. By Theorem 5.2, there exists a recursive function
$h : \mathbb {N} \negthickspace \to \negthickspace \mathbb {N}$
such that, if l P-realises B, then
$h(l)$
P-realises C. Consequently, any index of h (under the fixed enumeration of the partial recursive functions) P-realises
$A \to B$
. -
5. If
, then
$\vdash \mathop {\sim } B$
and
$\vdash C$
, and by inductive hypothesis there are
$l_1$
and
$l_2$
that P-realise
$\mathop {\sim } B$
and C, respectively. Consequently
$\text {p}(l_1, l_2)$
P-realises A. -
6. The cases where $A = \mathop {\sim } B$
, with B a compound formula, are similar to the previous cases.
Note that there are no clauses for the P-realisation or the N-realisation of propositional variables, consequently formulas
$p {\vee } \mathop {\sim } p$
and
$\mathop {\sim } (p {\wedge } \mathop {\sim } p)$
, with
$p \in V$
, have no P-realisers. This justifies the paracomplete and paraconsistent character of
$\mathsf {LET_C}$
.
In Rose [Reference Rose22], it is proved that there exists an intuitionistic propositional formula for which the substitution of number-theoretic formulas for its propositional variables produces realisable but not intuitionistically provable formulas. Although our definition of P-realisability and N-realisability of formulas of
$\mathsf {N4^{\star }}$
does not depend on an arithmetic (or any other) theory, Rose’s result and the fact that
$\mathsf {N4^{\star }}$
is a conservative extension of intuitionistic propositional logic (cf. [Reference Odintsov18, Corollary 8.6.6]) are strong reasons to believe that the reciprocal of Corollary 5.3 and of Theorem 5.2 are not valid.
6 On the constructivity of
$\mathsf {LET_C}$
As stated in [Reference Wansing25, pp. 341–342]:
Sometimes the term “constructive logic” is used as a synonym for “intuitionistic logic”. However, logics other than intuitionistic logic have also been said to be constructive, like, for instance, Johansson’s minimal logic, Heyting–Brouwer logic, or David Nelsons’s logics with strong negation. Whereas there exists the system of classical propositional and predicate logic, it is far from clear whether there exists exactly one system of constructive logic. In a situation where there are no clear, agreed-upon, individually necessary and jointly sufficient conditions for the constructiveness of a logical system, it seems quite difficult or next to pointless to designate one particular logic as the correct constructive logic. Nevertheless, for some reasons certain logics may still be regarded as constructive logics.
Some reasons to justify that
$\mathsf {LET_C}$
is a constructive logic are the following:
-
• $\mathsf {LET_C}$
does not satisfy the Principle of Excluded Middle (PEM). According to [Reference Negri and von Plato16, p. 27], “Under the constructive interpretation, the law of excluded middle is not an empty “tautology,” but expresses the decidability of proposition A.” The failure of PEM is then related to the existence of undecidable propositions, and is usually used to justify that a logic is constructive. The decidability of a particular proposition A can be expressed in
$\mathsf {LET_C}$
by
. -
• $\mathsf {LET_C}$
satisfies the disjunction property (i.e., if
$\vdash A {\vee } B$
, then
$\vdash A$
or
$\vdash B$
).Footnote
3
This is another property usually used to justify that a logic is constructive. -
• $\mathsf {LET_C}$
also satisfies the (negation of) conjunction property (i.e., if
$\vdash \mathop {\sim } (A {\wedge } B)$
, then
$\vdash \mathop {\sim } A$
or
$\vdash \mathop {\sim } B$
),Footnote
4
which can be viewed as a constructive property dual to the disjunction property. -
• As it was shown in Section 3, $\mathsf {LET_C}$
admits a BHK-style interpretation where evidence for accepting or rejecting compound propositions are treated as constructions, in an analogous way as the BHK-interpretation for
$\mathsf {Int}$
offers a constructive interpretation of that logic in terms of proofs. -
• The system $\mathsf {LET_C^{\lambda }}$
provides an explicit representation of evidence by means of
$\lambda _C$
-calculus terms, which represent algorithmic procedures to calculate evidence of compound propositions base on evidence for their constituent parts. -
• The realisability interpretation provided for $\mathsf {LET_C}$
, Theorem 5.2 and Corollary 5.3 establish a strong connection between derivations in
$\mathsf {LET_C}$
and recursive functions, which also highlights the algorithmic nature of the evidence building process in
$\mathsf {LET_C}$
.
Since the classical negation of a proposition is true iff the proposition is false, classical negation expresses falsity. Moreover, the classical negation of a proposition A can be defined as the intuitionistic negation (i.e., as
$A \to \bot $
), which can be interpreted as the impossibility of A be true. Consequently, in classical logic there is no distinction between falsity and impossibility of truth. Intuitionistically, it is less clear whether or not there is a distinction between falsity and impossibility of truth. Although Shramko [Reference Shramko23] recognises that “There is a tradition to present intuitionistic falsity of a sentence as truth of its (intuitionistic) negation.” and claims that “Brouwer and Heyting seem not to have any special conception of falsity as a philosophical (or semantic) notion. Whenever they occasionally speak of falsity, they simply mean intuitionistic negation.”, he proposes a “genuine intuitionistic notion of falsity” which is not captured by the intuitionistic negation. On the other hand, as shown in Section 2, in
$\mathsf {LET_C}$
the notions of falsity and impossibility of truth are clearly separated.
From a constructive point of view, it seems clear that
$\mathsf {Int}$
allows only direct proofs to establish the truth of propositions. However, if it is accepted that intuitionistic negation represents intuitionistic falsity, then
$\mathsf {Int}$
allows only indirect proofs to establish the falsity of propositions. Consequently, if by a “constructive proof” we mean a “direct proof”, under the interpretation of negation as falsity,
$\mathsf {Int}$
allows only constructive proofs to establish the truth of propositions and no constructive proofs to establish the falsity of propositions. However, if we understand intuitionistic negation as impossibility of truth,
$\mathsf {Int}$
not only allows constructive (or direct) proofs to establish the truth of propositions, but also to establish the impossibility of the truth of propositions. In our view, the correct interpretation of intuitionistic negation is the later one, and we agree with Shramko that intuitionistic negation does not represent falsity. The failure of the (negation of) conjunction property in
$\mathsf {Int}$
can be seen as a consequence of the fact that the intuitionistic negation does not represent falsity.
In
$\mathsf {LET_C}$
, the constructive negation represents falsity (i.e.,
$\mathop {\sim } A$
can be interpreted as “A is false”), the intuitionistic negation represents impossibility of truth (i.e.,
$\mathop {\neg } A$
must be interpreted as “it is impossible that A be true”), and the constructive negation of co-intuitionistic negation represents impossibility of falsity (i.e.,
must be interpreted as “it is impossible that A be false”). As it was shown in Section 2, these notions are separated in
$\mathsf {LET_C}$
. From a constructive point of view,
$\mathsf {LET_C}$
allows only direct proofs to establish the truth of propositions and the impossibility of the truth of propositions, and also allows only direct proofs to establish the falsity of propositions and the impossibility of the falsity of propositions. Taking “direct proof” as a synonym for “constructive proof”, it follows that
$\mathsf {LET_C}$
is constructively richer than
$\mathsf {Int}$
.
Intuitively, it seems reasonable to infer the falsity of a proposition from the impossibility of its truth, and the truth of a proposition from the impossibility of its falsity, which leads us to consider the inclusion of the following rules to
$\mathsf {LET_C}$
(taking into account that
and
$\mathop {\neg } \mathop {\sim } A$
are strongly equivalent in
$\mathsf {LET_C}$
):
However, it is easy to show that the inclusion of these rules makes admissible the following rules:
![Two logical proofs. Left: [tilde A] over vertical dots over contradiction all over A (R A sub 1). Right: [A] over vertical dots over contradiction all over tilde A (R A sub 2).](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20260911133907642-0002:S1079898625000101:S1079898625000101_figu2.png?pub-status=live)
which can be seen as indirect proofs (or proofs by reductio ad absurdum) for the truth or the falsity of A, respectively. Using the rule
$(E_{\mathop {\sim } \mathop {\sim }})$
, it can be proven that
$(E_{\mathop {\neg }})$
makes admissible
$(E_{\mathop {\neg } \mathop {\sim }})$
, and that
$(E_{\mathop {\neg } \mathop {\sim }})$
makes admissible
$(E_{\mathop {\neg }})$
. Consequently, the addition of either of these two rules to
$\mathsf {LET_C}$
will cause the system to lose its constructivist properties.
It can also be considered reasonable that the falsity of a proposition implies the impossibility of its truth, and that the truth of a proposition implies the impossibility of its falsity, which would lead us to consider adding the following rules to
$\mathsf {LET_C}$
:
It can also be proven that the addition of
$(I_{\mathop {\neg }})$
makes admissible
$(I_{\mathop {\neg } \mathop {\sim }})$
, and that the addition of
$(I_{\mathop {\neg } \mathop {\sim }})$
makes admissible
$(I_{\mathop {\neg }})$
. Moreover, it is evident that the addition of (
$I_{\mathop {\neg }}$
) to
$\mathsf {LET_C}$
will make the constructive negation explosive. Consequently, the addition of
$(I_{\mathop {\neg } })$
or
$(I_{\mathop {\neg } \mathop {\sim }})$
to
$\mathsf {LET_C}$
will result in the system becoming non-paraconsistent, and no longer able to formalise deductions in contexts with conflicting information.
7 Concluding remarks and future work
This article introduces the constructive logic of evidence and truth,
$\mathsf {LET_C}$
, a new system within the family of LETs. The logic
$\mathsf {LET_C}$
extends
$\mathsf {N4^{\star }}$
(an extension of Nelson’s paraconsistent logic) by adding connectives for consistency, inconsistency, determinedness, and undeterminedness. Unlike other LETs, which feature a classicality operator that simultaneously restores the consistency and determinacy of certain propositions,
$\mathsf {LET_C}$
provides distinct connectives for the independent recovery of these properties.
Lambda-calculus terms were incorporated into
$\mathsf {LET_C}$
, resulting in the type system
$\mathsf {LET_C^{\lambda }}$
, which provides an explicit formalisation of evidence. This approach contrasts with the one presented in Fitting [Reference Fitting12]. In
$\mathsf {LET_C^{\lambda }}$
, lambda-calculus terms not only represent evidence but also describe algorithmic procedures for deriving evidence for compound formulas based on evidence for their constituent parts.
The Justification Logics proposed in Artemov [Reference Artemov5] generalize the Logic of Proofs (
$\mathsf {LP_{0}}$
), introduced by the same author in Artemov [Reference Artemov3] and further developed in Artemov [Reference Artemov4] and Artemov and Fitting [Reference Artemov and Fitting6].
$\mathsf {LP_{0}}$
formalises the Brouwer–Heyting–Kolmogorov (BHK) provability interpretation of Intuitionistic Logic, with proofs explicitly represented as ‘proof polynomials.’ This formalisation leads to an embedding within Peano Arithmetic. However, as noted in the introduction, the goals and methods of
$\mathsf {LET_C}$
differ significantly from those of justification logics, particularly from
$\mathsf {LP_{0}}$
. Nevertheless, it remains an open possibility to apply
$\mathsf {LP_{0}}$
-like techniques to formalise the BHK-style interpretation of
$\mathsf {LET_C}$
, where ‘evidence’ is understood as ‘proof’ within Nelson’s arithmetic system.
In addition to the algorithmic interpretation offered by the lambda-calculus terms in
$\mathsf {LET_C^{\lambda }}$
, a realisability interpretation is also offered for
$\mathsf {LET_C}$
which highlights the constructive properties of this logic, establishing a close relationship between deductions and recursive functions.
As previously stated in Section 6,
$\mathsf {LET_C}$
is a logic that extends
$\mathsf {Int}$
, generating new constructivist properties.
$\mathsf {LET_C}$
enables not only constructive demonstrations for the truth and the impossibility of truth of propositions, but also for the falsity and the impossibility of falsity of propositions. The separation between truth and impossibility of falsity, and between falsity and impossibility of truth, is a key component for
$\mathsf {LET_C}$
to achieve its constructivist properties.
Extending
$\mathsf {LET_C}$
to a first-order logic is not particularly difficult. This can be achieved by incorporating the rules for the quantifiers
$\forall $
and
$\exists $
, along with their negations, as done in Nelson’s logic with quantifiers. Additionally, the rules for dependent types (
$\Pi $
-types and
$\Sigma $
-types) allow to extend
$\mathsf {LET_C^{\lambda }}$
to a system that includes types for the quantifiers and their negations. The realisability interpretation also appears to extend naturally to a first-order version of
$\mathsf {LET_C}$
. However, these extensions are not presented in this article, as we believe that the most interesting aspects of our proposal are already captured at the propositional level.
As mentioned in the Introduction,
$\mathsf {LET_C}$
formalises an instantaneous view of evidence-based deductions, where reasoning is based solely on the current available information. To capture a more dynamic perspective—where an agent can revise or incorporate new evidence based on their deductions—it may be valuable to develop a meta-reasoning architecture (meta-logic) for
$\mathsf {LET_C}$
. This meta-reasoning could allow for the modification of hypotheses (or theories) according to reasonable criteria. Such an approach would separate reasoning based on existing evidence (formalised within the logical system) from reasoning about the evidence itself (which would be formalised in the meta-logic). This presents an exciting avenue for future research.
Although much theoretical and technical work remains before
$\mathsf {LET_C}$
can be applied to the automation of reasoning in contexts involving conflicting and insufficient information, it is worth noting that the concept of constructive justification may be particularly well-suited for exploring algorithmic explainability in the context of Artificial Intelligence.
Acknowledgments
Carnielli acknowledges the intellectual support of Chapman University during a research stay in the Fall semester of 2024. The authors also thank an anonymous and dedicated referee for providing several insightful comments that contributed to improving this work.
Funding
Juan C. Agudelo-Agudelo acknowledges support from the University of Antioquia, Medellín, Colombia (grant number 2023/60030), and from the São Paulo Research Foundation (FAPESP), Brazil (grant number 2020/16353-3) for the preparation of this paper. Walter Carnielli acknowledges support from the National Council for Scientific and Technological Development (CNPq), Brazil (grant 03780/2022-3), and from the São Paulo Research Foundation (FAPESP) Brazil [grant number 2020/16353-3] for the preparation of this paper.













