There are two ways to define a set of objects by setting up rules relating the objects, or by specifying the 'contents' of the objects themselves.
First, note that c2 satisfies C:
Consider the category of classes that satisfy C It might be thought that c1---c2. However, by definition of "$", c1 is the initial class satisfying C. Class c2 can be any class that satisfies C. Because c1 is initial, c1->c2.
Consider
Clearly if c3=$ C3 then c1->c2<==c3<-<c1.
The C1 kind of description is "object-oriented" and the C2 form "algebraic".
(End of Net)
In any case many would argue that one a class of objects in not really
a class unless there is a set of operations defined that operate on the
objects: object = structure+constraint+operations.
Notes on MATHS Notation
Special characters are defined in
[ intro_characters.html ]
that also outlines the syntax of expressions and a document.
Proofs follow a natural deduction style that start with assumptions ("Let") and continue to a consequence ("Close Let") and then discard the assumptions and deduce a conclusion. Look here [ Block%20Structure in logic_2_Proofs ] for more on the structure and rules.
The notation also allows you to create a new network of variables
and constraints, and give them a name. The schema, formal system,
or an elementary piece of documentation starts with "Net" and finishes "End of Net".
For more, see
[ notn_13_Docn_Syntax.html ]
for these ways of defining and reusing pieces of logic and algebra
in your documents.
End