Exercises 3: Term associated to a proof, Leivant/Krivine/Parigot arithmetic

Teacher: Gilles Dowek

Ex1

What is the proof-term associated to the proof

\infer[⇒ \text{-elim}]{⊢ ∃x \; (P(x) ⇒ P(x))}{ \infer[⇒ \text{-intro}]{⊢ ∃x \; (P(x) ⇒ P(x)) ⇒ ∃ x \; (P(x) ⇒ P(x))}{ \infer[ax]{∃x \; (P(x) ⇒ P(x)) ⊢ ∃ x \; (P(x) ⇒ P(x))}{\phantom{∃x \; (P(x) ⇒ P(x)) ⊢ ∃ x \; (P(x) ⇒ P(x))}} } & \infer[∃ \text{-intro}]{⊢ ∃x \, (P(x) ⇒ P(x))}{ \infer[⇒ \text{-intro}]{⊢ P(c) ⇒ P(c)}{ \infer[ax]{P(c) ⊢ P(c)}{\phantom{P(c) ⊢ P(c)}} } } }

? Reduce it to its irreducible form.

\infer[⇒ \text{-elim}]{⊢ (λ α: A. α) \; ⟨c, λ β: P(c).β⟩: ∃x \; (P(x) ⇒ P(x))}{ \infer[⇒ \text{-intro}]{⊢ λ(α: A). α : ∃x \; (P(x) ⇒ P(x)) ⇒ ∃ x \; (P(x) ⇒ P(x))}{ \infer[ax]{α: \overbrace{∃x \; (P(x) ⇒ P(x))}^{≝ \, A} ⊢ α: ∃ x \; (P(x) ⇒ P(x))}{\phantom{α: ∃x \; (P(x) ⇒ P(x)) ⊢ α: ∃ x \; (P(x) ⇒ P(x))}} } & \infer[∃ \text{-intro}]{⊢ ⟨c, λ(β: P(c)).β⟩: ∃x \, (P(x) ⇒ P(x))}{ \infer[⇒ \text{-intro}]{⊢ λ(β: P(c)).β: P(c) ⇒ P(c)}{ \infer[ax]{β: P(c) ⊢ β: P(c)}{\phantom{β: P(c) ⊢ β: P(c)}} } } }

Irreducible form:

\infer[∃ \text{-intro}]{⊢ ∃x \, (P(x) ⇒ P(x))}{ \infer[⇒ \text{-intro}]{⊢ P(c) ⇒ P(c)}{ \infer[ax]{P(c) ⊢ P(c)}{\phantom{P(c) ⊢ P(c)}} } }

Ex2

χ(0)0χ(S(n))S(0)

Or:

xy(x=0y=0z(x=Sz)y=1)xN(x)yN(y)(x=0y=0(zx=Sz)y=1)

the second version being a little bit better, as induction scheme can be defined as a rewrite rule, and not as an axiom:

N(t)c(0cxN(x)(xcS(x)c)tc)

With the two rewriting rules , we will show:

xN(x)yN(y)(y=χ(x))xN(x)N(χ(x))

1.

χ is interpreted as the characteristic function of {0}. The proof is exactly the same as the one of theorem 4.10, except that: « The interpretations of the symbols 0, S, +, ×, and Pred are defined in the obvious way. »

With super-consistency, we have termination of proof reduction.

2.

Proof of xN(x)yN(y)(y=χ(x)) by induction.

  • if x=0: y=0 is a witness
  • if x>0: y=1 is suitable
π0=0,ρ0,refl0πs=λα,β,β.1,ρ1,refl1:xN(x)(yN(y)(y=χ(x)))(yN(y)(y=χ(Sx)))

where the ρi’s are the Parigot’s numbers

Now we use the induction scheme (with the rewriting rule of N), with c{xyN(y)y=χ(x)}

λx,γ:N(x).(γcπ0π1)

When you apply this proof to 7, you get 1,ρ1,refl1.

Leave a comment