Skip to content
The Lumenary

Each worksheet prints cleanly on A4 or Letter. Answer keys are on a separate page.

The Lumenary · First-year graduate

Proof theory

Name: ______________________

Date: ______________________

You will learn to

  • Present classical and intuitionistic sequent calculi, and prove cut elimination for classical propositional logic by Gentzen-style reductions
  • Derive the subformula property, consistency and the intuitionistic disjunction property from cut elimination
  • Distinguish syntactic cut elimination from semantic cut admissibility via cut-free completeness
  • Explain the idea of Gentzen's consistency proof for PA\mathsf{PA} by transfinite induction up to ε0\varepsilon_0, and what an ordinal analysis measures
  • Describe the Curry–Howard correspondence, in which normalising a proof is running a program
  1. 1.

    Which rule of the one-sided calculus GS can introduce a formula that is not a subformula of its conclusion?

    • A.Cut: from ⊢Γ,A\vdash \Gamma, A and ⊢Γ,A⊥\vdash \Gamma, A^\perp infer ⊢Γ\vdash \Gamma
    • B.∧\wedge: from ⊢Γ,A\vdash \Gamma, A and ⊢Γ,B\vdash \Gamma, B infer ⊢Γ,A∧B\vdash \Gamma, A \wedge B
    • C.∨\vee: from ⊢Γ,A,B\vdash \Gamma, A, B infer ⊢Γ,A∨B\vdash \Gamma, A \vee B
    • D.The axiom ⊢Γ,p,¬p\vdash \Gamma, p, \neg p
  2. 2.

    In the lesson's proof of the Hauptsatz, the case A=B∧CA = B \wedge C replaces one cut on AA by two cuts. What makes the induction go through?

    • A.The new cut formulas CC and BB have fewer connectives than AA.
    • B.The new derivations are lower than the old ones.
    • C.There are fewer cuts afterwards.
    • D.The context Γ\Gamma gets smaller.
  3. 3.

    Which statement about cut elimination and proof length is correct?

    • A.Eliminating cuts can make proofs vastly longer — non-elementarily so in first-order logic.
    • B.Cut-free proofs are always shorter, since they contain no detours.
    • C.Cut elimination preserves proof length up to a constant factor.
    • D.Proof length is not meaningful because cut is admissible.
  4. 4.

    Why is ⇒p∨¬p\Rightarrow p \vee \neg p not derivable in LJ?

    • A.A cut-free LJ proof of ⇒p∨¬p\Rightarrow p \vee \neg p would end with ∨R\vee R, so ⇒p\Rightarrow p or ⇒¬p\Rightarrow \neg p would be derivable — and neither is.
    • B.Its truth table has a false row.
    • C.LJ has no cut rule.
    • D.LJ cannot express negation.
  5. 5.

    The Goodstein sequence of 44 starts g0=4g_0 = 4 (base 2) and g1=26g_1 = 26 (base 3), since 4=22↦33−1=264 = 2^2 \mapsto 3^3 - 1 = 26. Compute g2g_2.

  6. 6.

    Which statement about PA\mathsf{PA} and transfinite induction (for Gentzen's standard notation system) is correct?

    • A.PA\mathsf{PA} proves transfinite induction up to each α<ε0\alpha \lt \varepsilon_0, but not up to ε0\varepsilon_0.
    • B.PA\mathsf{PA} proves transfinite induction up to ε0\varepsilon_0, which is how it proves its own consistency.
    • C.PA\mathsf{PA} proves transfinite induction only up to ω\omega, which is ordinary induction.
    • D.Transfinite induction cannot be expressed in the language of arithmetic.
  7. 7.

    The Lean proof of cut_admissible is cut_free_complete _ Γ rfl (soundness d). What does this tell you about the proof?

    • A.It is the semantic route: a derivation with cuts is sound, and every valid sequent has a cut-free derivation.
    • B.It is Gentzen's reduction: each cut is pushed upwards until it disappears.
    • C.It assumes cut elimination as an axiom.
    • D.It is trivial because Deriv false and Deriv true are the same predicate.
  8. 8.

    In the Lean file, Deriv : Bool → List Fml → Prop. What does the Boolean argument control?

    • A.Whether the cut rule may be used (true) or not (false).
    • B.Whether the logic is classical or intuitionistic.
    • C.Whether the sequent is valid.
    • D.Whether weakening is allowed.
  9. 9.

    Write bump(n, b), which writes nn in hereditary base bb (exponents in base bb too, recursively) and replaces every bb by b+1b + 1, and goodstein(n, steps), which returns the list [g0,g1,… ][g_0, g_1, \dots] of at most steps + 1 terms, stopping early at 00 (start in base 2; gk+1g_{k+1} = bump of gkg_k in base k+2k + 2, minus 1).

    Computational — Practice

Code: Apache-2.0 · Content: CC BY-SA 4.0