Documentation

CslibFrontier.Computability.PolyTime.CSP.Edge.Solver.Ancestry

Finite chronological ancestry and blossom compilation #

A single backwards scan reconstructs actual root paths. Timestamps are paid for by the older log's length and retain copied-constraint identity. Original names and public occurrence positions remain binary. The representation bookkeeping is original; the two LCA cases are those of [KKR18], arXiv:1602.03124v6, Section 5.3, printed pp. 11–12.

Backwards-scan state: queried binary variable and the already reconstructed suffix.

  • start : ℕ

    Current ancestor's binary original name.

  • steps : List (ℕ × ℕ)

    Actual binary global port pairs in root-to-leaf order.

  • times : List ℕ

    Actual copy timestamps, in the same order and encoded unary.

Instances For
    theorem Cslib.Complexity.CSP.EdgeSolver.NativeForest.encTraceCode_mk_inO {γ : Type} {encIn : γ ↪ List Bool} {x0 T0 S0 : γ → ℕ} {x1 : γ → List (ℕ × ℕ)} {T1 S1 : γ → ℕ} {x2 : γ → List ℕ} {T2 S2 : γ → ℕ} (h0 : Turing.MultiTapeTM.ComputableInO x0 encIn Turing.MultiTapeTM.encNat T0 S0) (h1 : Turing.MultiTapeTM.ComputableInO x1 encIn (Turing.MultiTapeTM.encList (Turing.MultiTapeTM.encPair Turing.MultiTapeTM.encNat Turing.MultiTapeTM.encNat)) T1 S1) (h2 : Turing.MultiTapeTM.ComputableInO x2 encIn (Turing.MultiTapeTM.encList Turing.MultiTapeTM.encUnary) T2 S2) :
    Turing.MultiTapeTM.ComputableInO (fun (x : γ) => { start := x0 x, steps := x1 x, times := x2 x }) encIn encTraceCode (fun (x : γ) => T0 x + (T1 x + T2 x)) fun (x : γ) => S0 x + (S1 x + S2 x)
    @[reducible, inline]

    The tuple of the fields of encTraceCode.

    Instances For
      theorem Cslib.Complexity.CSP.EdgeSolver.NativeForest.encTraceCode_start_budget {γ✝ : Type} {encIn✝ : γ✝ ↪ List Bool} {S✝ : γ✝ → ℕ} {g✝ : γ✝ → TraceCode} :

      Framed binary start and framed binary position pairs, followed by framed unary times.

      Instances For

        Follow one actual parent through a strictly older expansion.

        Instances For

          Scan newest-first expansions with the actual decreasing copy timestamps.

          Instances For

            Root-to-variable ancestry with exact ordered step positions and actual copy times.

            Instances For

              Forget only the copy timestamps of an actual ancestry code.

              Instances For
                @[reducible, inline]

                Actual variable/copy node codes; copied nodes keep original constraint and time.

                Instances For
                  @[reducible, inline]

                  A variable/copy tag precedes binary original names or unary constraint/time coordinates.

                  Instances For

                    Original variables alternate with actual timestamped copied constraints.

                    Instances For

                      The full common root-path prefix, retaining both coordinates of a copied constraint.

                      Instances For

                        The preparatory root path and actual closed cycle; metadata remain in the source layer.

                        Instances For
                          theorem Cslib.Complexity.CSP.EdgeSolver.NativeForest.encBlossomCode_prepare_budget {γ✝ : Type} {encIn✝ : γ✝ ↪ List Bool} {S✝ : γ✝ → ℕ} {g✝ : γ✝ → BlossomCode} :
                          theorem Cslib.Complexity.CSP.EdgeSolver.NativeForest.encBlossomCode_mk_inO {γ : Type} {encIn : γ ↪ List Bool} {x0 : γ → EdgeAugmenting.WalkCode} {T0 S0 : γ → ℕ} {x1 : γ → EdgeAugmenting.WalkCode} {T1 S1 : γ → ℕ} (h0 : Turing.MultiTapeTM.ComputableInO x0 encIn EdgeAugmenting.encWalkCode T0 S0) (h1 : Turing.MultiTapeTM.ComputableInO x1 encIn EdgeAugmenting.encWalkCode T1 S1) :
                          Turing.MultiTapeTM.ComputableInO (fun (x : γ) => { prepare := x0 x, cycle := x1 x }) encIn encBlossomCode (fun (x : γ) => T0 x + T1 x) fun (x : γ) => S0 x + S1 x
                          theorem Cslib.Complexity.CSP.EdgeSolver.NativeForest.encBlossomCode_cycle_budget {γ✝ : Type} {encIn✝ : γ✝ ↪ List Bool} {S✝ : γ✝ → ℕ} {g✝ : γ✝ → BlossomCode} :

                          The preparation walk is framed, followed by the cycle walk.

                          Instances For

                            Append two actual walks, preserving the first one's original start.

                            Instances For

                              Candidate augmentation: the left ancestry, meeting pair, and reversed right ancestry.

                              Instances For

                                Both actual LCA cases, including the final child-to-child pair for a copied-constraint LCA. Every scope lookup and prefix length is bounded by an actual list.

                                Instances For

                                  A single native backwards scan has exactly the source's chronological ancestry. No forest invariant, validity, width or edge-instance premise is needed for this bridge.

                                  The native compiler retains the exact preparation and cycle of both source LCA cases. The metadata and mathematical invariant remain the existing Meeting.blossomData API.