← All stories
● Covered by 1 source · 1 reportLow impact1 neutral

ZIL: A Lean4 Datalog DSL for Relational Project Descriptions, Inspired by Google Zanzibar

🔄 Updated 51d ago
New to BrevFeed? We gather this story from every outlet covering it into one summary — ranked by real-world impact, not just the latest headline — so you never miss what matters. What is BrevFeed? →

Key points

  • ZIL is a relational language in Lean 4 for describing project relationships.
  • It uses a subject-relation-object tuple model.
  • The design is influenced by Google's Zanzibar authorization model.
  • ZIL supports querying project maps for development and AI tasks.

Introduction to ZIL

ZIL is a small relational language implemented as a domain-specific language (DSL) within Lean 4. Its purpose is to describe named objects, the relationships between them, and rules for deriving additional relationships. This allows for a structured representation of project components and their interconnections.

Relational Model and Examples

The core of ZIL's model is a three-part relation: subject ── relation ──▶ object. For instance, 'lean.Parser.parse ── implements ──▶ requirement.parseInput' illustrates how a declaration relates to a requirement. ZIL records how Lean 4's checked declarations relate to requirements, documents, tests, tasks, and other project elements.

This relational map can answer questions such as which declaration implements a specific requirement, which theorem validates a component, or which modules depend on a particular declaration. Developers, review tools, CI systems, documentation tools, and AI assistants can query these stored relationships.

Influence from Google Zanzibar

ZIL's relational model draws inspiration from the tuple-oriented model described in Google's Zanzibar paper, specifically its representation of authorization tuples. Zanzibar uses 'object#relation@user' to define relationships, such as 'doc:readme#owner@10' or 'group:eng#member@11'.

A key feature adopted from Zanzibar is the concept of a 'userset', where a tuple can refer to another relation, supporting group membership and inherited access. ZIL applies these compact relational building blocks not only to authorization models but also to broader project relationships, like 'declaration ── implements ──▶ requirement' or 'module ─── dependsOn ────▶ module'.

Syntax and Application

ZIL supports both a standalone tuple-shaped fact representation, such as 'doc:readme#owner@user:10.', and native Lean syntax. The Lean syntax uses 'zil_fact node(doc.readme) ⟶[owner] node(user.u10)' to represent these relationships. This integration within Lean 4 allows for the formal checking and management of project metadata.

The system aims to provide a unified way to understand and navigate complex project structures, facilitating tasks ranging from code review to automated documentation and AI-driven development assistance.

✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →

The daily brief

One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.

One email a day. Unsubscribe in one click, any time.

Today's brief

Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.

~4 min · 3 stories · Oct 04

▶ Play today's brief Listen on Spotify

New every morning, and the back catalogue is archived by date.

Reporting from

ZIL is a new relational language implemented as a domain-specific language (DSL) within Lean 4, designed to describe relationships between project components like declarations, requirements, and tests. It uses a tuple-oriented model, influenced by Google's Zanzibar paper, to enable querying of project maps for various development and AI assistant tasks.