## Definition ## A __Heyting cancellation ring__ is a [[ring]] $(A, +, -, 0, \cdot, 1)$ with * a [[tight apartness relation]] type family $a # b$ for $a:A$, $b:A$ * a term showing that all endofunctions of $A$ are strongly extensional $$s:\prod_{(f:A \to A)} \prod_{(a:A)} \prod_{(b:A)} (a # b) \to (f(a) # f(b))$$ * a left cancellative identity $$d_\lambda:\prod_{(a:A)} (a # 0) \times \prod_{(b:A)} \prod_{(c:A)} (a \cdot b = a \cdot c) \implies (b = c)$$ * a right cancellative identity $$d_\lambda:\prod_{(a:A)} (a # 0) \times \prod_{(b:A)} \prod_{(c:A)} (b \cdot a = c \cdot a) \implies (b = c)$$ ## Examples ## * The [[integers]] are a Heyting cancellation ring. * The [[rational numbers]] are a Heyting cancellation ring. * Every [[discrete cancellation ring]] is a Heyting cancellation ring. * Every [[Heyting domain]] is a Heyting cancellation ring. * Every [[Heyting division ring]] is a Heyting cancellation ring. * Every [[Heyting reciprocal ring]] is a Heyting cancellation ring. ## See also ## * [[ring]] * [[cancellation ring]]