Documentation

LeanPool.BKARForestFormula.BKAR.OrderedTerminalGrowth

Terminal growths #

Packages a terminal ordered growth (TerminalGrowth): an ordered branch starting from a given forest together with the certificate that its final forest has no active edges left. Defines its branch integrals and the constructors (ofActiveEdgesEqEmpty, cons) and unfolding lemmas used to run the recursion behind the BKAR forest interpolation formula (see BKAR.Formula) to completion.

structure BKAR.Forest.TerminalGrowth {V : Type u_1} [Fintype V] [DecidableEq V] (F : Forest V) :
Type u_1

A terminal ordered growth from a starting forest.

This packages one ordered branch together with the certificate that its final forest has no active edges left.

Instances For
    noncomputable def BKAR.Forest.TerminalGrowth.branchIntegralAux {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (data : F.TerminalGrowth) (top : ℝ) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :

    The ordered branch integral with an explicit outer bound.

    Equations
    Instances For
      noncomputable def BKAR.Forest.TerminalGrowth.branchIntegral {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (data : F.TerminalGrowth) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :

      The ordered branch integral over the unit simplex.

      Equations
      Instances For

        The empty terminal branch attached to a forest with no active edges.

        Equations
        Instances For

          Prepend a chosen active extension to a terminal branch from the extended forest.

          Equations
          Instances For
            theorem BKAR.Forest.TerminalGrowth.branchIntegral_eq_branchIntegralAux_one {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (data : F.TerminalGrowth) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :
            data.branchIntegral u ρ = data.branchIntegralAux 1 u ρ
            theorem BKAR.Forest.TerminalGrowth.cons_order {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} {e : Edge V} (h : F.ActiveExtension e) (tail : h.forest.TerminalGrowth) :
            (cons h tail).order = e :: tail.order
            theorem BKAR.Forest.TerminalGrowth.cons_terminal {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} {e : Edge V} (h : F.ActiveExtension e) (tail : h.forest.TerminalGrowth) :
            (cons h tail).terminal = tail.terminal
            theorem BKAR.Forest.TerminalGrowth.cons_growth {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} {e : Edge V} (h : F.ActiveExtension e) (tail : h.forest.TerminalGrowth) :
            (cons h tail).growth = h.consGrowth tail.growth

            The finite forest index grown by a terminal branch.

            Equations
            Instances For

              If a terminal branch carries no growth order, its terminal forest is the initial forest.

              If a terminal branch carries no growth order, its support is the support of the initial forest.

              theorem BKAR.Forest.TerminalGrowth.branchIntegralAux_eq_standardInterp_of_order_eq_nil {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (data : F.TerminalGrowth) (horder : data.order = []) (top : ℝ) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :
              data.branchIntegralAux top u ρ = ρ (F.standardInterp u)

              The branch integral of a terminal growth with empty order is just evaluation at the initial standard interpolation point.

              theorem BKAR.Forest.TerminalGrowth.branchIntegral_eq_standardInterp_of_order_eq_nil {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (data : F.TerminalGrowth) (horder : data.order = []) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :
              data.branchIntegral u ρ = ρ (F.standardInterp u)
              theorem BKAR.Forest.TerminalGrowth.mem_edges_of_mem_order {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (data : F.TerminalGrowth) {e : Edge V} (he : e ∈ data.order) :
              theorem BKAR.Forest.TerminalGrowth.cons_branchIntegralAux_eq_integral_tail_partialDeriv {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} {e : Edge V} (h : F.ActiveExtension e) (tail : h.forest.TerminalGrowth) (top : ℝ) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :
              (cons h tail).branchIntegralAux top u ρ = ∫ (t : ℝ) in 0..top, tail.branchIntegralAux t (⋯.extendParam u t) (partialDeriv e ρ)

              The recursive form of a terminal branch obtained by prepending one active extension.

              A terminal branch integral in the standard interpolation form used by BKAR main terms.

              The same terminal branch integral, with the final standard interpolation expressed as the terminal fill-parameter interpolation.

              structure BKAR.Forest.ActiveTerminalBranchData {V : Type u_1} [Fintype V] [DecidableEq V] (F : Forest V) :
              Type u_1

              Terminal branch data chosen independently for each active edge of a forest.

              For each active edge, this chooses a one-edge active extension and a terminal ordered tail branch from the extended forest.

              Instances For

                Forget terminality, retaining the active-branch data underneath.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  The full terminal branch selected over one active edge.

                  Equations
                  Instances For
                    noncomputable def BKAR.Forest.ActiveTerminalBranchData.branchIntegralAux {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (data : F.ActiveTerminalBranchData) (top : ℝ) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :

                    The finite active-edge sum of terminal branch integrals with an explicit bound.

                    Equations
                    Instances For
                      noncomputable def BKAR.Forest.ActiveTerminalBranchData.branchIntegral {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (data : F.ActiveTerminalBranchData) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :

                      The finite active-edge sum of terminal branch integrals over the unit simplex.

                      Equations
                      Instances For
                        def BKAR.Forest.ActiveTerminalBranchData.singleton {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (extensions : (e : ↥F.activeEdges) → F.ActiveExtension ↑e) (hterm : ∀ (e : ↥F.activeEdges), (extensions e).forest.activeEdges = ∅) :

                        The active-terminal branch data whose selected branch over each active edge stops after the first extension.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          theorem BKAR.Forest.ActiveTerminalBranchData.singleton_branchData {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (extensions : (e : ↥F.activeEdges) → F.ActiveExtension ↑e) (hterm : ∀ (e : ↥F.activeEdges), (extensions e).forest.activeEdges = ∅) :
                          (singleton extensions hterm).branchData = ActiveBranchData.singleton extensions

                          If the selected tail after an active edge has empty order, then the full branch support is just the support of the one-edge extension.

                          If the selected tail after an active edge has empty order, terminality of the tail says that the one-edge extension is already terminal.

                          theorem BKAR.Forest.ActiveTerminalBranchData.singleton_growth_growth_eq_singletonGrowth {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (extensions : (e : ↥F.activeEdges) → F.ActiveExtension ↑e) (hterm : ∀ (e : ↥F.activeEdges), (extensions e).forest.activeEdges = ∅) (e : ↥F.activeEdges) :
                          ((singleton extensions hterm).growth e).growth = (extensions e).singletonGrowth
                          theorem BKAR.Forest.ActiveTerminalBranchData.singleton_branchIntegralAux_eq_activeBranchData_singleton {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (extensions : (e : ↥F.activeEdges) → F.ActiveExtension ↑e) (hterm : ∀ (e : ↥F.activeEdges), (extensions e).forest.activeEdges = ∅) (top : ℝ) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :
                          (singleton extensions hterm).branchIntegralAux top u ρ = (ActiveBranchData.singleton extensions).branchIntegralAux top u ρ
                          theorem BKAR.Forest.ActiveTerminalBranchData.singleton_branchIntegral_eq_activeBranchData_singleton {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (extensions : (e : ↥F.activeEdges) → F.ActiveExtension ↑e) (hterm : ∀ (e : ↥F.activeEdges), (extensions e).forest.activeEdges = ∅) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :
                          (singleton extensions hterm).branchIntegral u ρ = (ActiveBranchData.singleton extensions).branchIntegral u ρ

                          The active-terminal branch sum is the sum of the selected full terminal branch integrals.

                          theorem BKAR.Forest.ActiveTerminalBranchData.branchIntegralAux_eq_sum_integrals_tail_partialDeriv {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (data : F.ActiveTerminalBranchData) (top : ℝ) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :
                          data.branchIntegralAux top u ρ = ∑ e ∈ F.activeEdges.attach, ∫ (t : ℝ) in 0..top, (data.tail e).branchIntegralAux t (⋯.extendParam u t) (partialDeriv (↑e) ρ)

                          Recursive form of the active-terminal branch sum after the first active edge.

                          The active-terminal branch sum in the standard interpolation form used by the ordered BKAR main terms.

                          Terminal fill-parameter form of the active-terminal branch sum.

                          theorem BKAR.Forest.ActiveTerminalBranchData.singleton_branchIntegralAux_eq_sum_integrals_mixedPartialList_standardInterp {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (extensions : (e : ↥F.activeEdges) → F.ActiveExtension ↑e) (hterm : ∀ (e : ↥F.activeEdges), (extensions e).forest.activeEdges = ∅) (es : List (Edge V)) (top : ℝ) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :
                          (singleton extensions hterm).branchIntegralAux top u (mixedPartialList es ρ) = ∑ e ∈ F.activeEdges.attach, ∫ (t : ℝ) in 0..top, mixedPartialList (↑e :: es) ρ ((extensions e).forest.standardInterp (⋯.extendParam u t))

                          Terminal singleton active-terminal branches in the standard terminal-interpolation form.

                          theorem BKAR.Forest.ActiveTerminalBranchData.singleton_branchIntegralAux_eq_sum_integrals_mixedPartialList_interpWithFill {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (extensions : (e : ↥F.activeEdges) → F.ActiveExtension ↑e) (hterm : ∀ (e : ↥F.activeEdges), (extensions e).forest.activeEdges = ∅) (es : List (Edge V)) (top : ℝ) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :
                          (singleton extensions hterm).branchIntegralAux top u (mixedPartialList es ρ) = ∑ e ∈ F.activeEdges.attach, ∫ (t : ℝ) in 0..top, mixedPartialList (↑e :: es) ρ ((extensions e).forest.interpWithFill (⋯.extendParam u t) t)

                          Terminal singleton active-terminal branches in the terminal fill-parameter form.

                          theorem BKAR.Forest.ActiveTerminalBranchData.singleton_branchIntegral_eq_sum_integrals_mixedPartialList_standardInterp {V : Type u_1} [Fintype V] [DecidableEq V] {F : Forest V} (extensions : (e : ↥F.activeEdges) → F.ActiveExtension ↑e) (hterm : ∀ (e : ↥F.activeEdges), (extensions e).forest.activeEdges = ∅) (es : List (Edge V)) (u : F.EdgeParam → ℝ) (ρ : (Edge V → ℝ) → ℝ) :
                          (singleton extensions hterm).branchIntegral u (mixedPartialList es ρ) = ∑ e ∈ F.activeEdges.attach, ∫ (t : ℝ) in 0..1, mixedPartialList (↑e :: es) ρ ((extensions e).forest.standardInterp (⋯.extendParam u t))

                          Unit-simplex standard-interpolation version of The standard-interpolation identity for ActiveTerminalBranchData.singleton_branchIntegralAux.