Expand description
Auto-generated module
🤖 Generated with SplitRS
Functions§
- abstracting_
gradual_ typing_ ty - AbstractingGradualTyping: AGT framework lifting predicates to gradual types
- abstraction_
nominal_ ty - AbstractionNominal:
⟨a⟩t— nominal abstraction over fresh name a - abstraction_
ty - Abstraction: λ.t (binder in de Bruijn — no variable name needed)
- affine_
type_ ty - AffineType: a type that may be used at most once (weakening allowed)
- affine_
typing_ ty - AffineTyping: affine typing judgment (weakening OK, no contraction)
- algebraic_
effect_ type_ ty - AlgebraicEffectType: a type for algebraic effects with operations Op
- app
- app2
- app3
- application_
ty - Application: t s
- applicative_
order_ redex_ ty - ApplicativeOrderRedex: leftmost-innermost redex (call by value)
- arrow
- arrow_
type_ ty - ArrowType: function type A → B in simple type theory
- bang_
modality_ ty - BangModality: the
!Amodality — unrestricted use of A - base_
type_ ty - BaseType: a ground/atomic type
- beta_
equiv_ ty - BetaEquiv: β-equivalence (=β)
- beta_
redex_ ty - BetaRedex: t is a beta redex iff t = (λ.s) u
- beta_
reduction_ ty - BetaReduction: reflexive transitive closure of →β
- beta_
step - Perform one-step β-reduction under the given strategy.
- beta_
step_ applicative - beta_
step_ head - beta_
step_ ty - BetaStep: one-step β-reduction t →β s
- binary_
session_ typing_ ty - BinarySessionTyping: Γ ⊢ P : S (binary session typing)
- blame_
calculus_ term_ ty - BlameCalculusTerm: a term in the blame calculus (with casts and labels)
- blame_
label_ ty - BlameLabel: a label tracking the source of a runtime type failure
- blame_
theorem_ ty - BlameTheorem: well-typed programs can only be blamed at boundaries
- bohm_
equiv_ ty - BohmEquiv: two terms are Böhm-equal iff their Böhm trees are equal
- bohm_
theorem_ ty - BohmTheorem: two distinct β-normal forms are separable by a context
- bohm_
tree_ of_ ty - BohmTreeOf: compute the Böhm tree of a term
- bohm_
tree_ ty - BohmTree: the Böhm tree of a lambda term (possibly infinite)
- bool_ty
- bounded_
quantification_ ty - BoundedQuantification: ∀ X <: T. U (F-sub style bounded ∀)
- build_
lambda_ calculus_ env - Populate an
Environmentwith lambda-calculus axioms and theorem stubs. - bvar
- cbn_
reduction_ ty - CallByNeedReduction: lazy/sharing evaluation
- cbv_
reduction_ ty - CallByValueReduction: strict/CBV evaluation
- check_
type - Type checking for the simply-typed lambda calculus.
Returns
trueiffctx ⊢ term : ty. - church
- Build the Church numeral for
n. c_n = λf. λx. f^n x - church_
add - Apply PLUS to two Church numerals and reduce to normal form.
- church_
arith_ correct_ ty - ChurchArithCorrect: Church arithmetic is correct w.r.t. Nat arithmetic
- church_
bool_ f_ ty - ChurchEncoding_BoolF: System F encoding of booleans ∀ α. α → α → α
- church_
exp_ ty - ChurchExp: exponentiation combinator E = λm.λn.n m
- church_
is_ zero_ ty - ChurchIsZero: test whether a Church numeral is zero
- church_
list_ f_ ty - ChurchEncoding_ListF: System F encoding of lists ∀ α β. β → (α → β → β) → β
- church_
mul - Church multiplication: MUL = λm. λn. λf. m (n f)
- church_
mul_ ty - ChurchMul: multiplication combinator M = λm.λn.λf.m (n f)
- church_
nat_ f_ ty - ChurchEncoding_NatF: System F encoding of natural numbers ∀ α. (α → α) → α → α
- church_
numeral_ correct_ ty - ChurchNumeralCorrect: church_numeral n reduces to the standard encoding
- church_
numeral_ ty - ChurchNumeral: the Church encoding of n as λf.λx.f^n x
- church_
plus - Church addition: PLUS = λm. λn. λf. λx. m f (n f x)
- church_
plus_ ty - ChurchPlus: addition combinator M = λm.λn.λf.λx.m f (n f x)
- church_
pred_ ty - ChurchPred: predecessor combinator (Kleene encoding)
- church_
rosser_ theorem_ ty - ChurchRosserTheorem: β-reduction is confluent
- church_
succ - Church successor: S = λn. λf. λx. f (n f x)
- church_
succ_ ty - ChurchSucc: the successor combinator S = λn.λf.λx.f (n f x)
- cic_
elimination_ ty - CICElimination: the elimination/recursor for an inductive type
- cic_
inductive_ type_ ty - CICInductiveType: an inductive type in the Calculus of Inductive Constructions
- cic_
positivity_ condition_ ty - CICPositivityCondition: strict positivity for inductive types
- coc_
sn_ ty - CoCStrongNormalization: the Calculus of Constructions is SN
- coc_ty
- CoC: the Calculus of Constructions (top of the λ-cube)
- coeffect_
system_ ty - CoeffectSystem: a type system tracking resource usage via graded types
- coeffect_
typing_ ty - CoeffectTyping: Γ ⊢ t : T graded by r
- coercion_
function_ ty - CoercionFunction: a coercion c : A → B witnessing A <: B
- confluence_
ty - Confluence: the reflexive transitive closure of →β has the diamond property
- cst
- cumulative_
hierarchy_ ty - CumulativeHierarchy: Uᵢ ⊆ Uᵢ₊₁ (lifting from one universe to the next)
- deadlock_
freedom_ ty - DeadlockFreedom: well-typed session processes do not deadlock
- delimited_
continuation_ ty - DelimitedContinuation: type of delimited continuation operators (shift/reset)
- dependent_
session_ type_ ty - DependentSessionType: a session type indexed by values (dependent sessions)
- diamond_
property_ ty - DiamondProperty: if t →₁ u and t →₁ v then ∃ w, u →₁ w and v →₁ w
- dual_
session_ ty - DualSession: the dual of a session type (swap sends and receives)
- dyn_
type_ ty - DynType: the dynamic type
?(unknown type) - effect_
label_ ty - EffectLabel: a label for a computational effect
- effect_
set_ ty - EffectSet: a set of effect labels
- effect_
type_ ty - EffectType: a type annotated with effects τ !ε
- effect_
typing_ ty - EffectTyping: Γ ⊢ t : τ ! ε
- empty_
row_ ty - EmptyRow: the empty row
- end_
type_ ty - EndType: the completed session
- equi_
recursive_ type_ ty - EquiRecursiveType: equi-recursive interpretation (fold/unfold invisible)
- eta_
redex_ ty - EtaRedex: t is an eta redex iff t = λ.(s (BVar 0)) with BVar 0 not free in s
- eta_
step_ ty - EtaStep: one-step η-reduction t →η s
- extend_
row_ ty - ExtendRow: add a field l : T to a row R
- f_
bounded_ polymorphism_ ty - FBoundedPolymorphism: F-bounded quantification ∀ X <: F[X]. U
- filter_
model_ ty - FilterModel: a filter model of the untyped λ-calculus via intersection types
- flow_
analysis_ ty - FlowAnalysis: 0-CFA / control-flow analysis as a type system
- freshness_
predicate_ ty - FreshnessPredicate:
a # t— name a is fresh in term t - global_
to_ local_ ty - GlobalToLocal: project a global type to a local session type for a role
- graded_
type_ ty - GradedType: a type T graded by a semiring element r (coeffect)
- gradual_
type_ ty - GradualType: a type that may be partially unknown (includes
?) - gradual_
typing_ ty - GradualTyping: Γ ⊢ t : A in the gradually-typed λ-calculus
- handler_
type_ ty - HandlerType: a handler mapping effects to values of type A
- head_
normal_ form_ ty - HeadNormalForm: the head of t is not a redex
- head_
reduction_ ty - HeadReduction: reduce the head redex (lazy evaluation)
- higher_
kinded_ type_ ty - HigherKindedType: a type constructor of kind κ ⇒ κ’
- impl_pi
- infer_
type - Type inference for the simply-typed lambda calculus (Curry style).
Returns
Some(ty)if the term is typeable,Noneotherwise. - intersection_
type_ completeness_ ty - IntersectionTypeCompleteness: every normalizable term is typeable
- intersection_
type_ ty - IntersectionType: A ∩ B — a term has both types A and B
- intersection_
typing_ ty - IntersectionTyping: Γ ⊢ t : A ∩ B
- irrelevant_
argument_ ty - IrrelevantArgument: a term whose type-theoretic argument is proof-irrelevant
- iso_
recursive_ fold_ ty - IsoRecursiveFold: fold : F[μX.F] → μX.F
- iso_
recursive_ unfold_ ty - IsoRecursiveUnfold: unfold : μX.F → F[μX.F]
- kind_
arrow_ ty - KindArrow: kind constructor A ⇒ B
- kind_
completeness_ ty - KindCompleteness: kind inference is complete for Fω types
- kind_
inference_ ty - KindInference: algorithm to infer kinds for type expressions
- kind_
polymorphism_ ty - KindPolymorphism: ∀κ. F[κ] — quantification over kinds
- kind_
soundness_ ty - KindSoundness: well-kinded type applications have well-kinded results
- kind_ty
- Kind: the kind language of System Fω (* and →)
- lambda2_
ty - Lambda2: System F corner of cube (type polymorphism)
- lambda_
arrow_ ty - LambdaArrow: simply-typed lambda calculus corner of cube
- lambda_
omega_ ty - LambdaOmega: System Fω corner (type constructors)
- lambda_
p_ ty - LambdaP: λP (dependent types, Edinburgh LF)
- lf_
context_ ty - LFContext: a context Γ in Edinburgh LF
- lf_
kind_ validity_ ty - LFKindValidity: Σ; Γ ⊢ K kind
- lf_
signature_ ty - LFSignature: a signature Σ in Edinburgh LF
- lf_
typing_ ty - LFTyping: Σ; Γ ⊢ t : T in Edinburgh LF
- linear_
arrow_ ty - LinearArrow: the linear function type A ⊸ B
- linear_
context_ ty - LinearContext: a linear typing context (each variable used exactly once)
- linear_
exchangeability_ ty - LinearExchangeability: linear contexts can be reordered
- linear_
type_ ty - LinearType: a type that must be used exactly once
- linear_
typing_ ty - LinearTyping: linear typing judgment Γ ⊢_L t : A
- liquid_
type_ ty - LiquidType: refinement type with decidable predicates (Liquid Haskell style)
- list_ty
- monadic_
type_ ty - MonadicType: a monadic type T M (T wrapped in monad M)
- monadic_
typing_ ty - MonadicTyping: Γ ⊢ t : M[A] for monad M
- multiparty_
session_ type_ ty - MultipartySessionType: a global type for multiparty session protocols
- nat_ty
- nominal_
type_ ty - NominalType: a type with freshness/name-binding (nominal logic)
- normal_
form_ ty - NormalForm: t has no β-redex
- normal_
order_ redex_ ty - NormalOrderRedex: leftmost-outermost redex
- normal_
order_ strategy_ ty - NormalOrderStrategy: normal order finds normal form if one exists
- observational_
equiv_ ty - ObservationalEquiv: contextual equivalence in the untyped λ-calculus
- occurrence_
typing_ ty - OccurrenceTyping: type assignment based on control flow occurrences
- omega_
combinator_ ty - OmegaCombinator: Ω = (λx.x x)(λx.x x) — diverging term
- omega_
diverges_ ty - OmegaDiverges: Ω has no normal form
- option_
ty - parallel_
max_ reduct_ property_ ty - ParallelMaxReductProperty: diamond property for complete development
- parallel_
max_ reduct_ ty - ParallelMaxReduct: complete parallel development
- parallel_
reduction_ complete_ ty - ParallelReductionComplete: t →β s implies t →β∥ s
- parallel_
reduction_ ty - ParallelReduction: parallel β-reduction (β∥) — key for CR proof
- pcf_
adequacy_ ty - PCFAdequacy: operational and denotational semantics agree for PCF
- pcf_
denotational_ semantics_ ty - PCFDenotationalSemantics: Scott domain semantics for PCF
- pcf_
fixpoint_ ty - PCFFixpoint: the fixed-point operator
fix : (τ → τ) → τin PCF - pcf_
full_ abstraction_ ty - PCFFullAbstraction: Milner’s full abstraction problem for PCF
- pcf_
term_ ty - PCFTerm: terms of PCF (including
fix,pred,succ,if-then-else) - pcf_
type_ ty - PCFType: types of PCF (Plotkin’s Programming Computable Functions) PCF = STLC + fixpoint + nat + bool
- pcf_
typing_ ty - PCFTyping: typing judgment for PCF
- pi
- principal_
typing_ ty - PrincipalTyping: every typeable term has a principal type scheme
- proof_
irrelevance_ ty - ProofIrrelevance: any two proofs of the same proposition are equal
- prop
- pts_
axiom_ ty - PTS_Axiom: the set of axioms (s : s’) for a pure type system
- pts_
confluence_ ty - PTSConfluence: confluence holds for all PTS (β-reduction)
- pts_
rule_ ty - PTS_Rule: the set of rules (s₁, s₂, s₃) for Π-type formation
- pts_
subject_ reduction_ ty - PTSSubjectReduction: subject reduction holds for all functional PTS
- pts_
typing_ ty - PTSTyping: Γ ⊢ t : T in a PTS
- pure_
type_ system_ ty - PureTypeSystem: a PTS defined by sorts S, axioms A, rules R
- quotient_
computation_ ty - QuotientComputation: [a] elim f = f a
- quotient_
elim_ ty - QuotientElim: elimination from A / ~ to a P that respects ~
- quotient_
intro_ ty - QuotientIntro: [a] : A / ~ (introduction rule)
- quotient_
type_ ty - QuotientType: the quotient A / ~ of a setoid
- record_
type_ ty - RecordType: a closed record type from a row
- recursion_
theorem_ ty - RecursionTheorem: every function has a fixed point
- recursive_
type_ contraction_ ty - RecursiveTypeContraction: well-founded recursive types have unique fixed points
- recursive_
type_ ty - RecursiveType: a type μX.F[X] — least fixed point of type functor F
- recv_
type_ ty - RecvType: ?T.S — receive a value of type T then continue as S
- refinement_
type_ ty - RefinementType: {x : T | P x} — a type refined by predicate P
- region_
inference_ ty - RegionInference: algorithm to infer region annotations
- region_
type_ ty - RegionType: a type annotated with memory region ρ
- relevant_
type_ ty - RelevantType: a type that must be used at least once (contraction OK, no weakening)
- relevant_
typing_ ty - RelevantTyping: relevant typing judgment
- resizing_
axiom_ ty - ResizingAxiom: propositional resizing (all propositions are small)
- row_
polymorphic_ typing_ ty - RowPolymorphicTyping: Γ ⊢ t : {R} with row variable R
- row_
type_ ty - RowType: a row of labeled types (for records or variants)
- russell_
universe_ ty - RussellUniverse: Uᵢ : Uᵢ₊₁ in the Russell style (types live in universes)
- send_
type_ ty - SendType: !T.S — send a value of type T then continue as S
- session_
type_ completeness_ ty - SessionTypeCompleteness: every interaction satisfying the global type is typeable
- session_
type_ ty - SessionType: the type of a communication channel endpoint
- setoid_
carrier_ ty - SetoidCarrier: the carrier set of a setoid
- setoid_
relation_ ty - SetoidRelation: the equivalence relation of a setoid
- setoid_
ty - Setoid: a pair of a carrier and an equivalence relation
- simple_
type_ ty - SimpleType: the type of simple types over a base type set
- solvable_
term_ ty - SolvableTerm: a term with a head normal form
- squash_
elim_ ty - SquashElim: ||A|| → (A → P) → P for P : Prop
- squash_
intro_ ty - SquashIntro: a : A → ||A||
- squash_
type_ ty - SquashType: propositional truncation ||A|| (collapse all proofs)
- standardization_
theorem_ ty - StandardizationTheorem: if t has a normal form, normal order reaches it
- star_
kind_ ty - StarKind: the base kind *
- stlc_
church_ rosser_ ty - STLCChurchRosser: STLC β-reduction is confluent
- stlc_
decidability_ ty - STLCDecidability: type-checking STLC is decidable
- stlc_
strong_ normalization_ ty - STLCStrongNormalization: all well-typed STLC terms are strongly normalizing
- stlc_
subject_ reduction_ ty - STLCSubjectReduction: if Γ ⊢ t : τ and t →β s then Γ ⊢ s : τ
- stlc_
typing_ ty - STLCTyping: Γ ⊢ t : τ (simple type assignment)
- structural_
subtyping_ ty - StructuralSubtyping: subtyping determined by structure, not names
- substitution_
ty - Substitution: t[s/n] — substitute s for de Bruijn index n in t
- subtype_
relation_ ty - SubtypeRelation: A <: B (A is a subtype of B)
- subtyping_
reflexivity_ ty - SubtypingReflexivity: A <: A
- subtyping_
subject_ reduction_ ty - SubtypingSubjectReduction: subtying is preserved under reduction
- subtyping_
transitivity_ ty - SubtypingTransitivity: A <: B → B <: C → A <: C
- system_
f_ confluence_ ty - SystemFConfluence: System F β-reduction is confluent
- system_
f_ parametricity_ ty - SystemFParametricity: Reynolds’s abstraction theorem
- system_
f_ sn_ ty - SystemFStrongNormalization: System F is strongly normalizing
- system_
f_ term_ ty - SystemFTerm: terms of System F (including type abstraction and application)
- system_
f_ type_ ty - SystemFType: types of System F (including type variables and ∀)
- system_
f_ typing_ ty - SystemFTyping: typing judgment for System F
- system_
f_ undecidable_ ty - SystemFUndecidableTyping: type inference for System F is undecidable (Wells)
- system_
fomega_ kind_ soundness_ ty - SystemFOmegaKindSoundness: well-kinded types have sound interpretations
- system_
fomega_ sn_ ty - SystemFOmegaSN: Fω is strongly normalizing
- system_
fomega_ term_ ty - SystemFOmegaTerm: terms of System Fω
- system_
fomega_ type_ ty - SystemFOmegaType: types of System Fω
- system_
fomega_ typing_ ty - SystemFOmegaTyping: typing judgment for Fω
- tarski_
decode_ ty - TarskiDecode: el : Uᵢ → Type (decode a code to a type)
- tarski_
universe_ ty - TarskiUniverse: a Tarski-style universe Uᵢ with a decoding map elᵢ
- turing_
combinator_ ty - TuringCombinator: Turing’s Θ fixed point combinator
- type0
- type1
- type_
consistency_ ty - TypeConsistency: A ~ B (types are consistent, i.e., compatible under
?) - type_
constructor_ ty - TypeConstructor: a type-level function with a kind
- type_
unrolling_ ty - TypeUnrolling: μX.F ≡ F[μX.F] (equi-recursive unrolling)
- typing_
context_ ty - TypingContext: a finite map from variables to simple types
- union_
type_ ty - UnionType: A ∪ B — occurrence typing context
- universe_
level_ ty - UniverseLevel: the type of universe levels (ω-many levels)
- universe_
polymorphism_ ty - UniversePolymorphism: quantification over universe levels
- unsolvable_
term_ ty - UnsolvableTerm: a term with no head normal form
- untyped_
term_ ty - UntypedTerm: the type of untyped lambda terms (de Bruijn representation)
- utt_
el_ type_ ty - UTTELType: a type in UTT (el-form, deriving a type from a set)
- utt_
universe_ ty - UTTUniverse: a universe in Luo’s Unified Theory of Types
- variable_
ty - Variable: de Bruijn index n refers to the n-th enclosing binder
- variant_
type_ ty - VariantType: a closed variant type from a row
- weak_
normal_ form_ ty - WeakNormalForm: t can be reduced to a normal form
- y_
combinator_ ty - YCombinator: Curry’s Y = λf.(λx.f(x x))(λx.f(x x))
- y_
fixed_ point_ ty - YFixedPoint: Y f =β f (Y f)
Type Aliases§
- Usage
Map - Result of linearity checking: a map from de Bruijn level → usage count.