Rat_lit.FocusSourcetype t = | Left of op * Q.t Monome.Focus.t * Q.t Monome.t| Right of op * Q.t Monome.t * Q.t Monome.Focus.tfocus on a term in one of the two monomes
Attempt to focus on the given atomic term, if it occurs directly under the arith literal
replace a m replaces mf.coeff × mf.term with m where mf is the focused monome in a, and return the resulting literal
The focused monome
Is the focused term maximal in the literal?
Is the focused term maximal in the literal, ie is it greater than all the other terms?
val map_lit :
f_m:(Q.t Monome.t -> Q.t Monome.t) ->
f_mf:(Q.t Monome.Focus.t -> Q.t Monome.Focus.t) ->
t ->
tApply a function to the monomes and focused monomes
Multiply the two literals by some constant so that their focused literals have the same coefficient
Unify the two focused terms, and possibly other terms of their respective focused monomes; yield the new literals accounting for the unification along with the unifier
Fold on focused terms in the literal, one by one, with the position of the focused term