Add exact finite absorbing Markov-chain foundation - #38
Draft
lyw-ops wants to merge 3 commits into
Draft
Conversation
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.
Adds exact finite absorbing Markov-chain execution and solving on top of
FiniteLaw. For example, a fair repeat-or-stop chain with terminal reward six computes expected reward six and duration two, while retaining unfinished probability1/4in a two-step finite run.Dependency: this draft depends on #37, which is still open. The Markov-only change is commit
3726be0; the inherited finite-law commits belong to #37. Merge #37 first, then rebase this branch onto main before marking this PR ready.Scope
The automatic checker covers every supplied transient state. Rejection can coexist with successful absorption from another start. The finite chain is a supplied Markov specification, not a quotient of arbitrary EFG histories. Dense rational determinants and Cramer's rule make no scalability claim.
Validation
lake build: passed, 8602 jobs.lake build EconCSLib.Examples: passed, 2543 jobs.lake env lean tests/FiniteMarkovChainSmoke.lean: 31 runtime guards passed.lake env lean tests/FiniteMarkovChainAudit.lean: 194 library/example declarations, zero noncomputable declarations, standard logical axioms only; 193 safe declarations replayed in the kernel. One compiler recursion helper was separately validated and excluded from replay.FiniteLawSmokeandFiniteLawAudit: passed.The new library and example modules build without warnings. Existing warnings in unrelated modules remain outside this change.