Please write your solutions as clearly and concisely as possible.
Type ::= TVar | Type -> TypeSay whether it is true that, for an arbitrary type T
if T is inhabited, then there exists exactly one lambda term M in normal form with type T.
Note: the type of a term can easily be found out by using the ML compiler. For this reason, a correct answer without justification will not get any credit.
Furthermore, define a function difference : weight -> weight -> weight that takes two weights and gives as result their difference. It does not matter whether the result is expressed in the metric or in the English system, but it's important to represent it as an object of type weight.
Hint: define weight as a disjoint union type and use the my_case function defined in Lecture 12.