def METHOD_NAME(self, proof: str) -> List[str]:
    """
    Input:
        proof: " [BECAUSE] earth is a kind of celestial object [AND] a star is a kind of celestial
    object / celestial body [AND] apparent motion is when an object appears to move relative to
    another object 's position [INFER] int1: apparent motion of stars is when stars appear to move
    relative to earth's position [BECAUSE] int1 [AND] the earth rotating on its axis causes stars
    to appear to move across the sky at night [INFER] int2: the earth rotating on its axis causes
    apparent motion of stars [BECAUSE] int2 [AND] stars appear to move relative to the horizon
    during the night [INFER] int3: the earth rotating on its axis causes stars to move relative to
    the horizon during the night"
    Return:
        ['earth is a kind of celestial object', 'a star is a kind of celestial object / celestial
        body', "apparent motion is when an object appears to move relative to another object 's
        position", "Therefore apparent motion of stars is when stars appear to move relative to
        earth's position", 'the earth rotating on its axis causes stars to appear to move across
        the sky at night', 'Therefore the earth rotating on its axis causes apparent motion of
        stars', 'stars appear to move relative to the horizon during the night', 'Therefore the
        earth rotating on its axis causes stars to move relative to the horizon during the night']
    """
    steps = re.split(
        r" \[BECAUSE\] int\d+ \[AND\] | \[BECAUSE\] | \[AND\] ", proof
    )[1:]
    out = []
    for step in steps:
        sub_step = re.sub(r"int\d+\:", "Therefore", step)
        out.extend(sub_step.split(" [INFER] "))
    return out