• No results found

We give the definition of inductive predicates and its axioms.

Definition 2.3.6 (Inductively defined predicates). Suppose that formulas Ki fori < k are

of the form ∀~xi((Aiν)ν<ni →X~ti), then I := µX(K~) is an inductively defined predicate if

Pred(I). We denote Aiν(X) to describe the free occurrences ofX in Aiν. The introduction

axioms are obtained by replacing each occurrence of X inK~ by I.

∀~x((Aiν(I))ν<ni →I~t). I

+

We refer to each introduction axiom of I derived from Ki by Ii+, possibly with additional

parentheses for the readability. Let P be a predicate variable of the same arity asI. The elimination axiom of I is of the following form,

∀~x(I~x→(Bi(I, P))i<k →P ~x), I−

which is referred to by I−. Let I∩P be{~x|I~x∧P ~x}, then Bi(I, P) is given as follows,

∀~x((Aiν(I∩P))ν<ni →P~t),

namely, by replacing the final occurrence of X in Ki by P and all other X by I ∩P.

Conventionally, when an occurrence of X in the premise of the implication in Ki is not

given as a parameter argument of another predicate constant, we duplicate I and P by currying rather than using conjunction. We call Aiν(X) a parameter premise if it doesnot

contain X, otherwise a recursive premise. Occurrences of X as parameter arguments of a previously defined predicate are called nested, and predicates involving a nested occurrence of X are called nested inductively defined predicates.

Roughly speaking, the elimination axiom I− states that if a predicate P can replaceI

in Ii+ for all i < k, I is smaller than P. In our formulation, the strengthening is used in the step formulas, so that I∩P is assumed in premises instead of P. When there is no confusion, we can give a list of introduction axioms instead of µX(K~) in order to define

an inductive predicate. To make parameter predicates explicit, we write parameters as subscripts, as IX~ where X~ are parameter predicates of I. For readability, it can be written

by parentheses as well, i.e., I(X~).

We take a look at one example of inductive definition.

Example 2.3.7 (Leibniz equality). We define Leibniz equality by eqdρ :=µX(∀xρX(x, x)),

where ρ is a type parameter. The introduction and elimination axioms are

∀xρ(eqd(x, x)), eqd+

∀x,y(eqd(x, y)→ ∀xP xx→P xy), eqd−

where eqd(x, y) abbreviates eqdρ(xρ, yρ). We adopt the infix notation as xeqdy.

Lemma 2.3.8 (Compatibility of eqd). ∀x,y(x eqd y→P x→P y).

Proof. Let x and y be given and assume x eqd y. We use eqd− for x eqd y to prove the goal P x→P y. The step formula ∀x(P x→P x) is trivial.

We define truth T and falsity F to be T eqd T and FeqdT, respectively. We have

ex-falso-quodlibet for a certain class of formulas in minimal logic. The proof deals with the case of coinductively defined predicates which will be described in Section 2.3.2.

Theorem 2.3.9 (Ex-falso-quodlibet). Let A be an absolutely inhabited formula, then there is a proof of F→A.

Proof. First, we claim that arbitraryxρ and yρ are Leibniz equal if F is assumed. Letxρ

and yρ be given, and assume F. Trivially, (RρBFx y) eqd (RρBTy x) comes by eqd+. We use 2.3.8 with FeqdT, then (RρBTx y) eqd (RρBTy x), namely, xeqdy also holds.

Let X~ be free predicate variables in A. By induction on the construction of A. Case A0 →A1. Assume Fand A0, then use induction hypothesis for A1. Case ∀~xA0. Assume F and let ~x be given, then use induction hypothesis for A0. Case I~t. We have the derivation of InhabX~(I~t), where an indexi is determined in the application of the last rule

in Definition 2.3.4. Using the claim at the beginning, our goal is same as I~s, so that the

Ii+ applies, then all premises of Ii+ come by induction hypothesis. Case coI~t. We use coI+

with a competitor predicate P :={~x|F}. The first premise is trivial. We prove the second premise ∀~y(P ~y→ W i<k∃~xi( V ν<niAiν( coIP)V ~

Ei)). Let ~y be given and assumeP ~y. We

have the derivation of InhabX~(coI~t), where an indexi is determined in the application of

the last rule in Definition 2.3.4. UsingW+

, it suffices to prove∃~xi(

V

ν<niAiν(

coIP)V ~

Ei)

which follows from induction hypothesis.

We can define conjunction, disjunction and existential quantifier in our setting, following Martin-L¨of [ML71].

Example 2.3.10 (Conjunction, disjunction and existential quantifier). Conjunction, dis- junction and the existential quantifier are inductively defined as predicates. Let A and B

be propositional variables, i.e., predicate variables of arity 0, and C be a predicate variable of arity (α). We inductively define Conj, Disj and Ex.

ConjA,B :=µX(A→B →X), DisjA,B :=µX(A→X, B →X)

ExC :=µX(∀xα(C x→X)).

We can writeA∧B,A∨B and ∃xA instead of Conj{|A},{|B}, Disj{|A},{|B} and Ex{x|A}. The introduction axioms are as follows.

A→B →A∧B, ∧+ A→A∨B, ∨+ 0 B →A∨B, ∨+ 1 ∀xα(A→ ∃xA), ∃+

LetP be a propositional variable. The elimination axioms are given as follows.

A∧B →(A →B →P)→P, ∧−

A∨B →(A →P)→(B →P)→P, ∨−

Notice that we need e.g. conjunction in the definition of axioms of inductive predicates with a recursive argument, but the definitions of conjunction, disjunction and existential quantifier are recursive arguments free.

Example 2.3.11 (Even numbers). Consider a predicate Even of arity (N). We define Even to beµX(K0, K1) such that

K0 =X0, K1 =∀n(X n→X(S(Sn))).

The introduction axioms are

Even0, Even+0

∀n(Evenn→Even(S(Sn))). Even+1 LetP be a predicate variable of arity (N), then the elimination axiom is

∀n(Evenn→P 0→ ∀n(Evenn →P n →P(S(Sn)))→P n). Even−

Example 2.3.12 (Pointwise equality). Apart from the Leibniz equality, the pointwise equality is inductively definable as well. OnN, we define the pointwise equality =N of arity

(N,N) as follows:

=N:=µX(X00,∀n,m(Xnm→X(Sn)(Sm))).

The introduction and elimination axioms are

0=N 0, (=N)+0

∀n,m(n=N m→Sn=N Sm), (=N)+1 ∀n,m(n=N m→P00→ ∀n,m(n =N m→P nm→P(Sn,Sm))→P nm). (=N)−

For any finitary algebraι, we can also define the pointwise equality onLι which is relativised

by a relationRι onι. We define =Lι to be

µX(X[][],∀x,y(Rιxy → ∀xs,ys(Xxsys→X(x::xs)(y::ys)))).

The introduction and elimination axioms are

[] =Lι [], (=Lι) + 0 ∀x,y(Rιxy→ ∀xs,ys(xs=Lι ys →x::xs=Lι y::ys), (=Lι) + 1 ∀xs,ys(xs=Lys →P[][]→

∀x,y(Rιxy → ∀xs,ys(xs=Lys →P xsys→P(x::xs, y::ys))) →

P xsys).

(=Lι)