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.

CROWNNodeCertificate is the in-memory representation of a node-wise CROWN certificate read from JSON.

This is part of the public surface of the checker because readCROWNNodeCertificate returns it, and because the blueprint points to it as the “shape of the artifact” being checked.

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