File size: 946 Bytes
d7b24f0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | /*
* Copyright (C) 2026 HCALC / Foundry J contributors
* SPDX-License-Identifier: AGPL-3.0-only
*
* Module: Optimize — production OptObj = residual J.
* Cite: PRODUCTION.md §9 Gap-OptObj CLOSED.
* J(X) = ‖X − Ξ(t, Λm·C(Tp(X)))‖_∞; iterate to tol.
* Provenance: SpecDefined
*/
module modules/Optimize
open modules/State
abstract sig ObjKind {}
one sig ResidualObj extends ObjKind {}
sig Objective {
kind: one ObjKind,
score: State -> lone Int
}
fact fact_P7_optobj_residual {
all o: Objective | o.kind = ResidualObj
}
pred optobj_residual_ok {
all o: Objective | o.kind = ResidualObj
}
assert P7_optobj_residual {
/* Production assert P7 — OptObj = residual */
optobj_residual_ok
}
pred objective_is_residual {
all o: Objective | o.kind = ResidualObj
}
assert INV_optimize_objective_residual {
/* INV_optimize_objective_residual — production residual (was axiom-gap) */
objective_is_residual
}
|