Go backward to 3.3 Well-typed terms and formulas
Go up to 3 Semantics
Go forward to 3.5 Equivalent expansions
3.4 Expansions to an underlying logic
The underlying basic concepts must be extended in order to support
the extended language.
Hence, a basic specification in the extended language should determine
a specification (i.e. signature and a set of sentences)
of a higher-order subsorted logic instead of a specification of the
subsorted logic used for CASL.
The choice of the notion of higher-order signatures is almost fixed
by the choice taken for the syntax of declarations
(see e.g. appendix 4.1), and it should
be obvious how CASL declarative constructs determine fragments of
a higher-order signature.
Hence, the major questions are:
- what are the notions of higher-order sentences and models,
- how are CASL formulas expanded to higher-order sentences
One possibility could be to do the following:
- Generalise the subsorted logic used so far to a
generalised subsorted logic using
two subsort relations,
one which is a subrelation of the other,
to distinguish between embeddings that are required to be
injective (and have inverse projections)
and those that are not (and do not have inverse projections).
For details, see appendix 4.2.
- Define higher-order Sigma sentences
as generalised subsorted Sigma -> sentences, where
Sigma ->
- uses the set S -> of types as the set of sorts
- uses < -> and < => as the two subsort relations
- has a total constant function with coarity t
for each value symbol with type t in Sigma
- has an apply function for each function type in S ->
Sigma models are Sigma -> models satisfying a collection of
extensionality axioms (ensuring that carrier sets
of functional types become isomorphic to subsets of the corresponding
function space).
For details, see appendix 4.1.
In this case expansions of CASL terms and formulas into higher-order terms
and formulas are almost as before, except that
application expressions of the form
t(t1, ..., tn) are expanded to higher-order
subsorted terms of the form apply(w -> s)w,s(t', t1', ..., tn'),
where t', t1', ..., tn' are the expansions of t, t1, ..., tn.
CoFI
Note: L-2 --Version 1.0-- 10 April 1997.
Comments to ah@it.dtu.dk