Local growth certificates derived from executable partner scans #
The certificates below record the actual step-2 choice and completed step-4 scan of [KKR18], arXiv:1602.03124v6, Algorithm 1, printed p. 10. They record local port conditions, not an assumed f-DAG or an optimality oracle.
Main results #
search_grown: all completed expansions in a fresh executable search have local certificates.Grown.outgoing_not_root: discovered variables are not initial roots.
Outputs accumulated before a scan continues or returns its first meeting.
Instances For
Every inserted child is fresh relative to the older forest, different from all other inserted children, and an actual member of the candidate list or the initial output list.
Every expansion can be justified by a previously grown forest, a genuinely unused input at a visited variable, and the local facts proved by its scan. Saturation concerns every feasible partner, including partners skipped because their parent has the same original constraint at an older timestamp.
- nil {Rel : Type u_1} {V : Type u_2} {F : CSP Rel V} [DecidableEq V] {sem : Rel → List Bool → Bool} {f : F.OccurrenceLabeling Bool} {rs : List V} : Grown sem f rs []
Initial forest consists solely of isolated roots.
- cons {Rel : Type u_1} {V : Type u_2} {F : CSP Rel V} [DecidableEq V] {sem : Rel → List Bool → Bool} {f : F.OccurrenceLabeling Bool} {rs : List V} {es : Log F} {e : Expansion F} (previous : Grown sem f rs es) (visited : Log.Visited rs es e.input.var) (unused : e.input ∉ es.used) (fresh : ∀ o ∈ e.outputs, ¬Log.Visited rs es o.var) (distinct : (List.map Occurrence.var e.outputs).Nodup) (feasible : ∀ o ∈ e.outputs, o ∈ partners sem f e.input) (saturated : ∀ o ∈ partners sem f e.input, o ∈ e.outputs ++ es.outgoing) : Grown sem f rs (e :: es)
A complete scan extends a previously grown forest.
Instances For
Every discovery variable is a nonroot, including across repeated constraint copies.
A real continuing scan, together with the selected frontier incidence, supplies all local conditions of a growth certificate. No forest/DAG correctness is assumed.
Any port already used by a grown forest belongs to a visited variable.
Every fresh output port is distinct from every older used port.
The two ports of an inserted step name distinct variables, even before invoking the edge-instance hypothesis used elsewhere.
Every completed expansion in the actual executable run has a local growth certificate. The only recursive precondition is exact remaining-port freshness, supplied by the program's filter and true initially. This theorem assumes neither DAG nor event correctness.
Every completed log in a fresh search is derived from actual frontier choices and scans.