Some Axioms for Mathematics

The λ Π-calculus modulo theory is a logical framework in which many logical systems can be expressed as theories. We present such a theory, the theory U , where proofs of several logical systems can be expressed. Moreover, we identify a sub-theory of U corresponding to each of these systems, and prove that, when a proof in U uses only symbols of a sub-theory, then it is a proof in that sub-theory.


Introduction
The λΠ-calculus modulo theory (λΠ/ ≡) [13], implemented in the system Dedukti [3,29], is a logical framework, that is a framework to define theories.It generalizes some previously proposed frameworks: Predicate logic [28], λ-Prolog [32], Isabelle [34], the Edinburgh logical framework [27], also called the λΠ-calculus, Deduction modulo theory [17,18], Pure type systems [6,39], and Ecumenical logic [36,16,35,25].It is thus an extension of Predicate logic that provides the possibility for all symbols to bind variables, a syntax for proof-terms, a notion of computation, a notion of proof reduction for axiomatic theories, and the possibility to express both constructive and classical proofs.λΠ/ ≡ enables to express all theories that can be expressed in Predicate logic, such as geometry, arithmetic, and set theory, but also Simple type theory [10] and the Calculus of constructions [12], that are less easy to define in Predicate logic.
We present a theory in λΠ/ ≡, the theory U, where all proofs of Minimal, Constructive, and Ecumenical predicate logic; Minimal, Constructive, and Ecumenical simple type theory; Simple type theory with predicate subtyping, prenex predicative polymorphism, or both; the Calculus of constructions, and the Calculus of constructions with prenex predicative polymorphism can be expressed.This theory is therefore a candidate for a universal theory, where proofs developed in implementations of Classical predicate logic (such as automated theorem proving systems, SMT solvers, etc.), Classical simple type theory (such as HOL 4, 20:2 Some Axioms for Mathematics HOL Light, Isabelle/HOL, etc.), the Calculus of constructions (such as Coq, Matita, Lean, etc.), and Simple type theory with predicate subtyping and prenex polymorphism (such as PVS), can be expressed.
Moreover, the proofs of the theory U can be classified as proofs in Minimal predicate logic, Constructive Predicate logic, etc. just by identifying the axioms they use, akin to proofs in geometry that can be classified as proofs in Euclidean, hyperbolic, elliptic, neutral, etc. geometries.More precisely, we identify sub-theories of the theory U that correspond to each of these theories, and we prove that when a proof in U uses only symbols of a sub-theory, then it is a proof in that sub-theory.
In Section 2, we recall the definition of λΠ/ ≡ and of a theory.In Section 3, we introduce the theory U step by step.In Section 4, we provide a general theorem on sub-theories in λΠ/ ≡, and prove that every fragment of U, including U itself, is indeed a theory, that is, it is defined by a confluent and type-preserving rewriting systems.Finally, in Section 5, we detail the sub-theories of U that correspond to the above mentioned systems.

2
The λΠ-calculus modulo theory λΠ/ ≡ is an extension of the Edinburgh logical framework [27] with a primitive notion of computation defined with rewriting rules [14,38].
The terms are those of the Edinburgh logical framework where c belongs to a finite or infinite set of constants C and x to an infinite set V of variables.
The terms TYPE and KIND are called sorts.The term Πx : t, u is called a product.It is dependent if the variable x occurs free in u.Otherwise, it is simply written t → u.Terms are also often written A, B, etc.The set of constants of a term t is written const(t).
A rewriting rule is a pair of terms ℓ → r, such that ℓ = c ℓ 1 . . .ℓ n , where c is a constant.If R is a set of rewriting rules, we write → R for the smallest relation closed by term constructors and substitution containing R, → β for the usual β-reduction, → βR for → β ∪ → R , and ≡ βR for the smallest equivalence relation containing → βR .
The typing rules of λΠ/ ≡ are given in Figure 1.The difference with the rules of the Edinburgh logical framework is that, in the rule (conv), types are identified modulo ≡ βR instead of just ≡ β .In a typing judgement Γ ⊢ Σ,R t : A, the term t is given the type A with respect to three parameters: a signature Σ that assigns a type to the constants of t, a context Γ that assigns a type to the free variables of t, and a set of rewriting rules R. A context Γ is a list of declarations x 1 : B 1 , . . ., x m : B m formed with a variable and a term.A signature Σ is a list of declarations c 1 : A 1 , . . ., c n : A n formed with a constant and a closed term, that is a term term with no free variables.This is why the rule (const) requires no context for typing A. We write |Σ| for the set {c 1 , . . ., c n }, and Λ(Σ) for the set of terms t such that const(t) ⊆ |Σ|.We say that a rewriting rule ℓ → r is in Λ(Σ) if ℓ and r are, and a context It is often convenient to group constant declarations and rules into small clusters, called "axioms".
A relation → preserves typing in Σ, R if, for all contexts Γ and terms t, u and A of Λ(Σ), if Γ ⊢ Σ,R t : A and t → u, then Γ ⊢ Σ,R u : A. The relation → β preserves typing as soon as → βR is confluent (see for instance [7]) for, in this case, the product is injective modulo ≡ βR : Πx : A, B ≡ βR Πx : A ′ , B ′ iff A ≡ βR A ′ and B ≡ βR B ′ .The relation → R preserves typing if every rewriting rule ℓ → r preserves typing, that is: for all contexts Γ, substitutions θ and terms Typing rules of λΠ/ ≡ with signature Σ and rewriting rules R.
Although typing is defined with arbitrary signatures Σ and sets of rewriting rules R, we are only interested in sets R verifying some confluence and type-preservation properties.
▶ Definition 1 (System, theory).A system is a pair Σ, R such that each rule of R is in Λ(Σ).It is a theory if → βR is confluent on Λ(Σ), and every rule of R preserves typing in Σ, R.
Therefore, in a theory, → βR preserves typing since → β preserves typing (for → βR is confluent) and → R preserves typing (for every rule preserves typing).We recall two other basic properties of λΠ/ ≡ we will use in Theorem 7:

3
The theory U

Object-terms
The notions of term, proposition, and proof are not primitive in λΠ/ ≡.The first axioms of the theory U introduce these notions.We first define a notion analogous to the Predicate logic notion of term, to express the objects the theory speaks about, such as the natural numbers.As all expressions in λΠ/ ≡ are called "terms", we shall call these expressions "object-terms", to distinguish them from the other terms.
The easiest way to build the notion of object-term in λΠ/ ≡ would be to declare a constant I of type TYPE and constants of type I → ... → I → I for the function symbols, for instance a constant 0 of type I and a constant succ of type I → I.The object-terms, for instance F S C D 2 0 2 1 20:4 Some Axioms for Mathematics (succ (succ 0)) and (succ x), would then just be λΠ/ ≡ terms of type I and, in an object-term, the variables would be λΠ/ ≡ variables of type I.If we wanted to have object-terms of several sorts, like in Many-sorted predicate logic, we could just declare several constants I 1 , I 2 , ..., I n of type TYPE.But these sorts would be mixed with the other terms of type TYPE, which we will introduce later.Instead, we declare a constant Set of type

Implication
In the theory U, we then declare a constant for implication

Proofs
Predicate logic defines a language for terms and propositions, but proofs have to be defined in a second step, for instance as derivations in natural deduction, sequent calculus, etc.These derivations, like object-terms and propositions, are trees.Therefore, they can be represented as λΠ/ ≡ terms.
Using the Brouwer-Heyting-Kolmogorov interpretation, a proof of the proposition A ⇒ B should be a λΠ/ ≡ term expressing a function mapping proofs of A to proofs of B. Then, using the Curry-de Bruijn-Howard correspondence, the type of this term should be the proposition A ⇒ B itself.But, this is not possible in the theory U yet, as the proposition A ⇒ B has the type Prop, and not the type TYPE.So we introduce an embedding Prf of propositions into types, mapping each proposition A to the type Prf A of its proofs Note that this embedding is not surjective.In particular Set, El ι, and Prop are not types of proofs.So, there are more types than propositions, and propositions and types are not fully identified.

20:5
According to the Brouwer-Heyting-Kolmogorov interpretation, a proof of A ⇒ A is a λΠ/ ≡ term expressing a function mapping proofs of A to proofs of A. In particular, the identity function λx : Prf A, x mapping each proof of A to itself is a proof of A⇒A.According to the Curry-de Bruijn-Howard correspondence, this term should have the type Prf (A ⇒ A), but it has the type Prf A → Prf A. So, the types Prf (A ⇒ A) and Prf A → Prf A must be identified.To do so, we use the fact that λΠ/ ≡ allows the declaration of rewriting rules, so that Prf In the theory U, the Brouwer-Heyting-Kolmogorov interpretation of proofs for implication is made explicit: it is the rule (⇒-red).

Universal quantification
Unlike implication, the universal quantifier binds a variable.Thus, we express the proposition ∀z A as the proposition ∀ (λz : El ι, A) [10,32,34,27], yielding the type (El ι → Prop) → Prop for the constant ∀ itself.But, we want to allow quantification over variables of any type El B, for B of type Set.Thus, we generalize this type to and we write ∀ ι (λz : El ι, A) for the proposition ∀z A.
Just like for the implication, we declare a rewriting rule expressing that the type of the proofs of the proposition ∀ x p is the type of functions mapping each z of type El x to a proof of p z Again, the Brouwer-Heyting-Kolmogorov interpretation of proofs for the universal quantifier is made explicit: it is this rule (∀-red).

Other constructive connectives and quantifiers
We define the other connectives and quantifiers, à la Russell, for instance Prf (x ∧ y) as Πz : Prop, (Prf x → Prf y → Prf z) → Prf z.In this definition, we do not use the quantifier ∀ of the theory U (so far, in the theory U, we can quantify over the type El ι, but not over the type Prop), but the quantifier Π of the logical framework λΠ/ ≡ itself.
Remark that, per se, the quantification on the variable z of type Prop is predicative, as the term Πz : Prop, (Prf x → Prf y → Prf z) → Prf z has type TYPE and not Prop.But, the rule rewriting Prf (x ∧ y) to Πz : Prop, (Prf x → Prf y → Prf z) → Prf z introduces some impredicativity, as x ∧ y of type Prop is "defined" as the inverse image, for the embedding Prf, of the type Πz :

Infinity
Now that we have the symbols ⊤ and ⊥, we can express that the type El ι is infinite, that is, that there exists a non-surjective injection from this type to itself.We call this non-surjective injection succ.To express its injectivity, we introduce its left inverse pred.To express its non-surjectivity, we introduce an element 0, that is not in its image positive [19].This choice of notation enables the definition of natural numbers as some elements of type El ι

Classical connectives and quantifiers
The disjunction in constructive logic and in classical logic are governed by different deduction rules, thus they have a different meaning, and they should be expressed with different symbols, for instance ∨ for the constructive disjunction and ∨ c for the classical one, just like, in classical logic, we use two different symbols for the inclusive disjunction and the exclusive one.These constructive and classical disjunctions need not belong to different languages, but they can coexist in the same Ecumenical one [36,16,35,25].Many Ecumenical logics consider the constructive connectives and quantifiers as primitive and attempt to define the classical ones from them, using the negative translation as a definition.In the theory U, we have chosen to define the classical connectives and quantifiers as in [1], for instance A ∨ c B as (¬¬A) ∨ (¬¬B).Using these definitions, the proposition , which is not exactly the negative translation ¬¬((¬¬((¬¬P ) ∧ (¬¬Q))) ⇒ (¬¬P )) of (P ∧ Q) ⇒ P , as the double negation at the root of the proposition is missing.As we already have a distinction between the proposition A and the type Prf A of its proofs, we can just include this double negation into the constant Prf, introducing a classical version Prf c of this constant Note that ⊤ c and ⊥ c are ⊤ and ⊥, by definition.Note also that ¬¬¬A is equivalent to ¬A, so we do not need to duplicate negation either.

Propositions as objects
So far, we have mainly reconstructed the Predicate logic notions of object-term, proposition, and proof.We can now turn to two notions coming from Simple type theory: propositions as objects and functionality.
Simple type theory can be expressed in Predicate logic and Predicate logic is a restriction of Simple type theory, allowing quantification on variables of type ι only.So, once we have reconstructed Predicate logic, we can either define Simple type theory as a theory in Predicate logic or as an extension of Predicate logic.In the theory U, we choose the second option, which leads to a simpler expression of Simple type theory, avoiding the stacking of two encodings.Simple type theory is thus expressed by adding two axioms on top of Predicate logic: one for propositions as objects and one for functionality.
Let us start with propositions as objects.So far, the term ι is the only closed term of type Set.So, we can only quantify over the variables of type El ι.In particular, we cannot quantify over propositions.

Functionality
Besides ι and o, we introduce more types in the theory, for functions and sets.To do so, we declare a constant ⇝ and a rewriting rule For instance, these rules enable the construction of the λΠ/ ≡ term ι ⇝ ι of type Set that expresses the simple type ι → ι.The λΠ/ ≡ term El (ι ⇝ ι) of type TYPE rewrites to El ι → El ι.The simply typed term λx : ι, x of type ι → ι is then expressed as the term λx : El ι, x of type El ι → El ι that is El (ι ⇝ ι).

Dependent function types
The axiom (⇝) enables us to give simple types to the object-terms expressing functions.We can also give them dependent types, with the dependent versions of this axiom Note that, if we apply the constant ⇝ d to a term t and a term λz : El t, u, where the variable z does not occur in u, then El (t ⇝ d λz : El t, u) rewrites to El t → El u, just like El (t ⇝ u).Thus, the constant ⇝ d is useful only if we can build a term λz : El t, u where the variable z occurs in u.With the symbols we have introduced so far, this is not possible.Just like we have a constant ι of type Set, we could add a constant array of type El ι → Set such that array n is the type of arrays of length n.We could then construct the term (ι ⇝ d λx : El ι, array x) of type Set and the type El (ι ⇝ d λx : El ι, array x) that rewrites to Πx : El ι, El (array x), would be the type of functions mapping a natural number n to an array of length n.So, this symbol ⇝ d becomes useful, only if we add such a constant array, object-level dependent types, or the symbols π or psub below.

Dependent implication
In the same way, we can add a dependent implication, where, in the proposition A ⇒ B, the proof of A may occur in B

Proofs in object-terms
To construct an object-term, we sometimes want to apply a function symbol to other objectterms and also to proofs.For instance, we may want to apply the Euclidean division div to two numbers t and u and to a proof that u is positive.To be able to so, we introduce another constant π and the corresponding rewriting rule This way, we can give, to the constant div, the type If we also have a constant eq ι of type El (ι ⇝ ι ⇝ o), we can then express the proposition positive y ⇒ d λp : Prf (positive y), eq ι (div x y p) (div x y p) usually written y > 0 ⇒ x/y = x/y.The proposition x/y = x/y is well-formed, but it contains an implicit free variable p, for a proof of y > 0. This variable is bound by the implication, that needs therefore to be a dependent implication.

Proof irrelevance
If p and q are two non convertible proofs of the proposition positive 2, the terms div 7 2 p and div 7 2 q are not convertible.As a consequence, even if we had a reflexivity axiom for the aforementioned equality eq ι , the proposition eq ι (div 7 2 p) (div 7 2 q) would not be provable.
To make these terms convertible, we embed the theory into an extended one, that contains another constant and a rule div x y p → div † x y and we define convertibility in this extended theory.This way, the terms div 7 2 p and div 7 2 q are convertible, as they both reduce to div † 7 2.
Note that, in the extended theory, the constant div † enables the construction of the erroneous term div † 1 0. But the extended theory is only used to define the convertibility in the restricted one and this term is not a term of the restricted theory.It is not even the reduct of a term of the form div 1 0 r [20,9].

Dependent pairs and predicate subtyping
Instead of declaring a constant div that takes three arguments: a number t, a number u, and a proof p that u is positive, we can declare a constant that takes two arguments: a number t and a pair pair ι positive u p formed with a number u and a proof p that u is positive.
The type of the pair pair ι positive u p is written psub ι positive, or informally {x : ι | positive x}.It can be called "the type of positive numbers".It is a subtype of the type of natural numbers defined with the predicate positive.Therefore, the symbol psub introduces predicate subtyping.We thus declare a constant psub and a constant pair psub : Πt : Set, (El t → Prop) → Set (psub-decl) This way, instead of giving the type El (ι ⇝ ι ⇝ d λy : Prf (positive y), ι) to the constant div, we can give it the type El (ι ⇝ psub ι positive ⇝ ι).
To avoid introducing a new positive number pair ι positive 3 p with each proof p that 3 is positive, we make this symbol pair proof irrelevant [20,9] by introducing a symbol pair † and a rewriting rule that discards the proof This declaration and this rewriting rule are not part of the theory U but of the theory U † used to define the conversion on the terms of U.

Prenex predicative type quantification in types
Using the symbols of the theory U introduced so far, the symbol for equality of elements of type ι is eq ι of type El (ι ⇝ ι ⇝ o).This equality symbol is not polymorphic.Indeed, it cannot be used to express the equality of, for example, functions of type ι ⇝ ι.This motivates the introduction of object-level polymorphism [24,37].However extending Simple type theory with object-level polymorphism makes it inconsistent [30,11], and similarly it makes the theory U inconsistent.So, object-level polymorphism in U is restricted to prenex polymorphism.To do so, we introduce a new constant Scheme of type TYPE, a constant Els to embed the terms of type Scheme into terms of type TYPE, a constant ↑ to embed the terms of type Set into terms of type Scheme and a rule connecting these embeddings Scheme : TYPE (Scheme-decl) We then introduce a quantifier for the variables of type Set in the terms of type Scheme and the associated rewriting rule This way, we can give the polymorphic type Els ( A (λA : Set, ↑ (A ⇝ A ⇝ o))) to the equality eq.In the same way, the type of the identity function is Els ( A (λA : Set, ↑ (A ⇝ A))).It rewrites to ΠA : Set, El A → El A. Therefore, it is inhabited by the term λA : Set, λx : El A, x.

Prenex predicative type quantification in propositions
When we express the reflexivity of the polymorphic equality, we need also to quantify over a type variable, but now in a proposition.To be able to do so, we introduce another quantifier and its associated rewriting rule This way, the reflexivity of equality can be expressed as ( A (λA : Set, ∀ A (λx : El A, eq A x x))).
This large number of axioms is explained by the fact that λΠ/ ≡ is a weaker framework than Predicate logic.The 19 first axioms are needed just to construct notions that are primitive in Predicate logic: terms, propositions, with their 13 constructive and classical connectives and quantifiers, and proofs.So the theory U is just 19 axioms on top of the definition of Predicate logic.

Sub-theories
Not all proofs require all these axioms.Many proofs can be expressed in sub-theories built by bringing together some of the axioms of U, but not all.Given subsets Σ S of Σ U and R S of R U , we would like to be sure that a proof in U, using only constants in Σ S , is a proof in Σ S , R S .Such a result is trivial in Predicate logic: for instance, a proof in ZFC which does not use the axiom of choice is a proof in ZF, but it is less straightforward in λΠ/ ≡, because Σ S , R S might not be a theory.So we should not consider any pair Σ S , R S .For instance, as Set occurs in the type of El, if we want El in Σ S , we must take Set as well.In the same way, as positive (succ x) rewrites to ⊤, if we want (positive) and (succ) in Σ S , we must include ⊤ in Σ S and the rule rewriting positive (succ x) to ⊤ in R S .
This leads to a definition of a notion of sub-theory and to prove that, if Σ 1 , R 1 is a subtheory of a theory Σ 0 , R 0 , Γ, t and A are in Λ(Σ 1 ), and Γ ⊢ Σ0,R0 t : A, then Γ ⊢ Σ1,R1 t : A.
This property implies that, if π is a proof of A in U and both A and π are in Λ(Σ 1 ), then π is a proof of A in Σ 1 , R 1 , but it does not imply that if A is in Λ(Σ 1 ) and A has a proof in U, then it has a proof in Σ 1 , R 1 .
Proof.By induction on the position where the rule is applied.We only detail the case of a top reduction, the other cases easily following by induction hypothesis.
R 0 and it is a theory.As we already know that R 1 is confluent, this amounts to say that each rule of R 1 preserves typing in Σ 1 , R 1 .
The other cases are a simple application of the induction hypothesis.
If the last rule of the derivation is as Γ, A, and t are in Λ(Σ 1 ), by induction hypothesis, there exists A ′ in Λ(Σ 1 ) such that TYPE → * 0 A ′ and Γ ⊢ 1 A : A ′ is derivable, and there exists B ′ in Λ(Σ 1 ) such that B → * 0 B ′ and Γ, x : A ⊢ 1 t : B ′ is derivable.As TYPE is a sort, A ′ = TYPE.Therefore, Γ ⊢ 1 A : TYPE is derivable.As B is typable and every subterm of a typable term is typable, KIND does not occur in B. As B → * 0 B ′ and no rule contains KIND, KIND does not occur in B ′ as well.Hence, B ′ ̸ = KIND.By Lemma 2, as Γ, x : A ⊢ 1 t : B ′ is derivable and B ′ ̸ = KIND, there exists a sort s ′ such that Γ, x : A ⊢ 1 B ′ : s ′ is derivable.Thus, by the rule (abs), Γ ⊢ 1 λx : A, t : Πx : A, B ′ is derivable.So there is as Γ, t, and u are in Λ(Σ 1 ), by induction hypothesis, there exist C and A 2 in Λ(Σ 1 ), such that Πx : and rewriting rules are of the form (c l 1 . . .l n → r), there exist A 1 and In a similar way, as A 2 ∈ Λ(Σ 1 ) and , and Σ 1 , R 1 preserves typing, Γ ⊢ 1 Πx : A ′ , B 1 : s is derivable.In a similar way, as Γ ⊢ 1 A 1 : TYPE is derivable, and Therefore, by the rule (conv), Γ ⊢ 1 t : Πx : A ′ , B 1 and Γ ⊢ 1 u : A ′ are derivable.Therefore, by the rule (app), Γ ⊢ 1 t u : (u/x)B 1 is derivable.So there exists as Γ and t are in Λ(Σ 1 ), by induction hypothesis, there exists As B is typable and every subterm of a typable term is typable, KIND does not occur in B. As B → * 0 C and no rule contains KIND, KIND does not occur in C as well.Thus C ̸ = KIND.
Proof.The relation → βR U is confluent on Λ(Σ U ) since it is an orthogonal combinatory reduction system [31].Hence, after the fragment theorem, it is sufficient to prove that every rule of R U preserves typing in any fragment Σ 1 , R 1 containing the symbols of the rule.
To this end, we will use the criterion described in [8, Theorem 19] which consists in computing the equations that must be satisfied for a rule left-hand side to be typable, which are system-independent, and then check that the right-hand side has the same type modulo these equations in the desired system: for all rules l → r ∈ Λ(Σ 1 ), sets of equations E and terms T , if the inferred type of l is T , the typability constraints of l are E, and r has type type T in the system Λ(Σ 1 ) whose conversion relation ≡ βRE has been enriched with E, then l → r preserves typing in Λ(Σ 1 ).
This criterion can easily be checked for all the rules but (pred-red2) and (fst-red) because, except in those two cases, the left-hand side and the right-hand side have the same type.
In (pred-red2), pred (succ x) → x, the left-hand side has type El ι if the equation type(x) = El ι is satisfied.Modulo this equation, the right-hand side has type El ι in any fragment containing the symbols of the rule.
In (fst-red), fst t p (pair † t ′ p ′ m) → m, the left-hand side has type El t if type(t) = Set, type(p) = El t → P rop, El (psub t ′ p ′ ) = El (psub t p), type(t ′ ) = Set, type(p ′ ) = El t ′ → P rop, and type(m) = El t ′ .But, in U, there is no rule of the form El (psub t p) → r.Hence, In orange: Minimal, Constructive, and Ecumenical simple type theory.In green: Simple type theory with prenex polymorphism.In blue: Simple type theory with predicate subtyping.In cyan: Simple type theory with predicate subtyping and prenex polymorphism.In pink: the Calculus of constructions with a constant ι, without and with prenex polymorphism.
by confluence, the equation El (psub t ′ p ′ ) = El (psub t p) is equivalent to the equations t ′ = t and p ′ = p.Therefore, the right-hand side is of type El t in every fragment of U containing the symbols of the rule.◀

Examples of sub-theories of the theory U
We finally identify 13 sub-theories of the theory U, that correspond to known theories.For each of these sub-theories Σ S , R S , according to the Corollary 8, if Γ, t, and A are in Λ(Σ S ), and Γ ⊢ Σ U ,R U t : A, then Γ ⊢ R S ,Σ S t : A.
Minimal predicate logic.The 7 axioms (Set), (El), (ι), (Prop), (Prf), (⇒), and (∀) define Minimal predicate logic.This theory can be proven equivalent to more common formulations of Minimal predicate logic.As Minimal predicate logic is itself a logical framework, it must be complemented with more axioms, such as the axioms of geometry, arithmetic, etc.
Simple type theory with predicate subtyping.Adding to the 9 axioms of Minimal simple type theory the 5 axioms of predicate subtyping yields Minimal simple type theory with predicate subtyping, formed with the 14 axioms (Set), (ι), (El), (Prop), (Prf), (⇒), (∀), (o), (⇝), (psub), (pair), (pair † ), (fst), and (snd).This theory can be proven equivalent to more common formulations of Minimal simple type theory with predicate subtyping [23,9].Such formulations like PVS [33] often use predicate subtyping implicitly to provide a lighter syntax without (pair), (pair † ), (fst) nor (snd) but at the expense of losing uniqueness of type and making type-checking undecidable.In these cases, terms generally do not hold the proofs needed to be of a sub-type, which provides proof irrelevance.Our implementation of proof irrelevance of Section 3 Page 9 extends the conversion in order to ignore these proofs.
Simple type theory with predicate subtyping and prenex polymorphism.Adding to the 9 axioms of Simple type theory both the 5 axioms of predicate subtyping and the 5 axioms of prenex polymorphism yields a sub-theory with 19 axioms which is a subsystem of PVS [33] handling both predicate subtyping and prenex polymorphism.
The Calculus of constructions.Some developments in the Calculus of constructions choose to declare the types of mathematical objects such as ι, nat, etc. in * , that would correspond to ι : Prop, fully identifying types and propositions.We did not make this choice in the theory U, because, then, the type ι of the constant 0 has type * and the type ι → * of the constant positive has type □, while, in Simple type theory, both ι and ι → o are simple types.So the expression of the simple type ι → o requires type constructors and not dependent types.Dependent types, the constant π, are thus marginalized to type functions mapping proofs to terms.
In the Calculus of constructions with a constant ι of type □, there are no dependent types and no polymorphism at the object level, the latter leading to an inconsistent system [30,11].There are no object-level dependent types in the theory U, that is the type El ι → Set of the symbol array is not equivalent to a term of the form ε △ A, but such dependent types could be added.Polymorphism is discussed below.
The Minimal sub-theory.Adding the axioms (⇒) and (⇝) yields a sub-theory with the 12 axioms (Set), (El), (ι), (Prop), (Prf), (⇒), (∀), (o), (⇝), (⇝ d ), (⇒ d ), and (π) called the "Minimal sub-theory" of the theory U.It contains both the 10 axioms of the Calculus of constructions and the 9 axioms of Minimal simple type theory.It is a formulation of the Calculus of constructions where dependent and non dependent arrows are distinguished.A proof expressed in the Calculus of constructions can be expressed in this theory.In a proof, every symbol ⇝ d or ⇒ d that uses a dummy dependency can be replaced with a symbol ⇝ or ⇒.Every proof that does not use ⇝ d , ⇒ d and π, can be expressed in Minimal simple type theory.

Conclusion
The theory U is thus a candidate for a universal theory where proofs developed in various proof systems: HOL Light, Isabelle/HOL, HOL 4, Coq, Matita, Lean, PVS, etc. can be expressed.This theory can be complemented with other axioms to handle inductive types, co-inductive types, universes, etc. [2,41,21].

20:17
Each proof expressed in the theory U can use a sub-theory of the theory U, as if the other axioms did not exist: the classical connectives do not impact the constructive ones, propositions as objects and functionality do not impact predicate logic, dependent types and predicate subtyping do not impact simple types, etc.
The proofs in the theory U can be classified according to the axioms they use, independently of the system they have been developed in.Finally, some proofs using classical connectives and quantifiers, propositions as objects, functionality, dependent types, or predicate subtyping may be translated into smaller fragments and used in systems different from the ones they have been developed in, making the theory U a tool to improve the interoperability between proof systems.

F S C D 2 0 2 1 20: 16 Some
Axioms for Mathematicsthe Calculus of constructions in λΠ/ ≡ is in fact a conservative extension of the original formulation of the Calculus of constructions, where the judgement x : Set ⊢ x : Set can be derived.Allowing the declaration of variables of type Set in the Calculus of constructions usually requires to add a sort △ and an axiom □ : △[22].This is not needed here.The Calculus of constructions with a type ι.Adding the axiom (ι) to the Calculus of constructions yields a sub-theory with the 10 axioms (Set), (El), (ι), (Prop), (Prf), (⇒ d ), (∀), (o), (⇝ d ), and (π).It corresponds to the Calculus of constructions with an extra constant ι of type □.Adding a constant of type Set in λΠ/ ≡, like adding variables of type Set does not require to introduce an extra sort △.
TYPE, a constant ι of type Set, and a constant El to embed the terms of type Set into terms of type TYPE can be replaced with the term El ι.If we want to have object-terms of several sorts, we declare several constants ι 1 , ι 2 , etc. of type Set.The types of object-terms then have the form El A and are distinguished among the other terms of type TYPE.Assigning the type Set → TYPE to the constant El uses the fact that λΠ/ ≡ supports dependent types.Just like λΠ/ ≡ does not contain a primitive notion of object-term, it does not contain a primitive notion of proposition, but tools to define this notion.To do so, in the theory U, we declare a constant Prop of type TYPE and predicate symbols are then just constants of type El ι → . . .→ El ι → Prop.Propositions are then λΠ/ ≡ terms of type Prop.
To do so, we just need to declare a constant o of type Set and a rule identifying El o and Prop Note that just like there are no terms of type ι, but terms, such as 0, which have type El ι, there are no terms of type o, but terms, such as ⊤, that have type El o, that is Prop.Applying the constant ∀ to the constant o, we obtain a term of type (El o → Prop) → Prop, that is (Prop → Prop) → Prop, and we can express the proposition ∀p (p ⇒ p) as ∀ o (λp : Prop, p ⇒ p).The type Prf (∀ o (λp : Prop, p ⇒ p)) of the proofs of this proposition rewrites to Πp : Prop, Prf p → Prf p. So, the term λp : Prop, λx : Prf p, x is a proof of this proposition.
Finally, we declare the projections fst and snd together with an associated rewriting rule fst : Πt : Set, Πp : El t → Prop, El (psub t p) → El t (fst-decl) fst t p (pair † t ′ p ′ m) → m (fst-red) snd : Πt : Set, Πp : El t → Prop, Πm : El (psub t p), Prf (p (fst t p m))(snd-decl) Yet, it is known that if a proposition contains only classical connectives and quantifiers, it is provable in Ecumenical predicate logic if and only if it is provable in classical predicate logic.