ABSTRACT (original article): Black hole solutions in general scalar-tensor theories are known to permit hair, i.e. non-trivial scalar profiles and/or metric solutions different from the ones of General Relativity (GR). Imposing that some such solutions–e.g. Schwarzschild or de Sitter solutions motivated in the context of black hole physics or cosmology–should exist, the space of scalar-tensor theories is strongly restricted. Here we investigate precisely what these restrictions are within general quadratic/cubic higher-order scalar-tensor theories for stealth solutions, whose metric is given by that in GR, supporting time-dependent scalar hair with a constant kinetic term. We derive, in a fully covariant approach, the conditions under which the Euler-Lagrange equations admit all (or a specific set of) exact GR solutions, as the first step toward our understanding of a wider class of theories that admit approximately stealth solutions. Focusing on static and spherically symmetric black hole spacetimes, we study the dynamics of linear odd-parity perturbations and discuss possible deviations from GR. Importantly, we find that requiring the existence of all stealth solutions prevents any deviations from GR in the odd-parity sector. In less restrictive scenarios, in particular for theories only requiring the existence of Schwarzschild(-de Sitter) black holes, we identify allowed deviations from GR, derive the stability conditions for the odd modes, and investigate the generic deviation of a non-trivial speed of gravitational waves. All calculations performed in this paper are reproducible via companion Mathematica notebooks. CITATION (original article): Hajime Kobayashi, Shinji Mukohyama, Johannes Noller, Sergi Sirera, Kazufumi Takahashi, Vicharit Yingcharoenrat (2025), Inverting no-hair theorems: How requiring General Relativity solutions restricts scalar-tensor theories, arXiv:2503.05651. https://doi.org/10.48550/arXiv.2503.05651​
​GitHub
In this notebook, we explore black hole solutions in cubic/quadratic higher-order scalar-tensor (HOST) theories. These notebooks construct an adaptable general formalism for the study of cubic HOST theories at the background and perturbative levels, which can be tuned to specific models.
◼
  • Part I: In this part we define cubic HOST theories, derive the covariant equations of motion and obtain the conditions for the existence of stealth GR solutions. This corresponds to the calculations in Section 2 of [2503.05651].
  • ◼
  • Part II: In this notebook we derive the quadratic Lagrangian for odd black hole perturbations in cubic HOST theories. This corresponds to the calculations in Sections 3 and 4 of [2503.05651].
  • ◼
  • Precomputed-expressions: The parts above contain calculations that can take several minutes to complete. This can be avoided by loading the precomputed expressions contained in this folder. To do so, one needs to place these files in a path accessible by Wolfram. You can check the list of accessible paths by Wolfram by typing $Path in Wolfram. You can append a new path with AppendTo[$Path, “your_path”].
  • This work employs: - xAct ( http://www.xact.es/ )and has benefitted from comments/suggestions by: - Kazufumi Takahashi​If you use any of the results or techniques in this notebook please cite the repository and the corresponding papers.If you have any comments or feedback please let me know. Thanks!​​​Sergi Sirera Lahoz​​sergi.sirera-lahoz@port.ac.uk​​Institute of Cosmology and Gravitation - University of Portsmouth​​
    ​​March 2025
    1. Cubic HOST background equations of motion and existence conditions for GR stealth solutions
    In this part we define cubic HOST theories, derive the covariant equations of motion and obtain the conditions for the existence of stealth GR solutions.

    0. Setup and definitions
    

    1. Theory and background

    Action

    Here we define all contributions to the HOST Lagrangian.
    In[]:=
    (*quadraticterms*)​​L21=CD[-c]@CD[-b]@phi[]CD[c]@CD[b]@phi[]​​L22=
    2
    (Scalar[CD[b]@CD[-b]@phi[]])
    ​​L23=(Scalar[CD[b]@CD[-b]@phi[]])CD[b]@phi[]CD[-c]@CD[-b]@phi[]CD[c]@phi[]​​L24=CD[b]@phi[]CD[-d]@CD[-b]@phi[]CD[c]@CD[d]@phi[]CD[-c]@phi[]​​L25=
    2
    (Scalar[CD[b]@phi[]CD[-c]@CD[-b]@phi[]CD[c]@phi[]])
    ​​(*cubicterms*)​​L31=
    3
    (Scalar[CD[b]@CD[-b]@phi[]])
    ​​L32=(Scalar[CD[b]@CD[-b]@phi[]])CD[-c]@CD[-b]@phi[]CD[c]@CD[b]@phi[]​​L33=CD[-c]@CD[-b]@phi[]CD[d]@CD[c]@phi[]CD[b]@CD[-d]@phi[]​​L34=
    2
    (Scalar[CD[b]@CD[-b]@phi[]])
    CD[-b]@phi[]CD[c]@CD[b]@phi[]CD[-c]@phi[]​​L35=(Scalar[CD[b]@CD[-b]@phi[]])CD[-b]@phi[]CD[c]@CD[b]@phi[]CD[-d]@CD[-c]@phi[]CD[d]@phi[]​​L36=CD[-c]@CD[-b]@phi[]CD[c]@CD[b]@phi[]CD[-d]@phi[]CD[e]@CD[d]@phi[]CD[-e]@phi[]​​L37=CD[-b]@phi[]CD[c]@CD[b]@phi[]CD[-d]@CD[-c]@phi[]CD[e]@CD[d]@phi[]CD[-e]@phi[]​​L38=CD[-b]@phi[]CD[c]@CD[b]@phi[]CD[-d]@CD[-c]@phi[]CD[d]@phi[]CD[-e]@phi[]CD[f]@CD[e]@phi[]CD[-f]@phi[]​​L39=(Scalar[CD[b]@CD[-b]@phi[]])
    2
    (Scalar[CD[-b]@phi[]CD[c]@CD[b]@phi[]CD[-c]@phi[]])
    ​​L310=
    3
    (Scalar[CD[-b]@phi[]CD[c]@CD[b]@phi[]CD[-c]@phi[]])
    Out[]=
    ∇
    c
    ∇
    b
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    Out[]=
    2
    
    b
    ∇
    ∇
    b
    ϕ
    Out[]=
    
    b
    ∇
    ∇
    b
    ϕ
    b
    ∇
    ϕ
    ∇
    c
    ∇
    b
    ϕ
    c
    ∇
    ϕ
    Out[]=
    b
    ∇
    ϕ
    ∇
    c
    ϕ
    c
    ∇
    d
    ∇
    ϕ
    ∇
    d
    ∇
    b
    ϕ
    Out[]=
    2
    
    b
    ∇
    ϕ
    ∇
    c
    ∇
    b
    ϕ
    c
    ∇
    ϕ
    Out[]=
    3
    
    b
    ∇
    ∇
    b
    ϕ
    Out[]=
    
    b
    ∇
    ∇
    b
    ϕ
    ∇
    c
    ∇
    b
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    Out[]=
    b
    ∇
    ∇
    d
    ϕ
    ∇
    c
    ∇
    b
    ϕ
    d
    ∇
    c
    ∇
    ϕ
    Out[]=
    2
    
    b
    ∇
    ∇
    b
    ϕ
    ∇
    b
    ϕ
    ∇
    c
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    Out[]=
    
    b
    ∇
    ∇
    b
    ϕ
    ∇
    b
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    ∇
    d
    ∇
    c
    ϕ
    d
    ∇
    ϕ
    Out[]=
    ∇
    c
    ∇
    b
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    ∇
    d
    ϕ
    ∇
    e
    ϕ
    e
    ∇
    d
    ∇
    ϕ
    Out[]=
    ∇
    b
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    ∇
    d
    ∇
    c
    ϕ
    ∇
    e
    ϕ
    e
    ∇
    d
    ∇
    ϕ
    Out[]=
    ∇
    b
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    ∇
    d
    ∇
    c
    ϕ
    d
    ∇
    ϕ
    ∇
    e
    ϕ
    ∇
    f
    ϕ
    f
    ∇
    e
    ∇
    ϕ
    Out[]=
    
    b
    ∇
    ∇
    b
    ϕ
    2
    
    ∇
    b
    ϕ
    ∇
    c
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    Out[]=
    3
    
    ∇
    b
    ϕ
    ∇
    c
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    Combining the terms above with the appropriate HOST functions, we obtain the full Lagrangian:
    In[]:=
    LT=
    -Detg[]
    (F0[phi[],X[]]+F1[phi[],X[]]Scalar[CD[b]@CD[-b]@phi[]]+F2[phi[],X[]]RicciScalarCD[]+F3[phi[],X[]]*EinsteinCD[-b,-c]*CD[c]@CD[b]@phi[]+(A1[phi[],X[]]*L21+A2[phi[],X[]]*L22+A3[phi[],X[]]*L23+A4[phi[],X[]]*L24+A5[phi[],X[]]*L25)+(B1[phi[],X[]]*L31+B2[phi[],X[]]*L32+B3[phi[],X[]]*L33+B4[phi[],X[]]*L34+B5[phi[],X[]]*L35+B6[phi[],X[]]*L36+B7[phi[],X[]]*L37+B8[phi[],X[]]*L38+B9[phi[],X[]]*L39+B10[phi[],X[]]*L310))
    Out[]=
    -g
    
    F
    0
    [ϕ,X]+
    F
    2
    [ϕ,X]R+
    F
    1
    [ϕ,X]
    b
    ∇
    ∇
    b
    ϕ+
    A
    2
    [ϕ,X]
    2
    
    b
    ∇
    ∇
    b
    ϕ
    +
    B
    1
    [ϕ,X]
    3
    
    b
    ∇
    ∇
    b
    ϕ
    +
    A
    5
    [ϕ,X]
    2
    
    b
    ∇
    ϕ
    ∇
    c
    ∇
    b
    ϕ
    c
    ∇
    ϕ
    +
    B
    9
    [ϕ,X]
    b
    ∇
    ∇
    b
    ϕ
    2
    
    ∇
    b
    ϕ
    ∇
    c
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    +
    B
    10
    [ϕ,X]
    3
    
    ∇
    b
    ϕ
    ∇
    c
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    +
    A
    3
    [ϕ,X]
    b
    ∇
    ∇
    b
    ϕ
    b
    ∇
    ϕ
    ∇
    c
    ∇
    b
    ϕ
    c
    ∇
    ϕ+
    G
    b
    c
    F
    3
    [ϕ,X]
    c
    ∇
    b
    ∇
    ϕ+
    B
    4
    [ϕ,X]
    2
    
    b
    ∇
    ∇
    b
    ϕ
    ∇
    b
    ϕ
    ∇
    c
    ϕ
    c
    ∇
    b
    ∇
    ϕ+
    A
    1
    [ϕ,X]
    ∇
    c
    ∇
    b
    ϕ
    c
    ∇
    b
    ∇
    ϕ+
    B
    2
    [ϕ,X]
    b
    ∇
    ∇
    b
    ϕ
    ∇
    c
    ∇
    b
    ϕ
    c
    ∇
    b
    ∇
    ϕ+
    A
    4
    [ϕ,X]
    b
    ∇
    ϕ
    ∇
    c
    ϕ
    c
    ∇
    d
    ∇
    ϕ
    ∇
    d
    ∇
    b
    ϕ+
    B
    5
    [ϕ,X]
    b
    ∇
    ∇
    b
    ϕ
    ∇
    b
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    ∇
    d
    ∇
    c
    ϕ
    d
    ∇
    ϕ+
    B
    3
    [ϕ,X]
    b
    ∇
    ∇
    d
    ϕ
    ∇
    c
    ∇
    b
    ϕ
    d
    ∇
    c
    ∇
    ϕ+
    B
    6
    [ϕ,X]
    ∇
    c
    ∇
    b
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    ∇
    d
    ϕ
    ∇
    e
    ϕ
    e
    ∇
    d
    ∇
    ϕ+
    B
    7
    [ϕ,X]
    ∇
    b
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    ∇
    d
    ∇
    c
    ϕ
    ∇
    e
    ϕ
    e
    ∇
    d
    ∇
    ϕ+
    B
    8
    [ϕ,X]
    ∇
    b
    ϕ
    c
    ∇
    b
    ∇
    ϕ
    ∇
    d
    ∇
    c
    ϕ
    d
    ∇
    ϕ
    ∇
    e
    ϕ
    ∇
    f
    ϕ
    f
    ∇
    e
    ∇
    ϕ

    Rules
    

    2. Background equations of motion

    Covariant EOMs

    We here apply the variational principle to derive the metric and scalar equations of motion. This computation can take a few minutes. This can be avoided by downloading the precomputed expressions in the files “metricEOMs.mx” and “scalarEOM.mx” and placing them in an appropriate path accessible by your Mathematica.
    In[]:=
    1
    Sqrt[-Detg[]]
    VarD[g[b,c],CD][LT/.Xtoϕ//NoScalar]//Simplification;​​metricEOMs=SortCovDs[ContractMetric[%,g],CD]/.Backg//Simplification;
    In[]:=
    1
    2Sqrt[-Detg[]]
    VarD[phi[],CD][LT/.Xtoϕ//NoScalar]//Simplification;​​scalarEOM=ContractMetric[SortCovDs[%,CD],g]/.Backg//Simplification;
    In this line, the expressions computed above are saved as mx files to avoid having to compute them every time you want to run the notebook.
    In[]:=
    DumpSave["metricEOMs.mx",metricEOMs];​​DumpSave["scalarEOM.mx",scalarEOM];
    In the lines below, we call the precomputed expressions. These need to be placed in a path accessible by Mathematica. You can check the list of accessible paths by Mathematica by typing $Path. You can append a new path with AppendTo[$Path, “your_path”]
    In[]:=
    <<"metricEOMs.mx"​​<<"scalarEOM.mx"
    Below we simplify the equations of motion using the assumption that X=const.
    In[]:=
    ((((((((metricEOMs//NoScalar)/.Xtoϕ)//.phiTophider)//Simplification)/.phiderTophi)//EinsteinToRicci)//.ϕtoX1//.ϕtoX2//Simplification)/.constantX)//Simplification;​​SortCovDs[%//NoScalar,CD]/.Xconst/.constantX//Simplification;​​%//.BianchiID;​​ContractMetric[%,g]/.constantX//.ϕtoX1//.ϕtoX2/.Xconst;​​metricEOMs2=((((((((%//NoScalar)/.Xtoϕ)//.phiTophider)//Simplification)/.phiderTophi)//EinsteinToRicci)//.ϕtoX1//.ϕtoX2//Simplification)/.constantX)//Simplification
    In[]:=
    ((((((((scalarEOM//NoScalar)/.Xtoϕ)//.phiTophider)//Simplification)/.phiderTophi)//EinsteinToRicci)//.ϕtoX1//.ϕtoX2//Simplification)/.constantX)//Simplification;​​SortCovDs[%//NoScalar,CD]/.Xconst/.constantX//Simplification;​​%//.BianchiID;​​ContractMetric[%,g]/.constantX//.ϕtoX1//.ϕtoX2/.Xconst;​​scalarEOM2=((((((((%//NoScalar)/.Xtoϕ)//.phiTophider)//Simplification)/.phiderTophi)//EinsteinToRicci)//.ϕtoX1//.ϕtoX2//Simplification)/.constantX)//Simplification

    Comparison with paper expressions
    

    Equations of motion with a trivial scalar profile ϕ=const

    Here we show the equations of motion for a constant scalar field.

    3. Existence conditions for stealth GR solutions

    In this section we derive the conditions that HOST functions are required to satisfy in order to admit stealth black hole solutions. Each subsection below deals with different classes of stealth solutions.

    1. General GR solutions in the presence of generic matter

    Cubic HOST

    2. Cubic HOST quadratic Lagrangian for odd perturbations
    In this part we derive the quadratic Lagrangian for odd black hole perturbations in cubic HOST theories.

    1. Theory and background

    Perturbations

    Here we define odd parity metric perturbations.
    We use the background metric to raise and lower indices

    4. Extracting the p-coefficients

    5. Stability conditions

    We now rewrite the quadratic Lagrangian in terms of one variable and derive the conditions for the stability of odd modes.
    Below we derive the stability conditions for odd perturbations for cubic HOST theories under the different classes of existence conditions. Stability conditions for shift-symmetric and/or quadratic models can be easily obtained from the ones provided here.

    CITE THIS NOTEBOOK

    Inverting no-hair theorems: How requiring general relativity solutions restricts scalar-tensor theories​
    by Hajime Kobayashi, Shinji Mukohyama, Johannes Noller, Sergi Sirera, Kazufumi Takahashi & Vicharit Yingcharoenrat
    Wolfram Community, STAFF PICKS, March 31, 2025
    ​https://community.wolfram.com/groups/-/m/t/3435380