# Fullsimplify output depends on variable order

Bug introduced in 5.2 or earlier and persisting through 12.0 or later

Mathematica 11.3.0.0 (used on a Mac) seems to give different results when using FullSimplify.

Any suggestions about what is happening?

Can this be reproduced on all platforms?

Quit[]

a = f g + h j;
b = a;

Assuming[c > a, FullSimplify[b < c]]
(* f g + h j < c *)

Assuming[c > a, FullSimplify[c > b]]
(* True *)

• Reproduced also with Mathematica 5.2 and 8.0.4 on Win7x64. A very old bug. – innaiz Jul 30 '19 at 12:03
• I have reproduced this on a Mac (v. 11.3.0.0 in the original posting, plus v. 12.0.0.0) – Øistein Jul 30 '19 at 12:12

This answer is a community wiki post, feel free to edit and add further information.

This problems was reported to Wolfram Support on 30/07/2019.

Support case ID [CASE:4284793].

Wolfram Support acknowledged this behaviour as a bug.

An issue report has been sent to Wolfram developers.

We can reproduce this on

• WolframCloud (12.0 for Linux x86 (64-bit) ) (@rhermans)
• tio.run (11.3 for Linux x86 (64-bit) ) (@rhermans)
• Mathematica 5.2, 8.0.4, 11.3 and 12.0 for Windows 64 (@innaiz, @rhermans)
• Mathematica 11.3. for Mac (@Øistein OP)

### Fails:

Simplify[c > f  g + h j , f g + h j < c]
FullSimplify[c > f  g + h j , f g + h j < c]
FullSimplify[c > f  g + h j , Assumptions -> f g + h j < c]
Assuming[f g + h j < c, FullSimplify[c > f  g + h j ]]


### Doesn't fail

Simplify[c > f  g + h , f g + h < c]      (* Simpler expressions *)
Simplify[c > f  g + h j , c > f g + h j]  (* Different order     *)


The problem seems due to evaluation. I think it is a bug (order should not make a difference). You can get same answer by evaluating the output from FullSimplify as follows.

a = f g + h j;
b = a;
Assuming[c > a, FullSimplify[b < c]]


Assuming[c > a, Evaluate@FullSimplify[c > b]]


One also gets the same behavior using Simplify

This is all using V12 on windows.