Filf Finished Version 10b May 2026
FILF v10b utilizes a small-step operational semantics. The reduction rules are defined as follows:
Version 10b introduces strict evaluation for arguments in the kernel, differing from the lazy evaluation strategy of the v9 series. This decision was made to ensure predictable memory usage during large proof verification.
The development of Functional Inductive Logic Frameworks (FILF) represents a convergence of functional programming paradigms and automated theorem proving. For the past decade, the FILF project has sought to create a meta-logic capable of embedding complex domain-specific logics without the overhead traditionally associated with proof assistants. filf finished version 10b
The release of FILF Version 10b marks the "finished" milestone in the 10-series lifecycle. Unlike the experimental releases (v10a0 through v10a5), Version 10b is characterized by a frozen kernel and a standardized standard library. The primary motivation for this version was the resolution of the Recursive Descent Paradox identified in late Version 8, which limited the framework's ability to handle self-referential inductive definitions.
This paper serves as the canonical reference for the v10b specification. Section 2 outlines the necessary background; Section 3 details the syntax; Section 4 covers the type theory; Section 5 presents the implementation details; and Section 6 evaluates the performance. FILF v10b utilizes a small-step operational semantics
The syntax of FILF v10b is designed to be minimalist yet expressive. It borrows heavily from the ML family of languages but introduces specific constructs for inductive definition.
Today I’m excited to announce the finished release of FILF Version 10b — a focused, stable, and feature-complete update that polishes core workflows, tightens performance, and introduces a few highly requested refinements. Below is a concise overview of what changed, why it matters, and how to get the most from the update. Version 10b introduces strict evaluation for arguments in
The abstract syntax is defined by the following context-free grammar:
$$ \beginalign* e &::= x \mid \lambda x:e \mid e_1 , e_2 \mid \textlet x = e_1 \text in e_2 \ &\quad \mid \textmatch e \text with p \to e ^* \ &\quad \mid \textinductive D \text where c : \tau ^* \ \tau &::= \alpha \mid \tau_1 \to \tau_2 \mid D(\tau^) \ p &::= c(x^) \mid _ \endalign* $$
The language is case-sensitive. Keywords are reserved and cannot be used as identifiers. The primary reserved keywords in v10b are:
let, inductive, rule, proof, term, type, forall, exists, :=.
The core contribution of FILF v10b is the finalization of the Stratified Dependent Type System.