judge-0.1.3.0: logic/J0-PB.yml
logic: justification
system: tableau
name: J₀
description: |
This is a system for the justification logic J0 (and Jcs, when formulas
from the constant specification are added.
It is decidable through the addition of the principle of bivalence, as
suggested by Finger (2010) and Ghari (2016). This particular system is
based on the one described by Ghari, although the rule CSr was not
present in the original; it emulates closure of the branch upon
encountering [F] φ for some φ ∊ CS.
rules:
- name: "Te"
consume: ["[T] T:A"]
produce:
- ["[T, e] T:A"]
- name: "Fe"
consume: ["[F] T:A"]
produce:
- ["[F, e] T:A"]
- name: "F→"
consume: ["[F] A → B"]
produce:
- ["[T] A", "[F] B"]
- name: "T→"
consume: ["[T] A -> B"]
produce:
- ["[F] A"]
- ["[T] B"]
- name: "F+"
consume: ["[F, e] T+S:A"]
produce:
- ["[F, e] T:A", "[F, e] S:A"]
- name: "T·"
consume: ["[T, e] S:(A → B)", "[T, e] T:A"]
produce:
- ["[T, e] (S * T) : B"]
restrict:
and:
- match: "A → B"
with: [subterms, formulas]
in:
union: [root, assumptions]
- match: "S · T"
with: subterms
in: root
- name: "CSr"
consume: []
produce:
- ["[T] A"]
generate:
match: "A"
with: all
in: assumptions
- name: "PBe"
consume: []
produce:
- ["[T, e] T:A"]
- ["[F, e] T:A"]
generate:
and:
- match: "A"
with: [subterms, formulas]
in:
union: [root, assumptions]
- match: "T"
with: [subterms, justifications]
in: root
- name: "PBf"
consume: []
produce:
- ["[T] A"]
- ["[F] A"]
generate:
match: "A"
with: [subterms, formulas]
in:
union: [root, assumptions]