Skip to content

Latest commit

 

History

History
 
 

AffineScript Academic Documentation

This directory contains formal academic documentation for the AffineScript programming language, including proofs, specifications, white papers, and mechanized verification.

Document Index

Proofs and Metatheory

Document Description Status

Type System Soundness

Progress and preservation theorems

Complete

Quantitative Type Theory

Linearity and quantity proofs

Complete

Effect Soundness

Algebraic effects metatheory

Complete

Ownership Soundness

Affine/linear type safety

Complete

Row Polymorphism

Extensible records metatheory

Complete

Dependent Types

Indexed types and refinements

Complete

White Papers

Document Description

Language Design

Design rationale and related work

Type System Design

Bidirectional typing with quantities

Effect System Design

Algebraic effects and handlers

Formal Verification

Document Description Status

Operational Semantics

Small-step semantics

Complete

Denotational Semantics

Domain-theoretic model

Complete

Axiomatic Semantics

Hoare logic for AffineScript

Complete

Mathematical Foundations

Document Description

Categorical Semantics

Category theory models

Logic Foundations

Curry-Howard and proof theory

Complexity Analysis

Decidability and complexity bounds

Mechanized Proofs

Document Description Status

Coq Formalization

Coq proof development

Stub

Lean Formalization

Lean 4 proof development

Stub

Agda Formalization

Agda proof development

Stub

Citation

@misc{affinescript2024,
  title = {AffineScript: A Quantitative Dependently-Typed Language with Algebraic Effects},
  author = {AffineScript Contributors},
  year = {2024},
  howpublished = {\url{https://github.com/hyperpolymath/affinescript}}
}

Status Legend

  • Complete: Theoretical content complete, pending implementation verification

  • Stub: Placeholder awaiting implementation of corresponding compiler component

  • TODO: Section identified but not yet written

Dependencies on Implementation

Many proofs in this documentation depend on compiler components that are not yet implemented. These are marked with [IMPL-DEP] tags throughout the documents, indicating which compiler phase must be completed before the proof can be fully verified against the implementation.

Proof Area Required Implementation

Type soundness

Type checker

Effect soundness

Effect inference

Ownership soundness

Borrow checker

Termination

Termination checker

Refinement verification

SMT integration