TorchLean API

NN.Verification.Cert.CROWNNodeCert

CROWNNodeCert #

Per-node α-CROWN certificate checking (graph dialect).

This mirrors NN.Verification.IBPNodeCert, but for affine bounds produced by a CROWN/DeepPoly pass with optional α-parameters for the ReLU lower relaxation (α-CROWN).

Certificate JSON format:

{
  "ctx": { "inputId": 0, "inputDim": 2 },
  "ibp": [ null | { "lo": [...], "hi": [...] }, ... ],
  "crown": [
    null |
      {
        "loA": [[...], ...], "loC": [...],
        "hiA": [[...], ...], "hiC": [...]
      },
    ...
  ],
  "alpha": [ null | [...], ... ] // optional per-node ReLU α vector
}

Trust boundary notes:

The helpers below are the JSON-facing boundary for the CROWN certificate checkers. They parse the artifact, compare decimal-serialized floats with an explicit tolerance, and check parent/shape requirements before invoking the semantic checker.

@[reducible, inline]

In-memory representation of a node-wise α-CROWN certificate read from JSON.

Instances For

    Read a CROWN node certificate from JSON on disk.

    Instances For

      Check the local CROWN enclosure condition for one node against a certificate entry.

      Instances For

        Check a per-node α-CROWN certificate against Lean's propagation rules.

        Returns true iff every node's certificate affine bounds agree (within tol) with what Lean computes from the certificate parents + ParamStore.

        Instances For