{
  "id": "ASTIS-RT-20260908-RandomScanLaw",
  "state": "source-reviewed",
  "graph_node": "ASTIS-SHARED-random-scan-heat-bath",
  "source": {
    "source_id": "discrete-sampling:2307.13826v4",
    "anchor": "Section 1.1, unnumbered support definition, printed/PDF p.4; section 1.3 general update step 1 (site selection), step 3 (conditional sampling), and the explanatory prose immediately after step 3, printed/PDF p.5. https://arxiv.org/pdf/2307.13826v4#page=4 and #page=5. This comparison targets that explanatory update rule and its one-step law.",
    "original_text": "ASTIS mathematical paraphrase, not source quotation: Let V be a finite nonempty set of sites and let μ be a probability distribution on the Boolean configurations. Its state space Ω consists of exactly the configurations of positive probability. Starting at x in Ω, select one site i uniformly from V. Retain each other site's own old value and sample the value at i from the target conditional on all the retained values. Identify the probability of each configuration y after this one update. Coordinates are represented by Fin(n+1) and Boolean values by Bool; this is a coordinate convention, not a sweep or a convergence claim.",
    "text_sha256": "aa35db799a78cbbea3e317648de5f277c2b77106a4c61dec9b4ceb75f63507ac",
    "wording_status": "faithful ASTIS paraphrase of the cited explanatory route; not licensed source text",
    "pdf_sha256": "3cc2f911b33bb5538157ef8a70f0c7e0f3c812ecd06dc9c1d5ea0bfdae11a52a"
  },
  "lean": {
    "declaration": "AutoSamplingTheory.TechnicalLemmas.Probability.RandomScanHeatBath.randomScan_apply_singleton",
    "file": "AutoSamplingTheory/TechnicalLemmas/Probability/RandomScanHeatBath.lean",
    "statement": "∀ {n : ℕ} (μ : Measure (Fin (n + 1) → Bool)) [inst : IsProbabilityMeasure μ]\n  (x y : Fin (n + 1) → Bool),\n  μ {x} ≠ 0 →\n    ((randomScan μ) x) {y} =\n      (↑n + 1)⁻¹ *\n        ∑ i,\n          if ∀ (j : Fin (n + 1)), j ≠ i → y j = x j then\n            (μ {z | (fun j => z (i.succAbove j)) = fun j => x (i.succAbove j)})⁻¹ * μ {y}\n          else 0",
    "statement_sha256": "c7bd862adeaa76beb38df77209598550a44ded4b90d6945ff443497fcca74dd4",
    "compiled": true,
    "formalizer": "random_scan_worker",
    "decoder_context": [
      "Bool={false,true} has its standard discrete measurable structure; function spaces carry the product measurable structure. Measure and IsProbabilityMeasure denote a measure and total mass one. μ{x} is singleton mass in extended nonnegative reals.",
      "For i:Fin(n+1), i.succAbove:Fin n→Fin(n+1) is the increasing bijection onto all indices except i. Define r_i(z)=(fun j=>z(i.succAbove j)) and e_i(z)=(r_i(z),z i); e_i is the corresponding measurable equivalence.",
      "Write ν_i=(e_i)_#μ. Let C_i be the regular conditional distribution of the second component given the first under ν_i, selected as a Markov kernel by the ambient library. Set H_i(x)=(e_i⁻¹)_#(δ_{r_i(x)}⊗C_i(r_i(x))). Here # denotes pushforward and δ a Dirac measure.",
      "randomScan μ is the finite sum over i:Fin(n+1) of H_i.withDensity(fun _ _ => (↑((n+1:ℝ≥0)⁻¹):ℝ≥0∞)); withDensity multiplies the component kernel's output measure by the stated constant density. The weights are state-independent."
    ]
  },
  "reconstruction": {
    "text": "For every natural number n, every probability measure μ on Ω = {false,true}^{Fin(n+1)}, and every x,y ∈ Ω, if μ({x}) > 0, then the singleton transition mass of the defined random-scan kernel is Pμ(x,{y}) = (n+1)⁻¹ ∑_{i∈Fin(n+1)} [if y_j = x_j for every j ≠ i, then μ({z∈Ω : r_i(z)=r_i(x)})⁻¹ μ({y}), else 0], where r_i deletes coordinate i. The kernel Pμ is the uniform mixture of the coordinate-update kernels constructed using the library-selected regular conditional distributions. Arithmetic in the displayed Lean equality takes place in the extended nonnegative reals.",
    "text_sha256": "03a504a8bd672816fd14bd9eebf4347895dae146a1c38be4e9452b6d7c772618",
    "decoder": "/root/random_scan_decoder",
    "decoder_run_sha256": "7db012f347878b8a19832ad9dac9590a7b323c11df88cd7c3b08dc665b442891",
    "decoder_packet_sha256": "3199afb4019a46e5082f4eac3d3ee910fb5e4092c529838bcc2087bf504ce341",
    "source_text_visible": false,
    "lean_statement_sha256": "c7bd862adeaa76beb38df77209598550a44ded4b90d6945ff443497fcca74dd4",
    "input_artifacts": [
      "lean-statement",
      "approved-definition-context"
    ],
    "run_artifact": "runs/20260908-samplewiki-resume/random-scan.decoder-result.json"
  },
  "semantic_slots": {
    "objects": {
      "original": "Section 1.1 introduces a distribution μ on a subset of binary configurations {0,1}^V and defines Ω to be exactly its positive-probability support. The selected Section 1.3 target chooses one vertex uniformly and resamples its spin from μ conditional on the fixed spins at the other vertices. The graph supplies the vertex set but its edges do not occur in this general conditional-update rule.",
      "reconstructed": "A probability measure μ on the full finite Boolean cube Fin(n+1) → Bool, a current configuration x, an output configuration y, and the randomScan kernel. The blind reconstruction describes randomScan as the uniform mixture of coordinate-update kernels obtained from regular conditional distributions.",
      "relation": "equivalent",
      "evidence": "Full visual inspection of printed/PDF p.4, Section 1.1, and p.5, Section 1.3, shows that Bool represents the two source spin values. A distribution on the source support can be extended by zero to the ambient cube, and any probability measure on the finite cube has exactly such a positive support. No graph-edge dependence is needed for this particular one-update law. The description of the implementation using regular conditional distributions comes from the blind reconstruction, not from independent inspection of Lean definitions."
    },
    "domains": {
      "original": "A finite vertex set V of cardinality N, a support Ω = {σ ∈ {0,1}^V : μ(σ) > 0}, and an input X_t ∈ Ω. Uniform selection of a vertex presupposes N > 0. The source update takes values in Ω.",
      "reconstructed": "The site type is Fin(n+1), so every represented site set has positive size. x and y are quantified over the ambient cube, while μ{x} ≠ 0 restricts the asserted law to supported inputs. The formula also states zero transition mass at every unsupported output y. The decoder's symbol Ω denotes the full cube, unlike the source's Ω, which denotes positive support.",
      "relation": "explicit-elaboration",
      "evidence": "The support equality is printed on p.4; the general update on p.5 begins from X_t ∈ Ω. Relabelling any finite nonempty V through a bijection with Fin(N), with N=n+1, gives the Lean indexing. The input condition is not a full-support hypothesis on μ. If μ{y}=0, every matching-site term is zero and every nonmatching term is explicitly zero, giving the harmless ambient-output extension. Although the reconstructed kernel exists on ambient null inputs, this theorem makes no claim about its law there. The decoder's reuse of Ω must not be mistaken for a change to the source support definition."
    },
    "quantifiers": {
      "original": "The general distribution update applies to any binary distribution in the Section 1.1 setting and any supported current state; its one-step transition law determines probabilities of possible output configurations. A site is chosen uniformly from the whole vertex set.",
      "reconstructed": "For every natural n, every probability measure μ on Fin(n+1) → Bool, and every ambient x and y, the stated equality holds whenever μ{x} ≠ 0. The displayed finite sum ranges over every i ∈ Fin(n+1), and agreement with x is required at every j distinct from i.",
      "relation": "explicit-elaboration",
      "evidence": "The Section 1.3 paragraph introducing the general definition on p.5 is not limited to the preceding hard-core example. The Lean quantifiers cover every positive finite cardinality by writing N=n+1. They provide the pointwise law at every supported input, not merely an almost-everywhere assertion. Quantifying y over the ambient cube is the zero-extension of the support-indexed transition law, not an assertion that null configurations are supported."
    },
    "assumptions": {
      "original": "μ is a probability distribution; the system is binary and finite; the current state has positive probability by membership in Ω. Selecting a vertex uniformly requires a nonempty vertex set. The specifically cited general conditional-update rule requires no hard-core activity, graph connectivity, full support, or irreducibility assumption.",
      "reconstructed": "IsProbabilityMeasure μ, the finite nonempty site type Fin(n+1), Boolean spins, and the hypothesis μ{x} ≠ 0. No other mathematical hypotheses appear in the supplied Lean statement.",
      "relation": "explicit-elaboration",
      "evidence": "For a nonnegative measure, μ{x} ≠ 0 is exactly μ{x} > 0. For each selected i, the conditioning fibre E_i = {z : z agrees with x off i} contains x, so 0 < μ{x} ≤ μ(E_i) ≤ 1. Thus the conditional denominator is positive and finite at all inputs covered by the theorem. Fin(n+1) exposes the nonemptiness presupposed by p.5's uniform vertex choice rather than requiring an extra positive-support condition at every configuration. The surrounding hard-core discussion is not an assumption of the later general update."
    },
    "conclusion": {
      "original": "For the cited explanatory rule, all unselected spins retain their own previous values and the selected spin is sampled conditionally on those retained values. This determines the probability of each configuration after one uniformly selected coordinate update; the source does not print the displayed finite-sum singleton formula.",
      "reconstructed": "The singleton transition mass is (n+1)⁻¹ times the sum over sites i of μ(E_i)⁻¹ μ{y} when y agrees with x away from i, and zero otherwise, with E_i expressed by deleting coordinate i using i.succAbove. The equality is in the extended nonnegative reals.",
      "relation": "explicit-elaboration",
      "evidence": "For fixed i, a nonmatching y is impossible under retained off-site values. For matching y, the event specifying the retained values together with the newly sampled value y_i is exactly {y}, so its conditional probability is μ{y}/μ(E_i). Averaging over the uniform site choice gives exactly the displayed equality. The map i.succAbove enumerates all sites other than i, so the conditioning event represents all and only the retained coordinates. Positivity and finiteness of μ(E_i) make the extended-nonnegative-real arithmetic coincide with the ordinary finite conditional-probability ratio. Diagonal transitions are included: when y=x, all selected sites contribute their respective holding probability. This is a semantic derivation from the supplied statement and source context, not verification of the Lean proof or kernel implementation."
    },
    "scopes": {
      "original": "The pinned comparison explicitly selects Section 1.1's support definition and Section 1.3's general site-selection step, conditional-sampling step, and explanatory prose immediately after that sampling step. It concerns one transition X_t → X_{t+1}.",
      "reconstructed": "The theorem identifies the one-step singleton law of the uniform random-scan kernel at supported inputs. It does not concern a sweep, several updates, convergence, stationarity, mixing time, or the full range of claims in the monograph.",
      "relation": "same",
      "evidence": "On the fully inspected p.5, the explanatory prose says to fix all vertices except the selected one, and the conditional expression conditions on σ(w)=X_t(w) for all w distinct from that vertex. However, the adjacent general numbered step 2 literally writes X_{t+1}(w)=X_t(v), using the selected vertex's old value instead of w's own old value. That line conflicts with the specifically cited explanatory target and is excluded by the packet's stated scope. Acceptance here therefore does not certify the literal full numbered algorithm. It also does not certify the preceding hard-core ergodicity discussion or the subsequent mixing-time definition."
    },
    "constant_dependencies": {
      "original": "The site-selection probability is exactly 1/|V| per vertex. Conditional probabilities depend on μ and the off-site values of the current state, through the mass of the corresponding conditioning fibre. There is one selected-site update per time step.",
      "reconstructed": "The exact prefactor is (↑n+1)⁻¹, the inverse of the cardinality of Fin(n+1). Each matching term has exactly one inverse fibre mass multiplied by μ{y}; the sum has n+1 terms. There is no activity parameter, extra lazy factor, sweep normalization, or unspecified asymptotic constant.",
      "relation": "equivalent",
      "evidence": "The source's n=|V| and the Lean parameter n differ by the explicit cardinality convention N=n+1; the physical number of sites, and hence the update rate, agree. For N=1 the deleted-coordinate fibre is the full cube, its mass is 1, and the formula reduces to μ{y}, as a one-site resampling must. For general N the selected site is uniform on all sites, not only feasible or changing sites. The displayed normalizer depends only on μ, i, and x off i, and the output numerator is precisely μ{y}; there is no hidden dependence on edges or the preceding hard-core parameter λ."
    }
  },
  "deltas": [
    {
      "id": "finite-nonempty-representation",
      "slot": "domains",
      "severity": "informational",
      "description": "The source's finite nonempty vertex set of size N is represented by Fin(n+1). N>0 is implicit in the source's uniform site choice and explicit in Lean's type; source n and Lean n should not be numerically identified.",
      "impact": "No semantic mismatch for the selected executable update rule. No empty-site update is certified.",
      "evidence": "The support equality is printed on p.4; the general update on p.5 begins from X_t ∈ Ω. Relabelling any finite nonempty V through a bijection with Fin(N), with N=n+1, gives the Lean indexing. The input condition is not a full-support hypothesis on μ. If μ{y}=0, every matching-site term is zero and every nonmatching term is explicitly zero, giving the harmless ambient-output extension. Although the reconstructed kernel exists on ambient null inputs, this theorem makes no claim about its law there. The decoder's reuse of Ω must not be mistaken for a change to the source support definition."
    },
    {
      "id": "support-versus-ambient-cube",
      "slot": "domains",
      "severity": "informational",
      "description": "The source uses Ω for positive support, whereas the blind reconstruction uses Ω for the entire Boolean cube. The Lean antecedent restricts inputs to support and the ambient-output formula extends the supported law by zero.",
      "impact": "The theorem neither requires full support nor identifies the kernel's behavior at null inputs. This is a notation and domain elaboration, not a changed supported-state law.",
      "evidence": "The support equality is printed on p.4; the general update on p.5 begins from X_t ∈ Ω. Relabelling any finite nonempty V through a bijection with Fin(N), with N=n+1, gives the Lean indexing. The input condition is not a full-support hypothesis on μ. If μ{y}=0, every matching-site term is zero and every nonmatching term is explicitly zero, giving the harmless ambient-output extension. Although the reconstructed kernel exists on ambient null inputs, this theorem makes no claim about its law there. The decoder's reuse of Ω must not be mistaken for a change to the source support definition."
    },
    {
      "id": "conditional-law-expanded",
      "slot": "conclusion",
      "severity": "informational",
      "description": "The finite-sum singleton formula is derived from the cited conditional-update prose; it is not a verbatim source formula. Supported inputs guarantee positive finite conditioning denominators.",
      "impact": "The exact formula and constants are equivalent to the narrow cited update after elementary finite conditional-probability elaboration.",
      "evidence": "For fixed i, a nonmatching y is impossible under retained off-site values. For matching y, the event specifying the retained values together with the newly sampled value y_i is exactly {y}, so its conditional probability is μ{y}/μ(E_i). Averaging over the uniform site choice gives exactly the displayed equality. The map i.succAbove enumerates all sites other than i, so the conditioning event represents all and only the retained coordinates. Positivity and finiteness of μ(E_i) make the extended-nonnegative-real arithmetic coincide with the ordinary finite conditional-probability ratio. Diagonal transitions are included: when y=x, all selected sites contribute their respective holding probability. This is a semantic derivation from the supplied statement and source context, not verification of the Lean proof or kernel implementation."
    },
    {
      "id": "adjacent-numbered-step-conflict",
      "slot": "scopes",
      "severity": "review",
      "description": "The general numbered step 2 on p.5 writes X_{t+1}(w)=X_t(v) for w≠v, while step 3 conditions on X_t(w) and its explanation fixes the spins on the rest of the vertices. The Lean formula matches step 3 and its explanatory rule, not literal copying of X_t(v) into the other coordinates.",
      "impact": "This is not blocking for the expressly pinned target, which excludes the conflicting step 2. Any later claim of fidelity to the entire printed numbered algorithm requires a separate explicit source-error or correction review; this acceptance must not be generalized to that claim.",
      "evidence": "On the fully inspected p.5, the explanatory prose says to fix all vertices except the selected one, and the conditional expression conditions on σ(w)=X_t(w) for all w distinct from that vertex. However, the adjacent general numbered step 2 literally writes X_{t+1}(w)=X_t(v), using the selected vertex's old value instead of w's own old value. That line conflicts with the specifically cited explanatory target and is excluded by the packet's stated scope. Acceptance here therefore does not certify the literal full numbered algorithm. It also does not certify the preceding hard-core ergodicity discussion or the subsequent mixing-time definition."
    },
    {
      "id": "pdf-hash-provenance",
      "slot": "scopes",
      "severity": "informational",
      "description": "The packet contains no expected primary PDF SHA256. The independent byte digest is 3cc2f911b33bb5538157ef8a70f0c7e0f3c812ecd06dc9c1d5ea0bfdae11a52a. After that computation was reported, the coordinator separately supplied the identical expected source-metadata digest.",
      "impact": "PDF identity matches the supplemental provenance input. It was not possible to verify the PDF against an expected PDF digest contained in the packet itself, and no such in-packet verification is claimed.",
      "evidence": "Fresh independent source-semantic review of packet ASTIS-REVIEW-97206374d96c805f. Read the complete review packet and the complete PDF skill, computed the primary PDF's SHA256 directly, rendered only complete PDF pages 4 and 5 at 150 dpi with the specified pdftoppm, and visually inspected both full rendered pages including surrounding hard-core context, all general numbered steps, explanatory prose, and the beginning of the mixing-time paragraph. The primary PDF at .astis/source-cache/2307.13826v4.pdf has independently computed SHA256 3cc2f911b33bb5538157ef8a70f0c7e0f3c812ecd06dc9c1d5ea0bfdae11a52a. The packet itself does not carry an expected primary PDF hash; a later neutral coordinator message separately supplies exactly this expected hash from fixed source metadata, matching the computation. The original packet was not changed. Its actual file-byte SHA256 is 975db7bb8844ed8f57918fa0ab8abd142e731c8d4a6f36e3d820182d8074d35d; reviewer_packet_sha256 below records its declared packet_sha256, a distinct value, without claiming that declared digest is the raw-file digest. All seven semantic slots were audited against the primary pages and the supplied Lean statement plus blind reconstruction. The source.original_text field is an ASTIS paraphrase, not an original quotation, and was checked rather than treated as primary evidence. Accepted means that the precisely cited support definition and explanatory one-update rule are faithfully represented after finite-coordinate relabelling, support/ambient zero-extension, and expansion of the conditional probability. It does not mean the literal complete printed algorithm is accepted: the conflicting general step 2 remains outside this target. No repository source maps, Lean implementation, proofs, previous audits, prior verdicts, repair proposals, other reviewers, or unrelated files were read. No Lean proof or build certification was performed; the packet's compiled flag was not independently verified. No stationarity, irreducibility, convergence, later mixing result, or whole-monograph fidelity is certified. No mathematical repair to this pinned target is proposed. The self-run hash is deliberately blank for coordinator hashing of the completed immutable response bytes."
    }
  ],
  "verdict": "equivalent-after-elaboration",
  "source_review": {
    "state": "accepted",
    "reviewer": "/root/random_scan_source_review",
    "independent_from_formalizer": true,
    "independent_from_decoder": true,
    "evidence": "Fresh independent source-semantic review of packet ASTIS-REVIEW-97206374d96c805f. Read the complete review packet and the complete PDF skill, computed the primary PDF's SHA256 directly, rendered only complete PDF pages 4 and 5 at 150 dpi with the specified pdftoppm, and visually inspected both full rendered pages including surrounding hard-core context, all general numbered steps, explanatory prose, and the beginning of the mixing-time paragraph. The primary PDF at .astis/source-cache/2307.13826v4.pdf has independently computed SHA256 3cc2f911b33bb5538157ef8a70f0c7e0f3c812ecd06dc9c1d5ea0bfdae11a52a. The packet itself does not carry an expected primary PDF hash; a later neutral coordinator message separately supplies exactly this expected hash from fixed source metadata, matching the computation. The original packet was not changed. Its actual file-byte SHA256 is 975db7bb8844ed8f57918fa0ab8abd142e731c8d4a6f36e3d820182d8074d35d; reviewer_packet_sha256 below records its declared packet_sha256, a distinct value, without claiming that declared digest is the raw-file digest. All seven semantic slots were audited against the primary pages and the supplied Lean statement plus blind reconstruction. The source.original_text field is an ASTIS paraphrase, not an original quotation, and was checked rather than treated as primary evidence. Accepted means that the precisely cited support definition and explanatory one-update rule are faithfully represented after finite-coordinate relabelling, support/ambient zero-extension, and expansion of the conditional probability. It does not mean the literal complete printed algorithm is accepted: the conflicting general step 2 remains outside this target. No repository source maps, Lean implementation, proofs, previous audits, prior verdicts, repair proposals, other reviewers, or unrelated files were read. No Lean proof or build certification was performed; the packet's compiled flag was not independently verified. No stationarity, irreducibility, convergence, later mixing result, or whole-monograph fidelity is certified. No mathematical repair to this pinned target is proposed. The self-run hash is deliberately blank for coordinator hashing of the completed immutable response bytes.",
    "review_run_sha256": "b62914b54efc84122813b1530f2175ea35bdf6f170861bc1bdd8c67d14410935",
    "reviewer_packet_sha256": "fa10a2be8138a2f1f238507c1039ac79ceeea230dca5544f1b266675a4aa657e",
    "run_artifact": "runs/20260908-samplewiki-resume/random-scan.source-review-result.json",
    "publication_amendment": {
      "run_artifact": "runs/20260908-samplewiki-resume/random-scan.source-review-publication-amendment.json",
      "sha256": "ddc01efea1d05316622a2598d8a0f2b88e28a93e14461ea6fe3b4816a7534e2a",
      "scope": "Same reviewer; only local path rendered repository-relative. Semantic assessment unchanged."
    },
    "full_printed_algorithm_fidelity": false,
    "interpretation": "Accepted only for the explicitly cited positive-support explanatory one-update target, equivalent after elaboration. The original printed step-2 conflict, entire numbered algorithm and later theorems are not certified.",
    "schema_amendment": {
      "run_artifact": "runs/20260908-samplewiki-resume/random-scan.source-review-schema-amendment-v2.json",
      "sha256": "17aa2172d2f2ac6485fe1dfc942805035e841e9eca888db92b74a51bacbe409e",
      "scope": "Same reviewer approved deterministic delta evidence population; first rejected adapter remains recorded. No assessment changed."
    }
  },
  "repairs": []
}
