Semiring Example: Types
∀ a, b ∈ T, ∃ c ∈ T, Either a b ∼
= c
∀ a, b, c ∈ T, Either (Either a b) c ∼
= Either a (Either b c)
∀ a ∈ T, Either Void a ∼
= Either a Void ∼
= a
∀ a, b ∈ T, Either a b ∼
= Either b a
∀ a, b ∈ T, ∃ c ∈ T, (a, b) ∼
= c
∀ a, b, c ∈ T, ((a, b), c) ∼
= (a, (b, c))
∀ a ∈ T, ((), a) ∼
= (a, ()) ∼
= a
∀ a, b, c ∈ T, (a, Either b c) ∼
= Either (a, b) (a, c)
∀ a, b, c ∈ T, ((Either a b), c) ∼
= Either (a, c) (b, c)
∀ a ∈ T, (a, Void) ∼
= (Void, a) ∼
= Void 8