1DeclareCategory( "IsPoset", IsObject and IsAttributeStoringRep ); 2DeclareRepresentation( "IsPosetRep", IsPoset, [ "set", "binary_relation", "minimal_relations", "lessthan" ] ); 3DeclareAttribute( "Size", IsPoset ); 4DeclareOperation( "Poset", [ IsList, IsList ] ); 5DeclareOperation( "UnderlyingSet", [ IsPoset ] ); 6DeclareOperation( "PartialOrderOfPoset", [ IsPoset ] ); 7BindGlobal( "TheFamilyOfPosets", NewFamily( "TheFamilyOfPosets" ) ); 8BindGlobal( "TheTypePoset", NewType( TheFamilyOfPosets, IsPosetRep ) );