there will be some rules which i don't remember ofc :D but the input conditions are important
> f := (a^(m+n)/a^n)^m*(a^(n-m)/a^n)^(m-n);
print(`output redirected...`); # input placeholder
m (m - n)
/ (m + n)\ / (n - m)\
|a | |a |
|--------| |--------|
| n | | n |
\ a / \ a /
Shadow's output
> g := `assuming`([simplify(f)], [a > 0, m > 0, n > 0]);
print(`output redirected...`); # input placeholder
(m n)
a
Mael' output
> h := `assuming`([simplify(f)], [a::real, m::real, n::real]);
print(`output redirected...`); # input placeholder
m (m - n)
/ m\ / (-m)\
\a / \a /
> f := (a^(m+n)/a^n)^m*(a^(n-m)/a^n)^(m-n);
print(`output redirected...`); # input placeholder
m (m - n)
/ (m + n)\ / (n - m)\
|a | |a |
|--------| |--------|
| n | | n |
\ a / \ a /
Shadow's output
> g := `assuming`([simplify(f)], [a > 0, m > 0, n > 0]);
print(`output redirected...`); # input placeholder
(m n)
a
Mael' output
> h := `assuming`([simplify(f)], [a::real, m::real, n::real]);
print(`output redirected...`); # input placeholder
m (m - n)
/ m\ / (-m)\
\a / \a /