Draft — mutable and not usable as a dependency; its citation marks the draft state.

Proof of `Formulas with free variables define regular languages of annotated strings`

groundedproofs/Lax314295Proofs/Results.lean · lax-314295

What this proof establishes

no assumptions

Assuming the claims on the left, the claim on the right holds — checked by the archive's pipeline. Proof code is not displayed here.

Read the Lean proof on GitHub

In the paper

Description

The annotated strings satisfying a formula with free variables form a regular language (Lemma C.4.2): induction on the formula, with projection for the quantifiers (Transducers.msoannotatedregularTransducers.mso_annotated_regular).

Proof strategy

The concept's annotateannotate, extFOextFO and extSOextSO are the source's by rflrfl; the formula is transported along toSrctoSrc, which preserves the free variables (freeFOtoSrcfreeFO_toSrc, freeSOtoSrcfreeSO_toSrc) and satisfaction (sattoSrcsat_toSrc), so the two languages are equal by extensionality.

Attribution

Lemma C.4.2 of Transducers, Part C; formalised by Aristotle (Harmonic), PartC/MSOAnnot.leanPartC/MSOAnnot.lean, PartC/MSO.leanPartC/MSO.lean.