TorchLean API

NN.MLTheory.CROWN.Proofs.GraphCertSoundness.Main.Softplus

Softplus and safeLog certificate steps #

Each proof reads the same parent values and boxes as the executable checker. Softplus uses one parent; safeLog also reads a scalar epsilon parent, whose enclosure is part of the induction hypothesis. The scalar inequalities and coordinatewise box arguments live in the imported module.

theorem NN.MLTheory.CROWN.Graph.CertSoundness.softplus_node_encloses {nodes : Array Node} {ps : ParamStore } {cert : Array (Option (FlatBox ))} {inputs : Std.HashMap Val} {vals : Array (Option Val)} {k : } {B : FlatBox } {v : Val} (hkKind : nodes[k]!.kind = IR.OpKind.softplus) (hcertStep : certStepNode? nodes ps cert k = some B) (hvalStep : evalNode? nodes ps inputs vals k = some v) (hpe : ParentsEnclosed nodes cert vals k) :

A successful softplus certificate step encloses the corresponding semantic value.

theorem NN.MLTheory.CROWN.Graph.CertSoundness.safeLog_node_encloses {nodes : Array Node} {ps : ParamStore } {cert : Array (Option (FlatBox ))} {inputs : Std.HashMap Val} {vals : Array (Option Val)} {k : } {B : FlatBox } {v : Val} (hkKind : nodes[k]!.kind = IR.OpKind.safeLog) (hcertStep : certStepNode? nodes ps cert k = some B) (hvalStep : evalNode? nodes ps inputs vals k = some v) (hpe : ParentsEnclosed nodes cert vals k) :

SafeLog uses the enclosure of its actual scalar epsilon parent in every coordinate.