Questions:
(1) Is AEXP sound. Either provide a proof or give a counter-example
(2) A system is complete iff
for any expression e and value v if |- e => v then |- e : tau
for some type tau
(2a) Is AEXP complete. What about ABEXP?
(3) Refining ABEXPs type language
Consider the expression
(True ? 1 : False) + 3
This expression is rejected by ABEXPs static semantics although
the dynamic semantics yields a valid result.
Investigate how to extend/refine ABEXPs type language to make
the above expression typable.
What about
tau' ::= Int | Bool | (Int v Bool)
where v stands for boolean disjunction
Will this work?