CNL-PL v1.1

Make natural language deterministic, executable, and formally structured.

CNL-PL is a controlled natural language that looks like English but maps to a unique logical AST. It powers queries, proofs, planning, constraint solving, simulation, and explanation.

Quick Comparison

Before (Ambiguous English)

"Users who are admins or developers and active"

Does "active" apply to admins too? Or just developers?
After (Deterministic CNL)

"A user who is an admin or who is a developer, and who is active"

Explicit grouping and pronoun repetition remove all ambiguity.

Quick Start

A simple CNL program that defines a rule and asks a question.

// Define a rule
If a user is an admin, then the user has access to the database.

// Define a fact
John is a user and John is an admin.

// Execute a query
Verify that John has access to the database.

Pragmatics: one syntax, many execution modes

The same CNL sentence can drive different engines. Pragmatics define the operational meaning without changing the surface grammar.

Language guarantees

Deterministic nouns

Noun phrases always start with determiners or quantifiers, while bare identifiers are names.

Explicit grouping

Mixed boolean operators require explicit grouping. The parser rejects ambiguous chains.

Fixed triplets

Assertions use subject-verb-object or controlled copula predicates as the core unit.

Action blocks

Plans model action signatures, agents, preconditions, and effects as structured blocks.

Start exploring

Jump directly into the working sets that drive the project.