Documentation

TauCeti.Geometry.Manifold.Riemannian.PositiveScalarCurvature.Concordance

Concordance of metrics of positive scalar curvature #

Two metrics g₀ and g₁ of positive scalar curvature on M are concordant if there is a metric of positive scalar curvature on the cylinder M × ℝ which is the product metric g₀ + dt² where t ≤ 0 and g₁ + dt² where t ≥ 1. Concordance is the relation between metrics of positive scalar curvature produced by the surgery and bordism constructions.

This file sets up the cylinder metric g + dt², whose scalar curvature at (x, t) is that of g at x, and reparametrisations of the ℝ-coordinate of a metric on M × ℝ, pullbacks along (x, t) ↦ (x, φ t) for a smooth φ with nowhere vanishing derivative. Reparametrising by t ↦ 1 - t reverses a concordance. To concatenate two concordances, the second is translated by 2, glued to the first along 1 < t < 2, where both are the same product metric, and the window [0, 3] is compressed into [0, 1]. The compression is a reparametrisation which is a translation near both ends: an affine rescaling of t would replace dt² by a multiple and destroy the product ends. Hence concordance is an equivalence relation on metrics of positive scalar curvature.

Concordance is natural. Pulling a concordance back along (x, t) ↦ (f x, t), for a smooth map f whose differential is invertible at every point, such as a diffeomorphism or a covering map, gives a concordance between the pullbacks of its ends. Multiplying a concordance by a constant c > 0 multiplies dt² by c as well; reparametrising by t ↦ t / √c restores the product ends, so c g₀ and c g₁ are concordant when g₀ and g₁ are. The product of a concordance from g₀ to g₁ with a metric g₂ of nonnegative scalar curvature, with the cylinder coordinate moved from M × ℝ to (M × N) × ℝ, is a concordance from g₀ × g₂ to g₁ × g₂.

Concordances can equivalently be taken on the manifold with boundary M × [0, 1]: a collared concordance is a metric of positive scalar curvature on M × [0, 1] which is g₀ + dt² near t = 0 and g₁ + dt² near t = 1, where g + dt² on M × [0, 1] is the restriction Bundle.ContMDiffRiemannianMetric.restrictIcc of the cylinder metric. The restriction of a concordance to M × [0, 1] itself need not have product collars. Instead, a concordance is pulled back along (x, t) ↦ (x, ψ t) for a smooth increasing ψ : [0, 1] → [-1, 2] which is t ↦ t - 1 near 0 and t ↦ t + 1 near 1. Conversely, a collared concordance is extended by the product ends: it is pulled back to M × ℝ along (x, t) ↦ (x, θ t) for a smooth increasing θ : ℝ → (0, 1) which is the identity away from the two collars, and glued to g₀ + dt² and g₁ + dt² over the collars.

Main definitions #

Main results #

References #

The cylinder metric g + dt² on M × ℝ: the product of g with the standard metric of ℝ.

Instances For
    @[simp]

    The cylinder metric g + dt² pairs the M-components with g and multiplies the ℝ-components.

    theorem Bundle.ContMDiffRiemannianMetric.cylinder_inner_mk {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] (g : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x) (x : M) (s t : ℝ) :

    The cylinder metric g + dt² at (x, s) and at (x, t) is the same bilinear form.

    @[simp]

    The scalar curvature of the cylinder metric g + dt² at (x, t) is that of g at x.

    @[simp]

    The cylinder metric g + dt² has positive scalar curvature exactly when g does.

    Reparametrise the ℝ-coordinate of a metric G on M × ℝ by a smooth φ : ℝ → ℝ with nowhere vanishing derivative: the pullback of G along (x, t) ↦ (x, φ t).

    Instances For
      @[simp]
      theorem Bundle.ContMDiffRiemannianMetric.reparamTime_inner {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] {φ : ℝ → ℝ} {G : ContMDiffRiemannianMetric (I.prod (modelWithCornersSelf ℝ ℝ)) (↑⊤) (E × ℝ) fun (p : M × ℝ) => TangentSpace (I.prod (modelWithCornersSelf ℝ ℝ)) p} (hφ : ContDiff ℝ (↑⊤) φ) (hφ' : ∀ (t : ℝ), deriv φ t ≠ 0) (p : M × ℝ) (v w : TangentSpace (I.prod (modelWithCornersSelf ℝ ℝ)) p) :
      (((G.reparamTime hφ hφ').inner p) v) w = ((G.inner (p.1, φ p.2)) ((mfderiv% (Prod.map id φ) p) v)) ((mfderiv% (Prod.map id φ) p) w)

      The reparametrised metric at (x, t) is G at (x, φ t), evaluated on the images of the tangent vectors under the differential of (x, t) ↦ (x, φ t).

      theorem Bundle.ContMDiffRiemannianMetric.reparamTime_inner_congr {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] {φ : ℝ → ℝ} {G G' : ContMDiffRiemannianMetric (I.prod (modelWithCornersSelf ℝ ℝ)) (↑⊤) (E × ℝ) fun (p : M × ℝ) => TangentSpace (I.prod (modelWithCornersSelf ℝ ℝ)) p} (hφ : ContDiff ℝ (↑⊤) φ) (hφ' : ∀ (t : ℝ), deriv φ t ≠ 0) {p : M × ℝ} (h : G.inner (p.1, φ p.2) = G'.inner (p.1, φ p.2)) :
      (G.reparamTime hφ hφ').inner p = (G'.reparamTime hφ hφ').inner p

      The reparametrised metric at (x, t) only depends on G at (x, φ t).

      @[simp]
      theorem Bundle.ContMDiffRiemannianMetric.scalarCurvature_reparamTime {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] {φ : ℝ → ℝ} {G : ContMDiffRiemannianMetric (I.prod (modelWithCornersSelf ℝ ℝ)) (↑⊤) (E × ℝ) fun (p : M × ℝ) => TangentSpace (I.prod (modelWithCornersSelf ℝ ℝ)) p} [T2Space M] (hφ : ContDiff ℝ (↑⊤) φ) (hφ' : ∀ (t : ℝ), deriv φ t ≠ 0) (p : M × ℝ) :
      (G.reparamTime hφ hφ').scalarCurvature p = G.scalarCurvature (p.1, φ p.2)

      The scalar curvature of the reparametrised metric at (x, t) is that of G at (x, φ t).

      Reparametrising the ℝ-coordinate preserves positive scalar curvature.

      theorem Bundle.ContMDiffRiemannianMetric.cylinder_reparamTime_inner {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] {φ : ℝ → ℝ} (g : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x) (hφ : ContDiff ℝ (↑⊤) φ) (hφ' : ∀ (t : ℝ), deriv φ t ≠ 0) {p : M × ℝ} (h : |deriv φ p.2| = 1) :

      A reparametrisation of the ℝ-coordinate with |φ' t| = 1 leaves the cylinder metric g + dt² unchanged at (x, t).

      theorem Bundle.ContMDiffRiemannianMetric.reparamTime_inner_eq_cylinder_inner {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] {φ : ℝ → ℝ} {G : ContMDiffRiemannianMetric (I.prod (modelWithCornersSelf ℝ ℝ)) (↑⊤) (E × ℝ) fun (p : M × ℝ) => TangentSpace (I.prod (modelWithCornersSelf ℝ ℝ)) p} {g : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x} (hφ : ContDiff ℝ (↑⊤) φ) (hφ' : ∀ (t : ℝ), deriv φ t ≠ 0) {p : M × ℝ} (h : G.inner (p.1, φ p.2) = g.cylinder.inner (p.1, φ p.2)) (hd : |deriv φ p.2| = 1) :
      (G.reparamTime hφ hφ').inner p = g.cylinder.inner p

      A reparametrisation of the ℝ-coordinate with |φ' t| = 1 of a metric which is the cylinder metric g + dt² at (x, φ t) is the cylinder metric g + dt² at (x, t).

      A concordance from g₀ to g₁ is a metric of positive scalar curvature on M × ℝ which is the cylinder metric g₀ + dt² where t ≤ 0 and the cylinder metric g₁ + dt² where t ≥ 1.

      Instances For

        Two metrics on M are concordant if there is a concordance from one to the other.

        Instances For

          Two metrics are concordant exactly when there is a concordance from one to the other.

          The ends of a concordance are concordant.

          The metric at the start of a concordance has positive scalar curvature.

          The metric at the end of a concordance has positive scalar curvature.

          The cylinder metric g + dt² of a metric of positive scalar curvature is a concordance from g to itself.

          A metric is concordant to itself exactly when it has positive scalar curvature.

          Reversing the ℝ-coordinate by t ↦ 1 - t turns a concordance from g₀ to g₁ into a concordance from g₁ to g₀.

          theorem Bundle.ContMDiffRiemannianMetric.Concordant.symm {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] [T2Space M] {g₀ g₁ : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x} (h : g₀.Concordant g₁) :
          g₁.Concordant g₀

          Concordance is symmetric.

          theorem Bundle.ContMDiffRiemannianMetric.concordant_comm {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] [T2Space M] {g₀ g₁ : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x} :
          g₀.Concordant g₁ ↔ g₁.Concordant g₀

          Concordance is a symmetric relation.

          theorem Bundle.ContMDiffRiemannianMetric.concordant_of_inner_eq_cylinder {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] [T2Space M] {G : ContMDiffRiemannianMetric (I.prod (modelWithCornersSelf ℝ ℝ)) (↑⊤) (E × ℝ) fun (p : M × ℝ) => TangentSpace (I.prod (modelWithCornersSelf ℝ ℝ)) p} {g₀ g₁ : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x} (hG : G.HasPositiveScalarCurvature) {a b : ℝ} (h₀ : ∀ (p : M × ℝ), p.2 ≤ a → G.inner p = g₀.cylinder.inner p) (h₁ : ∀ (p : M × ℝ), b ≤ p.2 → G.inner p = g₁.cylinder.inner p) :
          g₀.Concordant g₁

          If a metric of positive scalar curvature on M × ℝ is g₀ + dt² where t ≤ a and g₁ + dt² where t ≥ b, then g₀ and g₁ are concordant, whatever the window [a, b].

          theorem Bundle.ContMDiffRiemannianMetric.Concordant.trans {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] [T2Space M] {g₀ g₁ g₂ : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x} (h₁ : g₀.Concordant g₁) (h₂ : g₁.Concordant g₂) :
          g₀.Concordant g₂

          Concatenation of concordances: concordance is transitive. Translate a concordance from g₁ to g₂ to the window [2, 3], glue it to a concordance from g₀ to g₁ along 1 < t < 2, where both are g₁ + dt², and compress the window [0, 3] into [0, 1].

          Concordance is an equivalence relation on the metrics of positive scalar curvature on M.

          Collared concordances on M × [0, 1] #

          The time map used to extend a collared concordance by product ends.

          A collared concordance from g₀ to g₁ is a metric of positive scalar curvature on the manifold with boundary M × [0, 1] with product collars: for some ε > 0 it is the product metric g₀ + dt² where t < ε and the product metric g₁ + dt² where t > 1 - ε. Here g + dt² on M × [0, 1] is the restriction of the cylinder metric.

          Instances For

            The metric at the start of a collared concordance has positive scalar curvature.

            The metric at the end of a collared concordance has positive scalar curvature.

            The product metric g + dt² on M × [0, 1] of a metric of positive scalar curvature is a collared concordance from g to itself.

            Concordances give collared concordances. A concordance from g₀ to g₁ gives a collared concordance from g₀ to g₁ on M × [0, 1].

            Collared concordances give concordances. If there is a collared concordance from g₀ to g₁, then g₀ and g₁ are concordant.

            Two metrics are concordant exactly when there is a collared concordance from one to the other.

            Pullback and rescaling of concordances #

            theorem Bundle.ContMDiffRiemannianMetric.pullback_prodMap_cylinder {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] {E' : Type u_4} [NormedAddCommGroup E'] [NormedSpace ℝ E'] [FiniteDimensional ℝ E'] {H' : Type u_5} [TopologicalSpace H'] {I' : ModelWithCorners ℝ E' H'} {M' : Type u_6} [TopologicalSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑⊤) M'] {f : M' → M} (g : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x) (hf : ContMDiff I' I (↑⊤ + 1) f) (hinj : ∀ (x : M'), Function.Injective ⇑(mfderiv% f x)) (hinj' : ∀ (p : M' × ℝ), Function.Injective ⇑(mfderiv% (Prod.map f id) p)) :
            g.cylinder.pullback (Prod.map f id) ⋯ hinj' = (g.pullback f hf hinj).cylinder

            The cylinder metric g + dt² pulled back along (x, t) ↦ (f x, t) is the cylinder metric f^* g + dt² of the pullback of g.

            theorem Bundle.ContMDiffRiemannianMetric.IsConcordance.pullback_prodMap {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] [T2Space M] {G : ContMDiffRiemannianMetric (I.prod (modelWithCornersSelf ℝ ℝ)) (↑⊤) (E × ℝ) fun (p : M × ℝ) => TangentSpace (I.prod (modelWithCornersSelf ℝ ℝ)) p} {g₀ g₁ : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x} {E' : Type u_4} [NormedAddCommGroup E'] [NormedSpace ℝ E'] [FiniteDimensional ℝ E'] {H' : Type u_5} [TopologicalSpace H'] {I' : ModelWithCorners ℝ E' H'} {M' : Type u_6} [TopologicalSpace M'] [T2Space M'] [ChartedSpace H' M'] [IsManifold I' (↑⊤) M'] {f : M' → M} (h : G.IsConcordance g₀ g₁) (hf : ContMDiff I' I (↑⊤ + 1) f) (hinv : ∀ (x : M'), (mfderiv% f x).IsInvertible) :
            (G.pullback (Prod.map f id) ⋯ ⋯).IsConcordance (g₀.pullback f hf ⋯) (g₁.pullback f hf ⋯)

            Pulling a concordance from g₀ to g₁ back along (x, t) ↦ (f x, t), for a smooth map f whose differential is invertible at every point, gives a concordance from f^* g₀ to f^* g₁.

            theorem Bundle.ContMDiffRiemannianMetric.Concordant.pullback {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] [T2Space M] {g₀ g₁ : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x} {E' : Type u_4} [NormedAddCommGroup E'] [NormedSpace ℝ E'] [FiniteDimensional ℝ E'] {H' : Type u_5} [TopologicalSpace H'] {I' : ModelWithCorners ℝ E' H'} {M' : Type u_6} [TopologicalSpace M'] [T2Space M'] [ChartedSpace H' M'] [IsManifold I' (↑⊤) M'] {f : M' → M} (h : g₀.Concordant g₁) (hf : ContMDiff I' I (↑⊤ + 1) f) (hinv : ∀ (x : M'), (mfderiv% f x).IsInvertible) :
            (g₀.pullback f hf ⋯).Concordant (g₁.pullback f hf ⋯)

            Naturality of concordance. If g₀ and g₁ are concordant, then so are their pullbacks along a smooth map whose differential is invertible at every point, such as a diffeomorphism or a covering map.

            @[simp]
            theorem Bundle.ContMDiffRiemannianMetric.concordant_pullback_iff {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] [T2Space M] {g₀ g₁ : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x} {E' : Type u_4} [NormedAddCommGroup E'] [NormedSpace ℝ E'] [FiniteDimensional ℝ E'] {H' : Type u_5} [TopologicalSpace H'] {I' : ModelWithCorners ℝ E' H'} {M' : Type u_6} [TopologicalSpace M'] [T2Space M'] [ChartedSpace H' M'] [IsManifold I' (↑⊤) M'] (Φ : Diffeomorph I' I M' M ↑⊤) (hf : ContMDiff I' I (↑⊤ + 1) ⇑Φ) (hinj : ∀ (x : M'), Function.Injective ⇑(mfderiv% ⇑Φ x)) :
            (g₀.pullback (⇑Φ) hf hinj).Concordant (g₁.pullback (⇑Φ) hf hinj) ↔ g₀.Concordant g₁

            Two metrics are concordant exactly when their pullbacks along a diffeomorphism are.

            theorem Bundle.ContMDiffRiemannianMetric.reparamTime_rescale_cylinder {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] {c : ℝ} (g : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x) (hc : 0 < c) :
            (g.cylinder.rescale (fun (x : M × ℝ) => c) ⋯ ⋯).reparamTime ⋯ ⋯ = (g.rescale (fun (x : M) => c) ⋯ ⋯).cylinder

            The cylinder metric c g + dt² of a rescaled metric is the rescaled cylinder metric c (g + dt²) reparametrised by t ↦ t / √c.

            theorem Bundle.ContMDiffRiemannianMetric.Concordant.rescale_const {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] [T2Space M] {g₀ g₁ : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x} {c : ℝ} (h : g₀.Concordant g₁) (hc : 0 < c) :
            (g₀.rescale (fun (x : M) => c) ⋯ ⋯).Concordant (g₁.rescale (fun (x : M) => c) ⋯ ⋯)

            If g₀ and g₁ are concordant, then so are c g₀ and c g₁ for every constant c > 0.

            @[simp]
            theorem Bundle.ContMDiffRiemannianMetric.concordant_rescale_const_iff {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] [T2Space M] {g₀ g₁ : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x} {c : ℝ} (hc : 0 < c) :
            (g₀.rescale (fun (x : M) => c) ⋯ ⋯).Concordant (g₁.rescale (fun (x : M) => c) ⋯ ⋯) ↔ g₀.Concordant g₁

            Rescaling by a positive constant preserves and reflects concordance.

            theorem Bundle.ContMDiffRiemannianMetric.Concordant.prodTangentSpace_of_nonneg {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [FiniteDimensional ℝ E] [T2Space M] {g₀ g₁ : ContMDiffRiemannianMetric I (↑⊤) E fun (x : M) => TangentSpace I x} {F : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {H'' : Type u_5} [TopologicalSpace H''] {J : ModelWithCorners ℝ F H''} {N : Type u_6} [TopologicalSpace N] [T2Space N] [ChartedSpace H'' N] [IsManifold J (↑⊤) N] (h : g₀.Concordant g₁) {g₂ : ContMDiffRiemannianMetric J (↑⊤) F fun (y : N) => TangentSpace J y} (h₂ : ∀ (y : N), 0 ≤ g₂.scalarCurvature y) :

            Products of concordances. If g₀ and g₁ are concordant and g₂ has nonnegative scalar curvature, then g₀ × g₂ and g₁ × g₂ are concordant.