Skip to main content

nibli_render/
register.rs

1//! Output register for the back-translation: how readable vs. how structural.
2
3/// Controls how structure-exposing the rendered English is.
4///
5/// `Spec` is the default and the safe choice for a zero-hallucination prover:
6/// it keeps quantifier scope and logical structure explicit ("For every X: if X
7/// is a dog, then X is an animal"), so a reader verifying the encoding can see
8/// the binder order. `Fluent` is an optional enhancement that smooths the prose
9/// where it can do so *without* reordering binders or dropping a negation; it
10/// must never make a scope error harder to spot.
11#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)]
12pub enum Register {
13    /// Structure-exposing logical-specification English (default).
14    #[default]
15    Spec,
16    /// Smoothed readable English (must preserve binder order and negation).
17    Fluent,
18}