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.