AC : thm -> term -> thm
   acth = |- m _ n = n _ m /\
             (m _ n) _ p = m _ n _ p /\
             m _ n _ p = n _ m _ p
  |- (p _ q = q _ p) /\
     ((p _ q) _ r = p _ q _ r) /\
     (p _ q _ r = q _ p _ r) /\
     (p _ p = p) /\
     (p _ p _ q = p _ q)
# AC ADD_AC `1 + 2 + 3 = 2 + 1 + 3`;; val it : thm = |- 1 + 2 + 3 = 2 + 1 + 3 # AC CONJ_ACI `p /\ (q /\ p) <=> (p /\ q) /\ (p /\ q)`;; val it : thm = |- p /\ q /\ p <=> (p /\ q) /\ p /\ q