Repository navigation
Automata and shift ideas ported to processes (4/4) - #26
Merged
Merged
Conversation
Autoplectic
force-pushed
the
sofic-literature-gaps
branch
from
October 7, 2026 14:10
a913c9e to
90f40bd
Compare
Autoplectic
force-pushed
the
sofic-process-ports
branch
2 times, most recently
from
October 7, 2026 16:13
7a636b6 to
70daf1e
Compare
…plitting, minimal quasi-realization, bisimulation, active epsilon-machine learning, support decisions, conditioning, omega-regular probability, Renyi spectrum, experimental canonical residual HMM Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…talls only the test extra) Co-authored-by: Cursor <cursoragent@cursor.com>
Autoplectic
force-pushed
the
sofic-literature-gaps
branch
from
October 7, 2026 16:38
f15f70e to
8edf9ab
Compare
Autoplectic
force-pushed
the
sofic-process-ports
branch
from
October 7, 2026 16:38
70daf1e to
38f22e7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #25 (base
sofic-literature-gaps); retarget tomainafter #23–#25 merge.Implements the ports D1–D10 from the correctness-and-coverage plan, each with docstring citations, a docs page, and property/metamorphic tests.
Ports
SlidingBlockCode.apply_to_process/image_process, andHiddenMarkovModel.higher_block(k). h_μ never increases under factor maps; E and C_μ are not conjugacy invariants (E(β_k X) = E(X) + (k−1)h_μ, asserted exactly).split_state) andamalgamate(Lind & Marcus §2.4; Upper 1997).minimal_quasi_realizationandprocess_rank(Schützenberger 1961); dimension equals the brute-force Hankel rank.bisimulation_partition/coarsest_lumping(Larsen & Skou 1991);lump(partition=None)is the coarsest lumping.learn_epsilon_machine_active+ProcessOracle(Angluin 1987; Shalizi & Crutchfield 2001): exact on golden mean, even, nemo, butterfly and random machines with polynomial queries.support_nfa,support_includes,is_absolutely_continuous,support_equal.condition_on_languagevia the Doob h-transform; the uniform i.i.d. process conditioned on an irreducible SFT recovers its Parry measure.omega_probabilityfor deterministic Büchi properties andregular_language_probability(Baier & Katoen 2008).renyi_entropy_rate(α ∈ [0, ∞]),pressure,rate_function(Rached et al. 2001; Dembo & Zeitouni 1998).canonical_residual_hmm(requiresexperimental=True; Denis et al. 2002; Maarand & Tamm 2022; Löhr & Ay 2009): strictly smaller than the ε-machine on a constructed 4-symbol example.Fixes found along the way
EpsilonMachine.from_hmmsplit causal states that differed only by belief-update round-off (a fair-coin HMM gave 33 states, C_μ ≈ 2.46); numeric probabilities now compare within the mixed-state tolerance. Its docstring documents that numeric merging can close a converging infinite belief set at a finite approximation.to_support_dfaaccepted only terminal recurrent subsets and rejected words of positive probability (e.g.1for the even process).entropy_rate/state_entropywith mixed int/tuple state labels;is_equal_processon sympy HMMs;DFA.add_transitionwith a new source state.Gates
pytest -n 8: 2246 passed, 17 skipped.ruff check/ruff format --checkclean. Freshsphinx-build -Wclean.