AC : thm -> thm -> thm
The theorems can be combined in either order, can be partly generalised, and need not express associativity in any particular direction from left to right.
- SIMP_CONV bool_ss [AC ADD_COMM ADD_ASSOC] ``3 + x + y + 1``; > val it = |- 3 + x + y + 1 = x + (y + (1 + 3)) : thm - SIMP_CONV bool_ss [AC (GSYM ADD_ASSOC) ADD_COMM] ``x + 1 + y + 3``; > val it = |- x + 1 + y + 3 = x + (y + (1 + 3)) : thm