{
  "handle": "NegativeProof",
  "mechanism": "Proving non-membership in a committed state set. An {{agent}} cryptographically commits to its full state (e.g., via Merkle tree), then uses a Zero-Knowledge Range Proof to demonstrate that a specific {{value}} or datum is NOT present in that committed set, without revealing what the set contains. Operates via exhaustive search over the committed domain, treating verified failure-to-find as proof of absence within that snapshot. The guarantee is bounded: it proves non-membership in the committed tree, not global non-possession—the agent could hold uncommitted state elsewhere.",
  "gloss": "Proving non-membership in a committed state snapshot",
  "failure_modes": [
    "Incomplete commitment: state is held outside the committed tree, so the proof is valid and practically meaningless.",
    "Stale commitment: the state changed between commitment and verification.",
    "Cost: proving absence over a large domain is expensive, and the expense scales with the domain rather than with the {{value}} being checked."
  ],
  "invariants": [
    "Proves non-membership in the committed set only, never global non-possession.",
    "The search covers the whole committed domain.",
    "Names the commitment it proves against, and when that commitment was made."
  ],
  "preconditions": [
    "Closed world assumption (over the committed state, not globally)",
    "{{hypothesis}} H",
    "State commitment is fresh and complete"
  ],
  "postconditions": [
    "H proved false within committed state"
  ],
  "_meta": {
    "tier": 1,
    "ring": 1,
    "supersedes": [
      "sema:NegativeProof#mh:SHA-256:5225bbc358d41d3ef16f0466a4e33160d9c7d020132726c74c576eef5d399d4e",
      "sema:NegativeProof#mh:SHA-256:eedf70351b15a007c1350da5dd934d3340873451c9e670a553a45cdc2a45c019",
      "sema:NegativeProof#mh:SHA-256:57af3122aaf64cc4e983e0d4068ce89be598c71a51e29fb0ef596b93d79d9244"
    ],
    "path": [
      "Infrastructure",
      "Primitives"
    ]
  },
  "sema_ref": "NegativeProof#1184",
  "sema_id": "sema:NegativeProof#mh:SHA-256:1184ac0ee80295c5617be9d08bc656197f7d6f5d38dfee4baee466555bf517b2",
  "sema_stub": "1184",
  "dependencies": {
    "references": {
      "agent": "sema:Agent#mh:SHA-256:e127459069739fffc96a71d54ef6e8c97ca53471d5349c16aa72a092a33756cd",
      "hypothesis": "sema:Hypothesis#mh:SHA-256:09894332330937ab8ffd172087883db3adeddf6b7d4ca2befe31832416dedc14",
      "value": "sema:Value#mh:SHA-256:37fd75758d04cdd7f57a636ccb5394d463713d60c33b694e37ab71f4a5a896f8"
    }
  },
  "sema_layer": "Infrastructure",
  "sema_category": "Primitives",
  "used_by": {
    "composes_with": {
      "AdversarialProof": "sema:AdversarialProof#mh:SHA-256:36b42360b5690b7744c1ab52317a9186bc1d770f313598663a5067f1c42f3c73"
    },
    "references": {
      "PromiseGraph": "sema:PromiseGraph#mh:SHA-256:3d396f8f7903b440b517dd7f5711a8da61c0001d77722517a94100252fc0830e"
    }
  }
}
