Expand description
Auto-generated module
π€ Generated with SplitRS
FunctionsΒ§
- acquire_
ty Acquire : SharedMemType β SType β STypeAcquire a lock, then continue with a typed session.- affine_
type_ ty AffineType : Type β PropPredicate for affine types (used at most once).- ambience_
compatibility_ ty AmbienceCompatibility : Choreography β GType β PropThe choreography is compatible with the ambient global type.- app
- app2
- app3
- arrow
- async_
dual_ ty AsyncDual : AsyncSType β AsyncSTypeDual of an asynchronous session type.- async_
end_ ty AsyncEnd : AsyncSTypeTermination of an asynchronous session.- async_
recv_ ty AsyncRecv : Type β AsyncSType β AsyncSTypeAsynchronous receive: eventually retrieve from buffer; continuation after receipt.- async_
send_ ty AsyncSend : Type β AsyncSType β AsyncSTypeAsynchronous send: message is placed in a buffer; continuation does not wait.- async_
stype_ ty AsyncSType : TypeAsynchronous session type with buffered channels.- bang_ty
Bang : LLProp β LLPropExponential modality:!Aβ unrestricted use.- bool_ty
- buffer_
bound_ ty BufferBound : AsyncSType β Nat β PropThe buffer size is bounded byn; prevents unbounded queuing.- build_
session_ types_ env - Build the session types environment.
- bvar
- cast_
insertion_ ty CastInsertion : GSType β SType β GSType β PropCast insertion: convert between gradual and static session types.- catch_
ty Catch : ExSType β ExSType β ExSTypetry S catch Hβ run S, if exception H is raised, switch to handler.- channel_
ty Channel : SType β TypeA typed channel:Chan Sis a channel whose protocol isS.- choreography_
consistency_ ty ChoreographyConsistency : Choreography β PropA choreography is consistent if all endpoint projections are compatible.- choreography_
ty Choreography : TypeA global choreography: the global view of a multiparty protocol.- close_
ty close : Chan End β UnitClose a finished channel.- coinductive_
ty Coinductive : SType β PropCoinductive (possibly infinite) session type.- cst
- ctx_
split_ ty CtxSplit : LinearCtx β LinearCtx β LinearCtx β PropContext splitting: the left context is the disjoint union of the right two.- curry_
howard_ ll_ ty CurryHowardLL : LLProp β SType β PropThe Curry-Howard correspondence between MILL propositions and session types.- cut_
elim_ ty CutElim : PropCut elimination theorem for MILL: every proof can be made cut-free.- data_
race_ free_ ty DataRaceFree : SharedMemType β PropA shared memory protocol is data-race free by type structure.- deadlock_
free_ ty DeadlockFree : Process β PropA process is deadlock-free if all reachable states are not stuck.- deadlock_
freedom_ thm_ ty DeadlockFreedomThm : β (P : Process) (S : SType), WellTyped P S β DeadlockFree PDeadlock freedom from type well-typedness.- dep_
channel_ ty DepChannel : DepSType β Type- dep_
dual_ ty DepDual : DepSType β DepSType- dep_
end_ ty DepEnd : DepSType- dep_
recv_ ty DepRecv : {T : Type} β (T β DepSType) β DepSType?x : T. S(x)β receive x of type T, continuation depends on x.- dep_
send_ msg_ ty DepSendMsg : {T : Type} β {S : T β DepSType} β DepChan (DepSend S) β (x : T) β DepChan (S x)- dep_
send_ ty DepSend : {T : Type} β (T β DepSType) β DepSType!x : T. S(x)β send x of type T, continuation depends on x.- dep_
stype_ ty DepSType : TypeDependent session types: the continuation type can depend on communicated values.- dual_
end_ ty dual_end : dual End = End- dual_
involutive_ ty dual_involutive : β (S : SType), dual (dual S) = S- dual_
send_ ty dual_send : β (T : Type) (S : SType), dual (Send T S) = Recv T (dual S)- dual_ty
dual : SType β STypeDuality: swapsSendandRecv, swapsSChoiceandSBranch.- dyn_
stype_ ty DynSType : GSTypeThe dynamic session type?β completely unchecked at compile time.- dynamic_
monitor_ ty DynamicMonitor : GSType β PropA session type that must be monitored at runtime.- end_ty
End : STypeSession termination β the session has ended.- endpoint_
projection_ ty EndpointProjection : Choreography β Role β LTypeProject a choreography onto a roleβs local type.- equi_
recursive_ ty EquiRecursive : SType β PropPredicate for equi-recursive session types (implicit fold/unfold).- eventual_
delivery_ ty EventualDelivery : AsyncSType β PropEvery message sent is eventually delivered (liveness guarantee).- ex_
stype_ ty ExSType : TypeSession types extended with exceptions and failure handling.- exception_
safe_ ty ExceptionSafe : ExSType β PropA session type is exception-safe if all exceptions are handled.- expected_
cost_ ty ExpectedCost : ProbSType β Nat β PropExpected number of communication steps is bounded by n.- fault_
tolerant_ ty FaultTolerant : ExSType β PropA process is fault-tolerant if it can recover from any exception.- fold_ty
Fold : SType β STypeFold back a session type into a recursive form.- g_
stype_ ty GSType : TypeGradual session types: mixing static and dynamic checking.- gchoice_
ty GChoice : Role β Role β GType β GType β GTypep + q { Gβ, Gβ }β role p makes a choice communicated to q.- gcomm_
ty GComm : Role β Role β Type β GType β GTypep β q : T. Gβ role p sends a value of type T to role q, then continues as G.- gend_ty
GEnd : GTypeThe end of the global protocol.- global_
view_ ty GlobalView : GType β ChoreographyExtract the global view (choreography) from a global type.- gradual_
consistency_ ty GradualConsistency : GSType β GSType β PropGradual consistency: two session types agree on their static parts.- gradual_
recv_ ty GradualRecv : Type β GSType β GSTypeGradual receive: partially statically checked.- gradual_
send_ ty GradualSend : Type β GSType β GSTypeGradual send: partially statically checked.- grec_ty
GRec : (GType β GType) β GTypeRecursive global type:ΞΌX.G(X).- gtype_
ty GType : TypeA global session type (the overall protocol from a birdβs-eye view).- ho_
dual_ ty HODual : HOSType β HOSTypeDual of a higher-order session type.- ho_
stype_ ty HOSType : TypeHigher-order session types: channels can carry session channels.- impl_pi
- infer_
stype_ ty InferSType : Process β SType β PropSession type inference judgment.- inference_
complete_ ty InferenceComplete : PropCompleteness of session type inference.- inference_
sound_ ty InferenceSound : PropSoundness of session type inference.- is_
value_ ty IsValue : Process β Prop- iso_
recursive_ ty IsoRecursive : SType β PropPredicate for iso-recursive session types (explicit fold/unfold).- lbranch_
ty LBranch : Role β LType β LType β LTypeExternal choice from roler.- lchoice_
ty LChoice : Role β LType β LType β LTypeInternal choice offered to roler.- lend_ty
LEnd : LTypeSession end from one participantβs perspective.- linear_
ctx_ ty LinearCtx : TypeA linear typing context: a finite map from names to (linear) types.- linear_
safety_ ty LinearSafety : Process β PropA process is safe if channels are used linearly (exactly once).- linear_
type_ ty LinearType : Type β PropPredicate asserting a type is linear (used exactly once).- linear_
well_ typed_ ty LinearWellTyped : LinearCtx β Process β SType β PropTyping judgment for linear processes.- list_ty
- ll_
prop_ ty LLProp : TypePropositions in multiplicative intuitionistic linear logic (MILL).- locally_
consistent_ ty LocallyConsistent : LType β Prop- lolli_
ty Lolli : LLProp β LLProp β LLPropLinear implication:A βΈ B.- lrecv_
ty LRecv : Role β Type β LType β LType?p(T).Lβ receive T from role p, continue as L.- lsend_
ty LSend : Role β Type β LType β LType!q(T).Lβ send T to role q, continue as L.- ltype_
ty LType : TypeA local session type: the protocol from one participantβs perspective.- markov_
chain_ protocol_ ty MarkovChainProtocol : ProbSType β PropThe probabilistic session type has a finite-state Markov chain interpretation.- mergeability_
ty Mergeability : LType β LType β PropTwo local types can be merged (for projection of choices not involving a role).- mutex_
ty Mutex : Type β SharedMemTypeA mutex protecting a resource of type T.- nat_ty
- par_ty
Par : LLProp β LLProp β LLPropMultiplicative disjunction:A β B.- participants_
ty Participants : GType β List RoleExtract the set of roles participating in a global type.- pi
- principal_
stype_ ty PrincipalSType : Process β SType β PropThe principal (most general) session type of a process.- prob_
choice_ ty ProbChoice : SType β SType β ExprSβ β[p] Sββ choose Sβ with probability p, Sβ with probability 1-p.- prob_
stype_ ty ProbSType : TypeProbabilistic session type with Markov-chain semantics.- prob_
termination_ ty Termination : ProbSType β PropThe probabilistic session terminates with probability 1 (almost-sure termination).- process_
ty Process : TypeThe type of processes in the session calculus.- progress_
thm_ ty ProgressThm : β (P : Process) (S : SType), WellTyped P S β IsValue P β¨ β P', Reduces P P'- progress_
ty Progress : Process β SType β PropProgress: a well-typed process either terminates or can take a step.- project_
ty project : GType β Role β LTypeProject a global type onto a specific roleβs local type.- projection_
sound_ ty ProjectionSound : β (G : GType) (p : Role), WellFormed G β LocallyConsistent (project G p)Soundness of projection: projections of well-formed globals are locally consistent.- prop
- realization_
ty Realization : Choreography β GType β PropA choreography is realized by a global type.- recv_
chan_ ty RecvChan : SType β HOSType β HOSType?Chan(S).Tβ receive a channel of type S, then continue as T.- recv_
contravariant_ ty RecvContravariant : β T Sβ Sβ, SSubtype Sβ Sβ β SSubtype (Recv T Sβ) (Recv T Sβ)Receive is contravariant in the continuation (dual direction).- recv_
msg_ ty recv_msg : {T : Type} β {S : SType} β Chan (Recv T S) β (T Γ Chan S)Receive a message from a channel.- recv_ty
Recv : Type β SType β SType?T.Sβ receive a value of type T, then continue as S.- reduces_
ty Reduces : Process β Process β PropOne-step reduction relation.- release_
ty Release : SharedMemType β SType β STypeRelease a lock, then continue.- role_ty
Role : TypeA participant role in a multiparty session.- sbranch_
ty SBranch : SType β SType β STypeExternal choice:Sβ & Sββ offer both branches, peer selects.- schoice_
ty SChoice : SType β SType β STypeInternal choice:Sβ β Sββ select one branch to send.- send_
chan_ ty SendChan : SType β HOSType β HOSType!Chan(S).Tβ send a channel of type S, then continue as T.- send_
covariant_ ty SendCovariant : β T Sβ Sβ, SSubtype Sβ Sβ β SSubtype (Send T Sβ) (Send T Sβ)Send is covariant in the continuation.- send_
msg_ ty send_msg : {T : Type} β {S : SType} β Chan (Send T S) β T β Chan SSend a message along a channel.- send_ty
Send : Type β SType β SType!T.Sβ send a value of type T, then continue as S.- session_
passing_ ty SessionPassing : HOSType β PropA higher-order session type that involves session-passing.- shared_
mem_ type_ ty SharedMemType : TypeSession types for shared memory concurrency.- srec_ty
SRec : (SType β SType) β STypeIso-recursive session type:ΞΌX.S(X).- ssubtype_
refl_ ty SSubtypeRefl : β S, SSubtype S S- ssubtype_
trans_ ty SSubtypeTrans : β Sβ Sβ Sβ, SSubtype Sβ Sβ β SSubtype Sβ Sβ β SSubtype Sβ Sβ- ssubtype_
ty SSubtype : SType β SType β PropBehavioral subtyping:Sβ <: Sβmeans Sβ can be used where Sβ is expected.- string_
ty - stuck_
ty Stuck : Process β PropA process is stuck if it cannot reduce and is not a value.- stype_
equiv_ ty STypeEquiv : SType β SType β PropBisimilarity / coinductive equality of session types.- stype_
subst_ ty STypeSubst : TypeA session type substitution.- stype_
ty SType : TypeThe type of binary session types.- stype_
unify_ ty STypeUnify : SType β SType β STypeSubst β PropUnification of session types under a substitution.- subject_
reduction_ ty SubjectReduction : PropSubject reduction: typing is preserved by reduction.- svar_ty
SVar : Nat β STypeSession type variable (de Bruijn index).- tensor_
ty Tensor : LLProp β LLProp β LLPropMultiplicative conjunction:A β B.- throw_
ty Throw : Type β ExSTypeRaise an exception of the given type, terminating the session.- type0
- type_
safety_ ty TypeSafety : PropType safety: well-typed processes do not go wrong.- unfold_
preserves_ dual_ ty UnfoldPreservesDual : β S, dual (Unfold S) = Unfold (dual S)- unfold_
ty Unfold : SType β STypeUnfold one step of a recursive session type:ΞΌX.S(X) β¦ S(ΞΌX.S(X)).- unrestricted_
type_ ty UnrestrictedType : Type β PropPredicate for unrestricted (reusable) types.- well_
formed_ ty WellFormed : GType β PropA global type is well-formed if all roles are consistent and the protocol terminates.- well_
typed_ process_ ty WellTypedProcess : Process β SType β Prop- why_
not_ ty WhyNot : LLProp β LLPropExponential modality:?Aβ potential use.