Sequent calculus and variants #
This file defines a characterization of Tait style calculus and Gentzen style calculus.
Main Definitions #
Structural rules #
One-sided $\mathbf{LK}$ #
Instances
Instances
Equations
- FFL.Structural.cast d h = h ▸ d
Instances For
Repeated weakening along a traversal (a routine structural derivation).
Equations
Instances For
Repeated contraction along a traversal (a routine structural derivation).
Equations
- One or more equations did not get rendered due to their size.
- FFL.Structural.contractMany Multiset.Traversal.zero d_2 = FFL.Structural.cast d_2 ⋯
Instances For
Absorbs a formula already in the context (a routine structural derivation).
Equations
Instances For
Expands multiset inclusion into local structural rules using traversals.
Equations
- FFL.Structural.ofSubset tΓ tΔ d h = FFL.Structural.ofSubset.go tΓ h (FFL.Structural.cast (FFL.Structural.weakenMany tΔ d) ⋯)
Instances For
Equations
- FFL.Structural.ofSubset.go Multiset.Traversal.zero h_2 d_2 = FFL.Structural.cast d_2 ⋯
- FFL.Structural.ofSubset.go (Multiset.Traversal.succ φ t_2) h_2 d_2 = FFL.Structural.ofSubset.go t_2 ⋯ (FFL.Structural.absorb (FFL.Structural.cast d_2 ⋯) ⋯)
Instances For
Alias of FFL.Structural.cast.
Equations
Instances For
Alias of FFL.Structural.weakenMany.
Repeated weakening along a traversal (a routine structural derivation).
Equations
Instances For
Alias of FFL.Structural.ofSubset.
Expands multiset inclusion into local structural rules using traversals.
Equations
Instances For
Equations
- FFL.OneSidedLK.contra tΓ tΔ d h = FFL.OneSidedLK.ofSubset tΓ tΔ d h
Instances For
Equations
- FFL.OneSidedLK.close φ t hp hn = FFL.OneSidedLK.contra (Multiset.Traversal.succ (∼φ) (Multiset.Traversal.atom φ)) t (FFL.OneSidedLK.identity φ) ⋯
Instances For
Equations
Instances For
Equations
- FFL.OneSidedLK.tensor tΓ tΔ dφ dψ = FFL.OneSidedLK.and (FFL.OneSidedLK.cast (FFL.OneSidedLK.weakenMany tΔ dφ) ⋯) (FFL.OneSidedLK.cast (FFL.OneSidedLK.weakenMany tΓ dψ) ⋯)
Instances For
Alias of FFL.OneSidedLK.Cut.cut.
Equations
Instances For
Equations
- FFL.OneSidedLK.eCut d₁ d₂ e = FFL.OneSidedLK.cut d₁ (FFL.OneSidedLK.cast d₂ ⋯)
Instances For
Eliminating falsum is the routine cut against the verum rule.
Equations
Instances For
Modus ponens with independent side contexts. This is the routine cut derivation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- FFL.OneSidedLK.disj₂ d_2 = FFL.OneSidedLK.cast (FFL.Structural.weakening (FFL.OneSidedLK.cast d_2 ⋯)) ⋯
- FFL.OneSidedLK.disj₂ d_2 = FFL.OneSidedLK.cast d_2 ⋯
- FFL.OneSidedLK.disj₂ d_2 = FFL.OneSidedLK.or (FFL.OneSidedLK.cast (FFL.OneSidedLK.disj₂ (FFL.OneSidedLK.cast d_2 ⋯)) ⋯)
Instances For
Equations
- FFL.OneSidedLK.conj₂ tΔ d_2 = FFL.OneSidedLK.cast (FFL.OneSidedLK.weakenMany tΔ FFL.OneSidedLK.verum) ⋯
- FFL.OneSidedLK.conj₂ tΔ d_2 = d_2 φ ⋯
- FFL.OneSidedLK.conj₂ tΔ d_2 = FFL.OneSidedLK.and (d_2 φ ⋯) (FFL.OneSidedLK.conj₂ tΔ fun (χ : F) (h : χ ∈ ψ :: Γ_2) => d_2 χ ⋯)
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
The rule expansion of the classical negation equivalence axiom. This is a routine syntactic derivation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The rule expansion of the K axiom. This is a routine syntactic derivation.
Equations
Instances For
The rule expansion of the S axiom. This is a routine syntactic derivation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The rule expansion of the first conjunction axiom. This is a routine syntactic derivation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The rule expansion of the second conjunction axiom. This is a routine syntactic derivation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The rule expansion of conjunction introduction. This is a routine syntactic derivation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The rule expansion of the first disjunction axiom. This is a routine syntactic derivation.
Equations
Instances For
The rule expansion of the second disjunction axiom. This is a routine syntactic derivation.
Equations
Instances For
The rule expansion of disjunction elimination. This is a routine syntactic derivation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The rule expansion of double-negation elimination. This is a routine syntactic derivation.
Equations
Instances For
A one-sided classical calculus induces classical entailment whenever singleton derivations can be embedded as proofs. This is the routine translation of the Hilbert axioms into one-sided sequent rules.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
Equations
- FFL.OneSidedLK.Pullback 𝔇 f Γ = 𝔇 (Multiset.map (⇑f) Γ)
Instances For
Equations
- FFL.OneSidedLK.Pullback.cast d h = id (h ▸ d)
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- FFL.OneSidedLK.Pullback.instPrincipalEntailmentPullbackCoeHomPullback 𝓟 = { equiv := fun {φ : G} => FFL.OneSidedLK.PrincipalEntailment.equiv }