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

Proof of `Computing the reachable configuration graph is rational`

groundedproofs/Lax916827Proofs/Results.lean · lax-916827

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 string representation of the reachable configuration graph is a rational function of the input (Lemma C.2.3), Transducers.twoWayisRationalFunencTransducers.twoWay_isRationalFun_enc.

Proof strategy

The concept's alphabet CC is a distinct inductive type from the source's; the bridge's enctoSrcenc_toSrc shows the two representations equal up to the bijection cletEquivMcletEquiv M of the alphabets, and the source's rational function is post-composed with the inverse letter-to-letter map (Transducers.isRationalFunmapTransducers.isRationalFun_map, Transducers.isRationalFuncompTransducers.isRationalFun_comp).

Attribution

Lemma C.2.3 of Transducers, Part C; formalised by Aristotle (Harmonic), PartC/ConfGraph.leanPartC/ConfGraph*.lean.