LF meeting today. Anders talked about his notions of linear unification. It was a fun game to try to map what he was saying on the fly to HLF. I discovered a mistake in my algorithm after thinking about the equation he metioned F ^ x ^ y = F ^ y ^ x; this leads to the intersection case of pattern unification, which, in that it solves a fixpoint, uses slightly different reasoning from the inversion cases. Turns out the correct thing to do is not to reject it immediately (because x and y could be absorbed in a unit somewhere) but my algorithm would, thinking that solving F a b = F b a for world variables a and b has no solutions! This is false, though, since a * b = b * a. Weird that just having a commutative operator in the language suddenly allows nontrivial automorphisms of variables.