Documentation

LeanPool.ParameterFreeGradient.V7.Proofs.Stage1E03.Refinement

The finite Euclidean query programs evaluate to the literal source reports.

@[instance_reducible]

Classical proposition decisions used locally in the program refinement proof.

Equations
Instances For
    def V7.Stage1E03.prependReport {d : ℕ} (history : List (Observation d)) (guards : List (ObservableGuardCheck d)) (tail : TrialReport d) :

    A report with earlier observations and checked guards prepended.

    Equations
    Instances For
      noncomputable def V7.Stage1E03.sourceTerminalReport {d : ℕ} {x0 : Point d} (inst : PositiveInstance 2 d x0) (eps M : ℝ) (n : ℕ) (U : Point d) :

      The source terminal-query report, determined by the descent guard and gradient accuracy.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        noncomputable def V7.Stage1E03.sourcePhaseBSuffix {d : ℕ} {x0 : Point d} (inst : PositiveInstance 2 d x0) (eps M : ℝ) (n : ℕ) (U : Point d) :

        The source phase-B suffix that checks interpolation before terminal descent.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def V7.Stage1E03.sourcePhaseBReport {d : ℕ} {x0 : Point d} (inst : PositiveInstance 2 d x0) (eps M : ℝ) (n : ℕ) (U : Point d) :

          The source OGM-G report with its new observations and concluding checks.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            noncomputable def V7.Stage1E03.sourcePhaseAReport {d : ℕ} {x0 : Point d} (inst : PositiveInstance 2 d x0) (eps M : ℝ) (n : ℕ) :
            ℕ → ℕ → TrialReport d

            The recursively assembled source report for the remaining estimate phase and OGM-G.

            Equations
            Instances For
              @[simp]
              theorem V7.Stage1E03.ogmgStep_eq_source {d : ℕ} (n : ℕ) (oracle : PairOracle d) (M : ℝ) (U : Point d) (i : ℕ) :
              theorem V7.Stage1E03.eval_terminal_eq_source {d : ℕ} {x0 : Point d} (inst : PositiveInstance 2 d x0) (eps M : ℝ) (n : ℕ) (U : Point d) (obsAt : ℕ → Observation d) (history : List (Observation d)) (guards : List (ObservableGuardCheck d)) (hobs : obsAt n = O3.PairOracle.observe inst.oracle (O3.ogmgState (O3.stage9ExecutionConfig n inst.oracle M U) n).current) :
              Program.eval inst.oracle 1 (terminalProgram eps M n obsAt (O3.ogmgState (O3.stage9ExecutionConfig n inst.oracle M U) n) guards) history = prependReport history guards (sourceTerminalReport inst eps M n U)
              theorem V7.Stage1E03.eval_phaseB_eq_source {d : ℕ} {x0 : Point d} (inst : PositiveInstance 2 d x0) (eps M : ℝ) (n : ℕ) (U : Point d) (fuel i : ℕ) (exec : O3.OGMGExecutionState d) (obsAt : ℕ → Observation d) (history : List (Observation d)) (guards : List (ObservableGuardCheck d)) :
              i + fuel = n → exec = O3.ogmgState (O3.stage9ExecutionConfig n inst.oracle M U) i → (∀ j ≤ i, obsAt j = O3.PairOracle.observe inst.oracle (O3.ogmgState (O3.stage9ExecutionConfig n inst.oracle M U) j).current) → Program.eval inst.oracle (fuel + 1) (phaseBProgram eps M n i exec obsAt guards fuel) history = prependReport history guards (have cfg := O3.stage9ExecutionConfig n inst.oracle M U; have pre := List.map (fun (j : ℕ) => O3.PairOracle.observe inst.oracle (O3.ogmgState cfg (i + j + 1)).current) (List.range fuel); prependReport pre [] (sourcePhaseBSuffix inst eps M n U))
              theorem V7.Stage1E03.eval_phaseA_eq_source {d : ℕ} {x0 : Point d} (inst : PositiveInstance 2 d x0) (eps M : ℝ) (n fuel k : ℕ) (last : Option (Observation d)) (history : List (Observation d)) (guards : List (ObservableGuardCheck d)) :
              k + fuel = n → (fuel = 0 → last = some (O3.PairOracle.observe inst.oracle (sourceEstimateState inst.oracle M x0 n).accelerated)) → Program.eval inst.oracle (phaseABudget n fuel) (phaseAProgram eps M x0 n k (sourceEstimateState inst.oracle M x0 k) last guards fuel) history = prependReport history guards (sourcePhaseAReport inst eps M n k fuel)
              theorem V7.Stage1E03.eval_full_eq_source {d : ℕ} {x0 : Point d} (inst : PositiveInstance 2 d x0) (eps M : ℝ) (n : ℕ) (hn : 0 < n) :
              Program.eval inst.oracle (phaseABudget n n) (phaseAProgram eps M x0 n 0 { accelerated := x0, cumulativeGradient := 0 } none [] n) [] = sourcePhaseAReport inst eps M n 0 n