I tried:

```
F = GF(101)
E0 = EllipticCurve(F, [5, 9])
f01 = E0.isogenies_prime_degree(2)[0]
E1 = f01.codomain()
f12 = f12 = E1.isogenies_prime_degree(7)[0]
E2 = f12.codomain()
```

So we have the situation:
$$
E_0
\overset{f_{01}}\longrightarrow
E_1
\overset{f_{12}}\longrightarrow
E_2\ .
$$
Now we define the composition $f_{02}$, by pre-composing $f_{12}$ with $f_{01}$, and ask for its rational maps...

```
sage: f02 = f12.pre_compose(f01)
sage: f02.rational_maps()
((36*x^14 + 45*x^13 - 39*x^12 - 7*x^11 - 20*x^10 + 6*x^9 + 26*x^8 + 47*x^7 + 18*x^6 - 33*x^5 - 44*x^4 - 41*x^3 + 9*x^2 - x + 38)/(x^13 - 24*x^12 + 7*x^11 + 45*x^10 - x^9 + 40*x^8 + 3*x^7 - 23*x^6 + 24*x^5 + 42*x^4 - 42*x^3 - 32*x^2 + 9*x - 34),
(-6*x^20*y + 5*x^18*y + 36*x^17*y - 6*x^16*y - 20*x^15*y + 25*x^14*y - 5*x^13*y + 46*x^12*y + 40*x^11*y + 28*x^10*y + 29*x^9*y + 41*x^8*y + 14*x^7*y - 28*x^6*y + 44*x^5*y - 43*x^4*y + 29*x^3*y + 28*x^2*y - 35*x*y - 31*y)/(-14*x^20 + 7*x^18 - 8*x^17 - 46*x^16 - 9*x^15 - 13*x^14 + 39*x^13 - 9*x^12 + 21*x^11 - 14*x^10 - 8*x^9 + 46*x^8 - 3*x^7 - 22*x^6 - 16*x^5 + 12*x^4 + 34*x^3 - 10*x^2 + 26*x + 4))
```

Alternatively, we can post-compose...

```
sage: f12.pre_compose(f01) == f01.post_compose(f12)
True
```

Well, posting as Anonymous has its down-sides...