- How would you characterize inheritance
as applied in knowledge representation?
Discuss the problems that arise
due to non-monotony.
- How would you render the meaning of
an inheritance lattice?
Give some examples.
- What is the meaning of a type?
How would you characterize the relation between
a type and its subtypes?
- Characterize the subtyping rules for ranges,
functions, records and variant records.
Give some examples.
- What is the intuition underlying the
function subtyping rule?
- What is understood by the notion
of objects as records?
Explain the subtyping rule for objects.
- Discuss the relative merits of typed
formalisms and untyped formalisms.
- What flavors of polymorphism
can you think of?
Explain how the various flavors are
related to programming language constructs.
- Discuss how inheritance may be understood
as an incremental modification mechanism.
- Characterize the simple type calculus
, that is the syntax, type
assignment and refinement rules.
Do the same for
and .
- Type the following expressions:
(a) ,
(b) ,
and
(c) .
- Verify whether:
(a) ,
(b) , and
(c) .
- Explain how you may model abstract
data types as existential types.
- What realizations of
the type
can you think of?
Give at least two examples.
- Prove that
.
- Prove that
, for .
slide: Questions