1. Expand Type Rule 6.2 for Declarations so that it defines the requirement that the type of each variable be taken from a small set of available types, {float, int, bool, char}. Use the same rule style and abstract syntax for Declarations in this chapter.
2. Argue the Java method that implements the function V for Declarations is correct, in the sense that it covers all the cases that the Type Rule itself covers.
3. Modify Type Rule 6.5 to allow implicit char to int and int to float conversations. Modify the V function for expressions to implement type rules.
4. Modify the type transformer class so that the implicit conversations of #3 are converted to explicit conversions.
5. Modify the mathematical V functions of Section 6.3 so that the implicit conversations of #3 are included.