Lax194892.BalancedRunReachability
Balanced runs between configurations are regular
concepts/Lax194892/BalancedRunReachability.lean · lax-194892
No public endorsements yet.
Loading review…
Sign in with ORCIDConcept map
In the paper
- page 167 of the paper of lax-157538, Transducers
Theorem
For every height , the existence of a balanced run between two configurations and of height — sharing the stack of the lower pebbles, with the state and the position of the top pebble — is mso-definable (Claim D.2.3 of Transducers): during a balanced run the pebble at height is never popped, although it may be moved.
Lean source view on GitHub
| 1 | import Mathlib.Computability.DFA |
| 2 | import Lax194892.PebbleConfigurationEncoding |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Balanced runs between configurations are regular |
| 7 | type: theorem |
| 8 | --- |
| 9 | For every height , the existence of a *balanced |
| 10 | run* between two configurations and of height — |
| 11 | sharing the stack of the lower pebbles, with the state |
| 12 | and the position of the top pebble — is mso-definable (Claim D.2.3 of |
| 13 | *Transducers*): during a balanced run the pebble at height is never |
| 14 | popped, although it may be moved. |
| 15 | |
| 16 | # Formalization notes |
| 17 | |
| 18 | As for Lemma D.2.2, the mso formula is replaced by a regular language of |
| 19 | encodings of the pair of configurations, correct on genuine encodings; the two |
| 20 | stacks are `x ++ [p₁]` and `x ++ [p₂]` with `x` of length `ℓ - 1`. |
| 21 | -/ |
| 22 | |
| 23 | namespace Lax194892.BalancedRunReachability |
| 24 | |
| 25 | open Lax194892.PebbleTransducers Lax194892.PebbleConfigurationEncoding |
| 26 | |
| 27 | /-- The encodings of pairs of configurations of height `ℓ` connected by a balanced |
| 28 | run form a regular language. -/ |
| 29 | axiom exists_regular_balancedLang {A B Q : Type} {k : ℕ} [Finite A] [Finite Q] |
| 30 | (M : Pebble A B Q k) (ℓ : ℕ) (hℓ1 : 1 ≤ ℓ) (hℓk : ℓ ≤ k) : |
| 31 | ∃ L : Language (PairLetter A Q k), L.IsRegular ∧ |
| 32 | ∀ (q₁ q₂ : Q) (x : List ℕ) (p₁ p₂ : ℕ) (w : List A), |
| 33 | (∀ p ∈ x, p ≤ w.length) → p₁ ≤ w.length → p₂ ≤ w.length → x.length = ℓ - 1 → |
| 34 | (pairEnc q₁ q₂ (x ++ [p₁]) (x ++ [p₂]) w ∈ L ↔ |
| 35 | BalancedRun M w ℓ (PebbleCfg.conf q₁ (x ++ [p₁])) (PebbleCfg.conf q₂ (x ++ [p₂]))) |
| 36 | |
| 37 | end Lax194892.BalancedRunReachability |
| 38 |
Formalization notes
As for Lemma D.2.2, the mso formula is replaced by a regular language of encodings of the pair of configurations, correct on genuine encodings; the two stacks are and with of length .
Community review
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above; your ORCID profile must share a public name.
0 comments