Establish (proof!) the laws of arithmetic with type theory:

38 Views Asked by At

enter image description here

Here we define the (×), (+) and (→) types.

We have to define two functions one function left to right and vice-versa. For each transformation, if I transform and then transform the transformation back into the type I started with, I need to get to the same inhabitant. I can only define your types:

f: ((α + β) → γ) → ((α → γ) × (β → γ))

g: ((α → γ) × (β → γ)) → ((α + β) → γ)