pub open spec fn inverse_on<A, B>(
f: FnSpec<(A,), B>,
g: FnSpec<(B,), A>,
domain: Set<A>,
codomain: Set<B>,
) -> boolExpand description
{ left_inverse_on(f, g, domain, codomain) && right_inverse_on(f, g, domain, codomain) }g is a two-sided inverse of f if it is both a left and right inverse.