{
  "prefix": {
    "pe": "https://proofengine.info/proofs/discrete-time-rescaling-yields-exp1/",
    "prov": "http://www.w3.org/ns/prov#",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "schema": "http://schema.org/"
  },
  "entity": {
    "pe:claim": {
      "prov:type": "pe:Claim",
      "prov:label": "For a correctly specified discrete-time spike train model with conditional spike probabilities p_k, define A_m = sum_{k=tau_{m-1}+1}^{tau_m-1} -log(1-p_k) and R_m = A_m - log(1 - U_m * p_{tau_m}), where U_m ~ Uniform(0,1) independently. Then R_m are i.i.d. Exp(1), equivalently Z_m = 1 - exp(-R_m) are i.i.d. Uniform(0,1).",
      "prov:value": "For a correctly specified discrete-time spike train model with conditional spike probabilities p_k, define A_m = sum_{k=tau_{m-1}+1}^{tau_m-1} -log(1-p_k) and R_m = A_m - log(1 - U_m * p_{tau_m}), where U_m ~ Uniform(0,1) independently. Then R_m are i.i.d. Exp(1), equivalently Z_m = 1 - exp(-R_m) are i.i.d. Uniform(0,1)."
    },
    "pe:evidence-A1": {
      "prov:type": "pe:ComputedEvidence",
      "prov:label": "Analytical PIT verification (constant p)",
      "pe:factId": "A1",
      "pe:evidenceType": "computed",
      "pe:method": "Computed P(Z <= z) analytically for z in [0.1, 0.25, 0.5, 0.75, 0.9, 0.99] using constant p=0.3. Summed over geometric distribution support points with PIT formula. Verified P(Z <= z) = z to machine precision.",
      "pe:result": "Max error = 1.11e-16. PIT exact: True"
    },
    "pe:evidence-A2": {
      "prov:type": "pe:ComputedEvidence",
      "prov:label": "Monte Carlo KS test (constant p = 0.3)",
      "pe:factId": "A2",
      "pe:evidenceType": "computed",
      "pe:method": "Monte Carlo: 100000 samples of R_m with constant p=0.3, KS test against Exp(1).",
      "pe:result": "KS stat = 0.003145 <= critical = 0.004301. Exp(1) NOT rejected."
    },
    "pe:evidence-A3": {
      "prov:type": "pe:ComputedEvidence",
      "prov:label": "Monte Carlo KS test (constant p = 0.5)",
      "pe:factId": "A3",
      "pe:evidenceType": "computed",
      "pe:method": "Monte Carlo: 100000 samples of R_m with constant p=0.5, KS test against Exp(1).",
      "pe:result": "KS stat = 0.002705 <= critical = 0.004301. Exp(1) NOT rejected."
    },
    "pe:evidence-A4": {
      "prov:type": "pe:ComputedEvidence",
      "prov:label": "Monte Carlo KS test (time-varying p_k)",
      "pe:factId": "A4",
      "pe:evidenceType": "computed",
      "pe:method": "Monte Carlo: 100000 samples of R_m with time-varying p_k = 0.1 + 0.08*sin(2*pi*k/50), KS test against Exp(1).",
      "pe:result": "KS stat = 0.002624 <= critical = 0.004301. Exp(1) NOT rejected."
    },
    "pe:evidence-A5": {
      "prov:type": "pe:ComputedEvidence",
      "prov:label": "Independence test via serial correlation",
      "pe:factId": "A5",
      "pe:evidenceType": "computed",
      "pe:method": "Computed lag-1 and lag-2 autocorrelation of Z_m = 1 - exp(-R_m) for 100000 samples with constant p=0.3. Under independence, |corr| should be < 1.96/sqrt(n).",
      "pe:result": "Lag-1 corr = -0.003418, lag-2 corr = 0.003510, threshold = 0.006198. Independence NOT rejected."
    },
    "pe:evidence-A6": {
      "prov:type": "pe:ComputedEvidence",
      "prov:label": "Analytical CDF derivation matches PIT",
      "pe:factId": "A6",
      "pe:evidenceType": "computed",
      "pe:method": "Compared Z_claim = 1 - exp(-R_m) with Z_PIT = F(n-1) + U*(F(n)-F(n-1)) for 6 test cases. Verified algebraic equivalence to machine precision.",
      "pe:result": "Max error = 0.00e+00. Formulas identical: True"
    },
    "pe:verdict": {
      "prov:type": "pe:Verdict",
      "prov:label": "Verdict: PROVED",
      "prov:value": "PROVED",
      "pe:doi": "10.5281/zenodo.19646034"
    }
  },
  "activity": {
    "pe:determine-verdict": {
      "prov:type": "pe:VerdictDetermination",
      "prov:label": "Determine verdict from evidence",
      "prov:endTime": "2026-04-19"
    }
  },
  "agent": {
    "pe:proof-engine": {
      "prov:type": "prov:SoftwareAgent",
      "prov:label": "Proof Engine",
      "schema:version": "1.24.0",
      "schema:url": "https://github.com/yaniv-golan/proof-engine"
    }
  },
  "wasGeneratedBy": {
    "pe:gen-verdict": {
      "prov:entity": "pe:verdict",
      "prov:activity": "pe:determine-verdict"
    }
  },
  "wasDerivedFrom": {},
  "wasAttributedTo": {
    "pe:attr-verdict": {
      "prov:entity": "pe:verdict",
      "prov:agent": "pe:proof-engine"
    }
  },
  "used": {
    "pe:used-A1": {
      "prov:activity": "pe:determine-verdict",
      "prov:entity": "pe:evidence-A1"
    },
    "pe:used-A2": {
      "prov:activity": "pe:determine-verdict",
      "prov:entity": "pe:evidence-A2"
    },
    "pe:used-A3": {
      "prov:activity": "pe:determine-verdict",
      "prov:entity": "pe:evidence-A3"
    },
    "pe:used-A4": {
      "prov:activity": "pe:determine-verdict",
      "prov:entity": "pe:evidence-A4"
    },
    "pe:used-A5": {
      "prov:activity": "pe:determine-verdict",
      "prov:entity": "pe:evidence-A5"
    },
    "pe:used-A6": {
      "prov:activity": "pe:determine-verdict",
      "prov:entity": "pe:evidence-A6"
    }
  }
}