Core type theory I: Implication and negation David Ripley Monash University http://davewripley.rocks
Introduction
Introduction Background: core logic Core logic (aka ‘intuitionistic relevant logic’) is a system of logic devised and developed by Tennant over the last 40 years.
Introduction Background: core logic In its usual presentation, it’s a first-order logic with vocabulary: Here, I’ll just consider the propositional fragment. → , ¬ , ∧ , ∨ , ∀ , ∃
Introduction Background: core logic In its usual presentation, it’s a first-order logic with vocabulary: → , ¬ , ∧ , ∨ , ∀ , ∃ Here, I’ll just consider the → , ¬ propositional fragment.
Introduction Background: core logic Core logic has close connections to intuitionistic logic. This will loom large here. But its treatment of negation is distinctive.
Introduction Background: Curry-Howard Type theories are a family of formalisms with a wide range of uses. Invented to block paradox, they have taken on a life of their own.
Introduction Background: Curry-Howard They have long been used in the semantics of natural languages and programming languages. Their connection to proofs ties them to formalized, constructive, and proof-relevant mathematics as well.
Introduction Background: Curry-Howard The connection to proofs turns on the ability to see propositions as types, and vice versa. Think of each type ϕ as the proposition ‘ ϕ is inhabited’. Each inhabitant of ϕ is a proof of it.
Introduction Background: Curry-Howard It is usual to suppose we can form function types: a type that cannot be inhabited. given types ϕ and ψ there is a type ϕ → ψ of functions from ϕ to ψ . We may also suppose a empty type ⊥ :
Introduction Background: Curry-Howard Γ , x : ϕ � x : ϕ Γ , x : ϕ � M : ψ Γ � M : ϕ → ψ Γ � N : ϕ Γ � ( λ x . M ) : ϕ → ψ Γ � MN : ψ Γ � M : ⊥ Γ � explode ϕ ( M ) : ϕ
Introduction Background: Curry-Howard Simultaneously a logic and a theory of functions. (The logic is Int → , ⊥ .)
Introduction Core type theory The purpose of this talk is to develop core type theory: which present their own complications in core logic.) the type theory that stands to core logic → , ¬ as a more usual type theory stands to Int → , ⊥ . (Future work will extend this to include ∧ , ∨ ,
Introduction Outline Here’s the plan: Core logic, its distinctive approach to negation, and ‘epistemic gain’ Core type theory and its properties Tying the two together
Introduction Outline One reason to pursue this project: is pretty conspicuously ill-motivated. Γ � M : ⊥ Γ � explode ϕ ( M ) : ϕ
Core logic
Core logic A formulation of core logic Formulas ϕ, ψ, . . . are built from atoms with → , ¬ . Sequents are Γ � C , where Γ is a set of formulas, and C is either a formula or nothing. Say D ≤ C iff either D is empty or else D is C .
Core logic A formulation of core logic Structural rule: Id: Important: no rules of weakening (either side) or cut! ϕ � ϕ
Core logic A formulation of core logic that weakening would allow. → rules: Γ � ϕ ∆ , ψ � C Γ , ϕ � ψ → L: → R: Γ , ∆ , ϕ → ψ � C Γ � ϕ → ψ Γ � ψ Γ , ϕ � → R _ : → R!: Γ � ϕ → ψ Γ � ϕ → ψ Even without weakening, we can introduce the → s
Core logic A formulation of core logic These are almost usual (intuitionistic) negation rules. ¬ rules: Γ � ϕ Γ , ϕ � ¬ L: ¬ R: Γ , ¬ ϕ � Γ � ¬ ϕ But they don’t absorb weakening like the → rules did. So ¬ is where we can see core logic’s nonmonotonicity.
Core logic The resulting logic This builds in left weakening but not right, Tennant defines core consequence ⊢ like so: Γ ⊢ C iff there is some Γ ′ ⊆ Γ such that Γ ′ � C is derivable. and only at the end of a derivation.
Core logic The resulting logic Rather, there are proofs and refutations. There is no proposition ⊥ in core logic (and so no E ⊥ Q rule). A proof of ϕ from Γ is a derivation of Γ ′ � ϕ for some Γ ′ ⊆ Γ . A refutation of Γ is a derivation of Γ ′ � for some Γ ′ ⊆ Γ . Refuting Γ does not suffice for proving ϕ from Γ .
Core logic The resulting logic Results (Tennant): (These results hold for full first-order core logic too.) ⊢ is closely related to ⊢ Int : • Γ ⊢ iff Γ ⊢ Int . • If Γ ̸⊢ , then Γ ⊢ Int ϕ iff Γ ⊢ ϕ . But it is different: ¬ ϕ, ϕ ⊢ Int ψ , but ¬ ϕ, ϕ ̸⊢ ψ , although ¬ ϕ, ϕ ⊢ .
Core logic Epistemic gain Core logic does not admit cut. Cut: Γ � ϕ ∆ , ϕ � C Γ , ∆ � C For example, ¬ ϕ � ϕ → ψ and ϕ → ψ, ϕ � ψ are both derivable, but ¬ ϕ, ϕ � ψ is not.
Core logic Epistemic gain Instead, core logic has a property Tennant calls epistemic gain: not a partial replacement, but a more precise statement of what really mattered all along. If Γ � ϕ and ∆ , ϕ � C are both derivable, then there is a derivable sequent Σ � D such that Σ ⊆ Γ ∪ ∆ and D ≤ C . This is meant to supersede cut-admissibility;
Core logic Epistemic gain In terms of consequence, this gives us: We can chain proofs together, so long as we’re prepared to maybe find a refutation of our combined premises instead. if Γ ⊢ ϕ and ∆ , ϕ ⊢ C , then Γ , ∆ ⊢ D , for some D ≤ C .
Core logic Epistemic gain One last fact about core logic: adding cut to the system gives precisely intuitionistic logic. Seen this way, it is a distinctive proof system for good old Int, with not all derivable sequents having cutfree derivations. All derivable sequents do have cutfree derivable subsequents. (‘Subsequent’ here with ⊆ on left and ≤ on right.)
Core logic Epistemic gain Full disclosure: I’m not yet 100% sure this is core logic. Tennant’s formulation involves more restrictive discharge policies, and his derivations are not closed under substitution. My derivations are all substitution instances of core derivations. even though it adds more derivations. I don’t think this affects derivability,
A term calculus
A term calculus Types Types are our old formulas: built from atoms with → , ¬ . ϕ → ψ are function types: their canonical inhabitants give you a ψ if you give them a ϕ . ¬ ϕ are exception types: their canonical inhabitants cancel the current calculation when they encounter a ϕ .
A term calculus Terms Terms are either typed terms or refutation terms. Handled Church-style; every term wears a hat: (Hoping to extend this to Curry-style, but the proofs were easier this way.) either its (unique) type, or else ⊥ if it’s a refutation term.
A term calculus Terms There are no refutation variables. There are six kinds of complex term: There is no vacuous binding. Terms start from countably many variables x ϕ , y ϕ , . . . of each type ϕ . ( M ϕ → ψ N ϕ ) ψ ( λ x ϕ . M ψ ) ϕ → ψ ( λ _ . M ψ ) ϕ → ψ ( λ ! x ϕ . M ⊥ ) ϕ → ψ ( M ¬ ϕ � N ϕ ) ⊥ ( r x ϕ . M ⊥ ) ¬ ϕ In the right column, x ϕ must occur free in M , and becomes bound. α equivalents are identified.
A term calculus Terms There are no refutation variables. There are six kinds of complex term: There is no vacuous binding. Terms start from countably many variables x ϕ , y ϕ , . . . of each type ϕ . ( M ϕ → ψ N ϕ ) ψ ( λ x ϕ . M ψ ) ϕ → ψ ( λ _ . M ψ ) ϕ → ψ ( λ ! x ϕ . M ⊥ ) ϕ → ψ ( M ¬ ϕ � N ϕ ) ⊥ ( r x ϕ . M ⊥ ) ¬ ϕ In the right column, x ϕ must occur free in M , and becomes bound. α equivalents are identified.
A term calculus These six ways of compounding terms correspond directly to the six connective-introducing rules. Terms Γ � M ϕ ∆ , x ψ � N C Γ , x ϕ � M ψ → L: → R: Γ , ∆ , y ϕ → ψ � ( N C [ x ψ �→ ( yM ) ψ ]) C Γ � ( λ x ϕ . M ψ ) ϕ → ψ Γ , x ϕ � M ⊥ Γ � M ψ → R _ : → R!: Γ � ( λ _ . M ψ ) ϕ → ψ Γ � ( λ ! x ϕ . M ⊥ ) ϕ → ψ Γ , x ϕ � M ⊥ Γ � M ϕ ¬ L: ¬ R: Γ , y ¬ ϕ � ( y ¬ ϕ � M ϕ ) ⊥ Γ � ( r x ϕ . M ⊥ ) ¬ ϕ
A term calculus Redexes A redex is an occurrence of one of these four forms. (( λ x ϕ . M ψ ) ϕ → ψ N ϕ ) ψ (( λ _ . M ψ ) ϕ → ψ N ϕ ) ψ (( r x ϕ . M ⊥ ) ¬ ϕ � N ϕ ) ⊥ (( λ ! x ϕ . M ⊥ ) ϕ → ψ N ϕ ) ψ The last is an explosive redex; the rest are nonexplosive.
A term calculus Redexes All redexes are applications or contradictions with a complex left component. So no redex is created in any core derivation: all applications and contradictions have variables on the left.
A term calculus Redexes Redexes are instead created by cuts; Recall that this is intuitionistic logic. The core term calculus is a core-logic lens on intuitionistic logic. the term calculus corresponds to core logic plus cut.
A term calculus Cut and substitution Here’s how cut works with terms: Cut: Since cuts can put complex terms where variables used to be, they can create redexes. Γ � M ϕ ∆ , x ϕ � N C Γ , ∆ � ( N C [ M ϕ �→ x ϕ ]) C
Recommend
More recommend