"Source: Text/System/State.text";
"Line: 2065";
"Date: Thu Sep 25 21:32:21 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/System/State.text, line: 2065
// Example: H1E22 ()
print "Example: H1E22";
ei := GetEchoInput();
SetEchoInput(true);
Z := Integers();
Zx<x> := PolynomialRing(Z);
S := [ x ];
f1 := map<Zx -> Z | f :-> Evaluate(f, 1)>;
D := CremonaDatabase();
ExtendedType(Z);
ExtendedType(Zx);
ExtendedType(S);
ExtendedType(f1);
ExtendedType(D);
tS := ExtendedType(S);
BaseType(tS);
#tS;
tS[1];
#tS[1];
tS[1][1];
Type(tS[1][1]);
tD := ExtendedType(D);
BaseType(tD);
#tD;
tD[1];
Type(tD[1]);
function tree(t)
    if Type(t) ne ECat then
        return [* t *];
    end if;
    return [* BaseType(t) *] cat [* $$(t[i]) : i in [1..#t] *];
end function;
function type_tree(object)
    return tree(ExtendedType(object));
end function;
type_tree(Z);
type_tree(Zx);
type_tree(S);
type_tree(f1);
type_tree(D);
Type($1[2][1]);
SetEchoInput(ei);
