Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type UCtxt a l = Set (LAxiom a l)
- type LCtxt a l = MultiSet (Neutral a l)
- data LSequent a l = LS {}
- data SubCtxt a = SC {
- _scOnOnlyFirst :: [a]
- _scRestFirst :: [a]
- subCtxtOf :: Ord a => Set a -> Set a -> SubCtxt a
- class NeutralKind (k :: FKind) where
- data Neutral a l = NeutralKind k => N (LFormula k a l)
- withMaybeNeutral :: LFormula k a l -> (NeutralKind k => b) -> (LFormula KConj a l -> b) -> b
- withNeutral :: (forall k. NeutralKind k => LFormula k a l -> b) -> Neutral a l -> b
- switchN :: (LFormula KAtom a l -> b) -> (LFormula KImpl a l -> b) -> Neutral a l -> b
- newtype SchemaLCtxt a l = SLC (LCtxt a l)
- data ActCase
- data SSchema :: * -> * -> ActCase -> * where
- SSEmptyGoal :: SchemaLCtxt a l -> SSchema a l EmptyXiFullResult
- SSFullGoal :: SchemaLCtxt a l -> ReactionList a -> Opaque a l -> SSchema a l FullXiEmptyResult
- data MatchRes :: * -> * -> ActCase -> * where
- MREmptyGoal :: UCtxt a l -> LCtxt a l -> MatchRes a l FullXiEmptyResult
- MRFullGoal :: UCtxt a l -> LCtxt a l -> ReactionList a -> Opaque a l -> MatchRes a l EmptyXiFullResult
- data ZetaXi :: * -> * -> ActCase -> * where
- FullZetaXi :: ReactionList a -> Opaque a l -> ZetaXi a l FullXiEmptyResult
- EmptyZetaXi :: ZetaXi a l EmptyXiFullResult
- elemBaseAll :: (Foldable f, Ord a) => f (Opaque a l) -> ElemBase a
- lcBase :: Ord a => LCtxt a l -> ElemBase a
Documentation
type UCtxt a l = Set (LAxiom a l) Source #
Type of labelled unrestricted contexts, i.e. sets of labelled axioms.
type LCtxt a l = MultiSet (Neutral a l) Source #
Type of labelled neutral contexts, i.e. multisets of neutral labelled formulas.
Type of labelled sequents.
SC | |
|
class NeutralKind (k :: FKind) where Source #
Predicate identifying those formula kinds corresponding to neutral formulas.
Instances
NeutralKind KAtom Source # | |
NeutralKind KImpl Source # | |
Type of neutral formulas, i.e. all formulas whose formula kind is
classified as neutral by NeutralKind
.
NeutralKind k => N (LFormula k a l) |
Instances
(Eq l, Eq a) => Eq (Neutral a l) Source # | |
(Ord l, Ord a) => Ord (Neutral a l) Source # | |
Defined in Zsyntax.Labelled.Rule.Interface | |
(Show a, Show l) => Show (Neutral a l) Source # | |
withMaybeNeutral :: LFormula k a l -> (NeutralKind k => b) -> (LFormula KConj a l -> b) -> b Source #
withNeutral :: (forall k. NeutralKind k => LFormula k a l -> b) -> Neutral a l -> b Source #
newtype SchemaLCtxt a l Source #
Linear contexts that appear in sequent schemas.
Instances
(Ord l, Ord a) => Semigroup (SchemaLCtxt a l) Source # | |
Defined in Zsyntax.Labelled.Rule.Interface (<>) :: SchemaLCtxt a l -> SchemaLCtxt a l -> SchemaLCtxt a l # sconcat :: NonEmpty (SchemaLCtxt a l) -> SchemaLCtxt a l # stimes :: Integral b => b -> SchemaLCtxt a l -> SchemaLCtxt a l # |
Type indicating the possible shapes of an active relation. An active relation has the form
act(delta ; omega ==>_zeta xi)[...] -> gamma' ; delta' -->> res
where either 1. xi is a formula, zeta is a control set, and res is empty, or 2. xi is empty, zeta is empty, and res is a formula.
data SSchema :: * -> * -> ActCase -> * where Source #
Sequent schemas.
SSEmptyGoal :: SchemaLCtxt a l -> SSchema a l EmptyXiFullResult | |
SSFullGoal :: SchemaLCtxt a l -> ReactionList a -> Opaque a l -> SSchema a l FullXiEmptyResult |
data MatchRes :: * -> * -> ActCase -> * where Source #
Pre-sequents to be used as match results.
MREmptyGoal :: UCtxt a l -> LCtxt a l -> MatchRes a l FullXiEmptyResult | |
MRFullGoal :: UCtxt a l -> LCtxt a l -> ReactionList a -> Opaque a l -> MatchRes a l EmptyXiFullResult |
data ZetaXi :: * -> * -> ActCase -> * where Source #
FullZetaXi :: ReactionList a -> Opaque a l -> ZetaXi a l FullXiEmptyResult | |
EmptyZetaXi :: ZetaXi a l EmptyXiFullResult |