simply-typed-lambda-calculus

Implements simply-typed lambda calculus with products, sums, and unit types.

17|2|Updated Feb 16, 2026
One-click install
npx skills add https://github.com/rainoftime/pl-skills --skill simply-typed-lambda-calculus
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: simply-typed-lambda-calculus
Source: https://github.com/rainoftime/pl-skills/tree/main/simply-typed-lambda-calculus
Command: npx skills add https://github.com/rainoftime/pl-skills --skill simply-typed-lambda-calculus

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and scripts (resource) components.

What problem does it solve?

This Skill provides a foundational understanding and implementation of the Simply-Typed Lambda Calculus (STLC), a cornerstone for learning type systems, building interpreters, and formalizing programming languages.

Core Features & Use Cases

  • Implements base STLC: Covers functions, variables, products, and sums.
  • Proves Soundness: Demonstrates progress and preservation properties.
  • Use Case: Students learning about type theory can use this Skill to explore the core concepts of type systems in a practical, implementable way. Researchers can leverage it as a building block for more complex language formalizations.

Quick Start

Use the simply-typed-lambda-calculus skill to define the syntax for types and terms and implement the typing judgment.

Frequently Asked Questions about simply-typed-lambda-calculus

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement the simply-typed lambda calculus with type soundness proofs?▼

To implement the simply-typed lambda calculus, define syntax for types and terms, then implement typing judgments and small-step evaluation rules to prove progress and preservation properties.

What is the simply-typed lambda calculus used for in programming language formalization?▼

The simply-typed lambda calculus is a foundational model for learning type systems and formalizing programming languages, providing a practical framework to implement and understand core type theory concepts.

How do I implement typing judgments for products, sums, and unit types in STLC?▼

Implement typing judgments for STLC by defining evaluation rules for base types, functions, products, sums, and unit types, ensuring the small-step evaluation respects the type system structure.

How do I prove progress and preservation for a simply-typed lambda calculus interpreter?▼

Prove progress and preservation by defining small-step evaluation rules and typing judgments, demonstrating that well-typed terms either evaluate to values or take valid steps without type errors.

Does learning the simply-typed lambda calculus require prior knowledge of type systems?▼

Learning the simply-typed lambda calculus is an entry point for type theory, though familiarity with formal logic or basic interpreter construction helps grasp typing judgments and evaluation rules.