Hi
With the risk of sounding like a boring guy who spends his time splitting hairs ! I do not undestand why the last sagemath instruction Yt.numerator().simplify() arrive to simplify ?? code on SageCell
var('x')
print("mathematica is able to do the simplification")
print("FullSimplify[Sqrt[1 - (-1 + x^2)^2/(1 + x^2)^2], x > 0]=(2 x)/(1 + x^2)")
assume(x>0)
Yt(x)=sqrt(-(x^2 - 1)^2/(x^2 + 1)^2 + 1)
show("################## with various simplify() only #################################")
show("KO : \t ",Yt.simplify())
show("KO : \t ",Yt.simplify_full())
show("KO : \t ",Yt.simplify_rational())
show("KO : \t ",Yt.simplify_rectform())
show("################## with denominator().simplify() #################################")
show("KO : \t ",Yt.denominator().simplify())
show("################## with numerator().simplify() #################################")
show("OK : \t ",Yt.numerator().simplify())