open import Cubical.Core.Primitives

module Substructural.Core.Rules {} (S : Type ) where

open import Substructural.Prelude
open import Substructural.Core.Judgement S

-- Glivenko_substructural.pdf, Section 2:
-- non-structural rules are finite premise lists with one conclusion.
record Rule : Type  where
  constructor mkRule
  field
    premises : List Seq
    conclusion : Seq

open Rule public

RuleSet : Type (ℓ-suc )
RuleSet = Rule  Type 

infix 4 _⊆R_

_⊆R_ : RuleSet  RuleSet  Type 
R ⊆R R' =  {r}  R r  R' r

infixr 5 _∪R_

_∪R_ : RuleSet  RuleSet  RuleSet
(R ∪R R') r = R r  R' r