  
  [1X7 [33X[0;0YFunctions and operations for [10XSCNormalSurface[110X[101X[1X[133X[101X
  
  
  [1X7.1 [33X[0;0YCreating an [10XSCNormalSurface[110X[101X[1X object[133X[101X
  
  [33X[0;0YThis  section  contains functions to construct discrete normal surfaces that
  are   slicings   from   a   list  of  [22X2[122X-dimensional  facets  (triangles  and
  quadrilaterals) or combinatorial [22X3[122X-manifolds.[133X
  
  [33X[0;0YFor  a very short introduction to the theory of discrete normal surfaces and
  slicings  see  Section  [14X2.4[114X  and Section [14X2.5[114X, for an introduction to the [5XGAP[105X
  object  type  [10XSCNormalSurface[110X  see [14X5.4[114X, for more information see the article
  [Spr11b].[133X
  
  [1X7.1-1 SCNSEmpty[101X
  
  [29X[2XSCNSEmpty[102X(  ) [32X function
  [6XReturns:[106X  [33X[0;10Ydiscrete normal surface of type [10XSCNormalSurface[110X upon success, [9Xfail[109X
            otherwise.[133X
  
  [33X[0;0YGenerates  an  empty  complex  (of  dimension  [22X-1[122X),  i. e. an object of type
  [10XSCNormalSurface[110X with empty facet list.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCNSEmpty();
[128X[104X
    [4X[28X [NormalSurface[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Name="empty normal surface"[128X[104X
    [4X[28X  Dim=-1[128X[104X
    [4X[28X [128X[104X
    [4X[28X /NormalSurface][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.1-2 SCNSFromFacets[101X
  
  [29X[2XSCNSFromFacets[102X( [3Xfacets[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ydiscrete normal surface of type [10XSCNormalSurface[110X upon success, [9Xfail[109X
            otherwise.[133X
  
  [33X[0;0YConstructor   for   a  discrete  normal  surface  from  a  facet  list,  see
  [2XSCFromFacets[102X ([14X6.1-1[114X) for details.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> sl:=SCNSFromFacets([[1,2,3],[1,2,4,5],[1,3,4,6],[2,3,5,6],[4,5,6]]);
[128X[104X
    [4X[28X [NormalSurface[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Name="unnamed complex 86"[128X[104X
    [4X[28X  Dim=2[128X[104X
    [4X[28X [128X[104X
    [4X[28X /NormalSurface][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.1-3 SCNS[101X
  
  [29X[2XSCNS[102X( [3Xfacets[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ydiscrete normal surface of type [10XSCNormalSurface[110X upon success, [9Xfail[109X
            otherwise.[133X
  
  [33X[0;0YInternally calls [2XSCNSFromFacets[102X ([14X7.1-2[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> sl:=SCNS([[1,2,3],[1,2,4,5],[1,3,4,6],[2,3,5,6],[4,5,6]]);
[128X[104X
    [4X[28X [NormalSurface[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Name="unnamed complex 87"[128X[104X
    [4X[28X  Dim=2[128X[104X
    [4X[28X [128X[104X
    [4X[28X /NormalSurface][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.1-4 SCNSSlicing[101X
  
  [29X[2XSCNSSlicing[102X( [3Xcomplex[103X, [3Xslicing[103X ) [32X function
  [6XReturns:[106X  [33X[0;10Ydiscrete normal surface of type [10XSCNormalSurface[110X upon success, [9Xfail[109X
            otherwise.[133X
  
  [33X[0;0YComputes  a slicing defined by a partition [3Xslicing[103X of the set of vertices of
  the  [22X3[122X-dimensional  combinatorial  pseudomanifold  [3Xcomplex[103X.  In  particular,
  [3Xslicing[103X  has  to  be a pair of lists of vertex labels and has to contain all
  vertex labels of [3Xcomplex[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCLib.SearchByAttribute("F=[ 10, 35, 50, 25 ]");
[128X[104X
    [4X[28X [ [ 19, "S^3 (VT)" ] ][128X[104X
    [4X[28X gap> c:=SCLib.Load(last[1][1]);;                       
[128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1..5],[6..10]]);    
[128X[104X
    [4X[28X [NormalSurface[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\[128X[104X
    [4X[28X etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\[128X[104X
    [4X[28X e, Vertices.[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Name="slicing [ [ 1, 2, 3, 4, 5 ], [ 6, 7, 8, 9, 10 ] ] of S^3 (VT)"[128X[104X
    [4X[28X  Dim=2[128X[104X
    [4X[28X  FVector=[ 17, 36, 12, 9 ][128X[104X
    [4X[28X  EulerCharacteristic=2[128X[104X
    [4X[28X  IsOrientable=true[128X[104X
    [4X[28X  TopologicalType="S^2"[128X[104X
    [4X[28X [128X[104X
    [4X[28X /NormalSurface][128X[104X
    [4X[28X gap> sl.Facets;
[128X[104X
    [4X[28X [ [ [ 1, 6 ], [ 1, 8 ], [ 1, 9 ] ], [ [ 1, 6 ], [ 1, 8 ], [ 3, 6 ], [ 3, 8 ] ][128X[104X
    [4X[28X     , [ [ 1, 6 ], [ 1, 9 ], [ 4, 6 ], [ 4, 9 ] ], [128X[104X
    [4X[28X   [ [ 1, 6 ], [ 3, 6 ], [ 4, 6 ] ], [ [ 1, 8 ], [ 1, 9 ], [ 1, 10 ] ], [128X[104X
    [4X[28X   [ [ 1, 8 ], [ 1, 10 ], [ 3, 8 ], [ 3, 10 ] ], [128X[104X
    [4X[28X   [ [ 1, 9 ], [ 1, 10 ], [ 2, 9 ], [ 2, 10 ] ], [128X[104X
    [4X[28X   [ [ 1, 9 ], [ 2, 9 ], [ 4, 9 ] ], [ [ 1, 10 ], [ 2, 10 ], [ 3, 10 ] ], [128X[104X
    [4X[28X   [ [ 2, 7 ], [ 2, 9 ], [ 2, 10 ] ], [128X[104X
    [4X[28X   [ [ 2, 7 ], [ 2, 9 ], [ 4, 7 ], [ 4, 9 ] ], [128X[104X
    [4X[28X   [ [ 2, 7 ], [ 2, 10 ], [ 5, 7 ], [ 5, 10 ] ], [128X[104X
    [4X[28X   [ [ 2, 7 ], [ 4, 7 ], [ 5, 7 ] ], [ [ 2, 10 ], [ 3, 10 ], [ 5, 10 ] ], [128X[104X
    [4X[28X   [ [ 3, 6 ], [ 3, 8 ], [ 5, 6 ], [ 5, 8 ] ], [ [ 3, 6 ], [ 4, 6 ], [ 5, 6 ] ][128X[104X
    [4X[28X     , [ [ 3, 8 ], [ 3, 10 ], [ 5, 8 ], [ 5, 10 ] ], [128X[104X
    [4X[28X   [ [ 4, 6 ], [ 4, 7 ], [ 4, 9 ] ], [ [ 4, 6 ], [ 4, 7 ], [ 5, 6 ], [ 5, 7 ] ][128X[104X
    [4X[28X     , [ [ 5, 6 ], [ 5, 7 ], [ 5, 8 ] ], [ [ 5, 7 ], [ 5, 8 ], [ 5, 10 ] ] ][128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1,3,5,7,9],[2,4,6,8,10]]);    
[128X[104X
    [4X[28X [NormalSurface[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\[128X[104X
    [4X[28X etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\[128X[104X
    [4X[28X e, Vertices.[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Name="slicing [ [ 1, 3, 5, 7, 9 ], [ 2, 4, 6, 8, 10 ] ] of S^3 (VT)"[128X[104X
    [4X[28X  Dim=2[128X[104X
    [4X[28X  FVector=[ 25, 50, 0, 25 ][128X[104X
    [4X[28X  EulerCharacteristic=0[128X[104X
    [4X[28X  IsOrientable=true[128X[104X
    [4X[28X  TopologicalType="T^2"[128X[104X
    [4X[28X [128X[104X
    [4X[28X /NormalSurface][128X[104X
    [4X[28X gap> sl.Facets;                           
[128X[104X
    [4X[28X [ [ [ 1, 2 ], [ 1, 4 ], [ 3, 2 ], [ 3, 4 ] ], [128X[104X
    [4X[28X   [ [ 1, 2 ], [ 1, 4 ], [ 9, 2 ], [ 9, 4 ] ], [128X[104X
    [4X[28X   [ [ 1, 2 ], [ 1, 10 ], [ 3, 2 ], [ 3, 10 ] ], [128X[104X
    [4X[28X   [ [ 1, 2 ], [ 1, 10 ], [ 9, 2 ], [ 9, 10 ] ], [128X[104X
    [4X[28X   [ [ 1, 4 ], [ 1, 6 ], [ 3, 4 ], [ 3, 6 ] ], [128X[104X
    [4X[28X   [ [ 1, 4 ], [ 1, 6 ], [ 9, 4 ], [ 9, 6 ] ], [128X[104X
    [4X[28X   [ [ 1, 6 ], [ 1, 8 ], [ 3, 6 ], [ 3, 8 ] ], [128X[104X
    [4X[28X   [ [ 1, 6 ], [ 1, 8 ], [ 9, 6 ], [ 9, 8 ] ], [128X[104X
    [4X[28X   [ [ 1, 8 ], [ 1, 10 ], [ 3, 8 ], [ 3, 10 ] ], [128X[104X
    [4X[28X   [ [ 1, 8 ], [ 1, 10 ], [ 9, 8 ], [ 9, 10 ] ], [128X[104X
    [4X[28X   [ [ 3, 2 ], [ 3, 4 ], [ 5, 2 ], [ 5, 4 ] ], [128X[104X
    [4X[28X   [ [ 3, 2 ], [ 3, 10 ], [ 5, 2 ], [ 5, 10 ] ], [128X[104X
    [4X[28X   [ [ 3, 4 ], [ 3, 6 ], [ 5, 4 ], [ 5, 6 ] ], [128X[104X
    [4X[28X   [ [ 3, 6 ], [ 3, 8 ], [ 5, 6 ], [ 5, 8 ] ], [128X[104X
    [4X[28X   [ [ 3, 8 ], [ 3, 10 ], [ 5, 8 ], [ 5, 10 ] ], [128X[104X
    [4X[28X   [ [ 5, 2 ], [ 5, 4 ], [ 7, 2 ], [ 7, 4 ] ], [128X[104X
    [4X[28X   [ [ 5, 2 ], [ 5, 10 ], [ 7, 2 ], [ 7, 10 ] ], [128X[104X
    [4X[28X   [ [ 5, 4 ], [ 5, 6 ], [ 7, 4 ], [ 7, 6 ] ], [128X[104X
    [4X[28X   [ [ 5, 6 ], [ 5, 8 ], [ 7, 6 ], [ 7, 8 ] ], [128X[104X
    [4X[28X   [ [ 5, 8 ], [ 5, 10 ], [ 7, 8 ], [ 7, 10 ] ], [128X[104X
    [4X[28X   [ [ 7, 2 ], [ 7, 4 ], [ 9, 2 ], [ 9, 4 ] ], [128X[104X
    [4X[28X   [ [ 7, 2 ], [ 7, 10 ], [ 9, 2 ], [ 9, 10 ] ], [128X[104X
    [4X[28X   [ [ 7, 4 ], [ 7, 6 ], [ 9, 4 ], [ 9, 6 ] ], [128X[104X
    [4X[28X   [ [ 7, 6 ], [ 7, 8 ], [ 9, 6 ], [ 9, 8 ] ], [128X[104X
    [4X[28X   [ [ 7, 8 ], [ 7, 10 ], [ 9, 8 ], [ 9, 10 ] ] ][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  
  [1X7.2 [33X[0;0YGenerating new objects from discrete normal surfaces[133X[101X
  
  [33X[0;0Y[5Xsimpcomp[105X  provides  the  possibility  to  copy  and  / or triangulate normal
  surfaces.  Note  that  other  constructions  like  the  connected sum or the
  cartesian  product  do  not  make  sense  for  (embedded) normal surfaces in
  general.[133X
  
  [1X7.2-1 SCCopy[101X
  
  [29X[2XSCCopy[102X( [3Xcomplex[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ydiscrete normal surface of type [10XSCNormalSurface[110X upon success, [9Xfail[109X
            otherwise.[133X
  
  [33X[0;0YCopies a [5XGAP[105X object of type [10XSCNormalSurface[110X (cf. [2XSCCopy[102X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> sl:=SCNSSlicing(SCBdSimplex(4),[[1],[2..5]]);
[128X[104X
    [4X[28X [NormalSurface[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\[128X[104X
    [4X[28X etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\[128X[104X
    [4X[28X e, Vertices.[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Name="slicing [ [ 1 ], [ 2, 3, 4, 5 ] ] of S^3_5"[128X[104X
    [4X[28X  Dim=2[128X[104X
    [4X[28X  FVector=[ 4, 6, 4 ][128X[104X
    [4X[28X  EulerCharacteristic=2[128X[104X
    [4X[28X  IsOrientable=true[128X[104X
    [4X[28X  TopologicalType="S^2"[128X[104X
    [4X[28X [128X[104X
    [4X[28X /NormalSurface][128X[104X
    [4X[28X gap> sl_2:=SCCopy(sl);                          
[128X[104X
    [4X[28X [NormalSurface[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\[128X[104X
    [4X[28X etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\[128X[104X
    [4X[28X e, Vertices.[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Name="slicing [ [ 1 ], [ 2, 3, 4, 5 ] ] of S^3_5"[128X[104X
    [4X[28X  Dim=2[128X[104X
    [4X[28X  FVector=[ 4, 6, 4 ][128X[104X
    [4X[28X  EulerCharacteristic=2[128X[104X
    [4X[28X  IsOrientable=true[128X[104X
    [4X[28X  TopologicalType="S^2"[128X[104X
    [4X[28X [128X[104X
    [4X[28X /NormalSurface][128X[104X
    [4X[28X gap> IsIdenticalObj(sl,sl_2);                     
[128X[104X
    [4X[28X false[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.2-2 SCNSTriangulation[101X
  
  [29X[2XSCNSTriangulation[102X( [3Xsl[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ysimplicial  complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X
            otherwise.[133X
  
  [33X[0;0YComputes  a  simplicial  subdivision of a slicing [3Xsl[103X without introducing new
  vertices. The subdivision is stored as a property of [3Xsl[103X and thus is returned
  as  an  immutable  object.  Note  that  symmetry  may  be  lost  during  the
  computation.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCLib.SearchByAttribute("F=[ 10, 35, 50, 25 ]");
[128X[104X
    [4X[28X [ [ 19, "S^3 (VT)" ] ][128X[104X
    [4X[28X gap> c:=SCLib.Load(last[1][1]);;
[128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1,3,5,7,9],[2,4,6,8,10]]);;
[128X[104X
    [4X[28X gap> sl.F; 
[128X[104X
    [4X[28X [ 25, 50, 0, 25 ][128X[104X
    [4X[28X gap> sc:=SCNSTriangulation(sl);;
[128X[104X
    [4X[28X gap> sc.F;
[128X[104X
    [4X[28X [ 25, 75, 50 ][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  
  [1X7.3 [33X[0;0YProperties of [10XSCNormalSurface[110X[101X[1X objects[133X[101X
  
  [33X[0;0YAlthough  some  properties  of  a discrete normal surface can be computed by
  using  the  functions  for  simplicial  complexes,  there  is  a  variety of
  properties needing specially designed functions. See below for a list.[133X
  
  [1X7.3-1 SCConnectedComponents[101X
  
  [29X[2XSCConnectedComponents[102X( [3Xcomplex[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ya  list  of  simplicial  complexes  of  type  [10XSCNormalSurface[110X upon
            success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YComputes all connected components of an arbitrary normal surface.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> sl:=SCNSSlicing(SCBdCrossPolytope(4),[[1,2],[3..8]]);
[128X[104X
    [4X[28X [NormalSurface[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\[128X[104X
    [4X[28X etsEx, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalType, Vert\[128X[104X
    [4X[28X ices.[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Name="slicing [ [ 1, 2 ], [ 3, 4, 5, 6, 7, 8 ] ] of Bd(\beta^4)"[128X[104X
    [4X[28X  Dim=2[128X[104X
    [4X[28X  FVector=[ 12, 24, 16 ][128X[104X
    [4X[28X  EulerCharacteristic=4[128X[104X
    [4X[28X  IsOrientable=true[128X[104X
    [4X[28X  TopologicalType="S^2 U S^2"[128X[104X
    [4X[28X [128X[104X
    [4X[28X /NormalSurface][128X[104X
    [4X[28X gap> cc:=SCConnectedComponents(sl);
[128X[104X
    [4X[28X [ [NormalSurface[128X[104X
    [4X[28X     [128X[104X
    [4X[28X      Properties known: Dim, EulerCharacteristic, FVector, FacetsEx, Genus, IsC\[128X[104X
    [4X[28X onnected, IsOrientable, NSTriangulation, Name, TopologicalType, Vertices.[128X[104X
    [4X[28X     [128X[104X
    [4X[28X      Name="unnamed complex 302_cc_#1"[128X[104X
    [4X[28X      Dim=2[128X[104X
    [4X[28X      FVector=[ 6, 12, 8 ][128X[104X
    [4X[28X      EulerCharacteristic=2[128X[104X
    [4X[28X      IsOrientable=true[128X[104X
    [4X[28X      TopologicalType="S^2"[128X[104X
    [4X[28X     [128X[104X
    [4X[28X     /NormalSurface], [NormalSurface[128X[104X
    [4X[28X     [128X[104X
    [4X[28X      Properties known: Dim, EulerCharacteristic, FVector, FacetsEx, Genus, IsC\[128X[104X
    [4X[28X onnected, IsOrientable, NSTriangulation, Name, TopologicalType, Vertices.[128X[104X
    [4X[28X     [128X[104X
    [4X[28X      Name="unnamed complex 302_cc_#2"[128X[104X
    [4X[28X      Dim=2[128X[104X
    [4X[28X      FVector=[ 6, 12, 8 ][128X[104X
    [4X[28X      EulerCharacteristic=2[128X[104X
    [4X[28X      IsOrientable=true[128X[104X
    [4X[28X      TopologicalType="S^2"[128X[104X
    [4X[28X     [128X[104X
    [4X[28X     /NormalSurface] ][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-2 SCDim[101X
  
  [29X[2XSCDim[102X( [3Xsl[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Yan integer upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YComputes  the  dimension  of a discrete normal surface (which is always [22X2[122X if
  the slicing [3Xsl[103X is not empty).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> sl:=SCNSEmpty();;                                                    
[128X[104X
    [4X[28X gap> SCDim(sl);                                                         
[128X[104X
    [4X[28X -1[128X[104X
    [4X[28X gap> sl:=SCNSFromFacets([[1,2,3],[1,2,4,5],[1,3,4,6],[2,3,5,6],[4,5,6]]);;
[128X[104X
    [4X[28X gap> SCDim(sl);                                                         
[128X[104X
    [4X[28X 2[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-3 SCEulerCharacteristic[101X
  
  [29X[2XSCEulerCharacteristic[102X( [3Xsl[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Yan integer upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YComputes  the  Euler  characteristic  of  a  discrete normal surface [3Xsl[103X, cf.
  [2XSCEulerCharacteristic[102X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> list:=SCLib.SearchByName("S^2xS^1");;  
[128X[104X
    [4X[28X gap> c:=SCLib.Load(list[1][1]);;             
[128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1..5],[6..10]]);;
[128X[104X
    [4X[28X gap> SCEulerCharacteristic(sl);                 
[128X[104X
    [4X[28X 4[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-4 SCFVector[101X
  
  [29X[2XSCFVector[102X( [3Xsl[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ya  [22X1[122X,  [22X3[122X or [22X4[122X tuple of (non-negative) integer values upon success,
            [9Xfail[109X otherwise.[133X
  
  [33X[0;0YComputes  the  [22Xf[122X-vector  of  a  discrete normal surface, i. e. the number of
  vertices, edges, triangles and quadrilaterals of [3Xsl[103X, cf. [2XSCFVector[102X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> list:=SCLib.SearchByName("S^2xS^1");;
[128X[104X
    [4X[28X gap> c:=SCLib.Load(list[1][1]);;             
[128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1..5],[6..10]]);;
[128X[104X
    [4X[28X gap> SCFVector(sl);                 
[128X[104X
    [4X[28X [ 20, 40, 16, 8 ][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-5 SCFaceLattice[101X
  
  [29X[2XSCFaceLattice[102X( [3Xcomplex[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ya list of facet lists upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YComputes  the  face  lattice of a discrete normal surface [3Xsl[103X in the original
  labeling.  Triangles  and  quadrilaterals  are stored separately (cf. [2XSCSkel[102X
  ([14X6.9-54[114X)).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> c:=SCBdSimplex(4);;              
[128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1,2],[3..5]]);;
[128X[104X
    [4X[28X gap> SCFaceLattice(sl);                            
[128X[104X
    [4X[28X [ [ [ [ 1, 3 ] ], [ [ 1, 4 ] ], [ [ 1, 5 ] ], [ [ 2, 3 ] ], [ [ 2, 4 ] ], [128X[104X
    [4X[28X       [ [ 2, 5 ] ] ], [128X[104X
    [4X[28X   [ [ [ 1, 3 ], [ 1, 4 ] ], [ [ 1, 3 ], [ 1, 5 ] ], [ [ 1, 3 ], [ 2, 3 ] ], [128X[104X
    [4X[28X       [ [ 1, 4 ], [ 1, 5 ] ], [ [ 1, 4 ], [ 2, 4 ] ], [ [ 1, 5 ], [ 2, 5 ] ], [128X[104X
    [4X[28X       [ [ 2, 3 ], [ 2, 4 ] ], [ [ 2, 3 ], [ 2, 5 ] ], [ [ 2, 4 ], [ 2, 5 ] ] ][128X[104X
    [4X[28X     , [ [ [ 1, 3 ], [ 1, 4 ], [ 1, 5 ] ], [ [ 2, 3 ], [ 2, 4 ], [ 2, 5 ] ] ], [128X[104X
    [4X[28X   [ [ [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 4 ] ], [128X[104X
    [4X[28X       [ [ 1, 3 ], [ 1, 5 ], [ 2, 3 ], [ 2, 5 ] ], [128X[104X
    [4X[28X       [ [ 1, 4 ], [ 1, 5 ], [ 2, 4 ], [ 2, 5 ] ] ] ][128X[104X
    [4X[28X gap> sl.F;
[128X[104X
    [4X[28X [ 6, 9, 2, 3 ][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-6 SCFaceLatticeEx[101X
  
  [29X[2XSCFaceLatticeEx[102X( [3Xcomplex[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ya list of face lists upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YComputes  the  face  lattice of a discrete normal surface [3Xsl[103X in the standard
  labeling.  Triangles  and quadrilaterals are stored separately (cf. [2XSCSkelEx[102X
  ([14X6.9-55[114X)).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> c:=SCBdSimplex(4);;              
[128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1,2],[3..5]]);;
[128X[104X
    [4X[28X gap> SCFaceLatticeEx(sl);                            
[128X[104X
    [4X[28X [ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ] ], [128X[104X
    [4X[28X   [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 5 ], [ 3, 6 ], [ 4, 5 ], [128X[104X
    [4X[28X       [ 4, 6 ], [ 5, 6 ] ], [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], [128X[104X
    [4X[28X   [ [ 1, 2, 4, 5 ], [ 1, 3, 4, 6 ], [ 2, 3, 5, 6 ] ] ][128X[104X
    [4X[28X gap> sl.F;
[128X[104X
    [4X[28X [ 6, 9, 2, 3 ][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-7 SCFpBettiNumbers[101X
  
  [29X[2XSCFpBettiNumbers[102X( [3Xsl[103X, [3Xp[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ya list of non-negative integers upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YComputes  the  Betti  numbers  modulo  [3Xp[103X  of a slicing [3Xsl[103X. Internally, [3Xsl[103X is
  triangulated  (using  [2XSCNSTriangulation[102X  ([14X7.2-2[114X))  and the Betti numbers are
  computed via [2XSCFpBettiNumbers[102X using the triangulation.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCLib.SearchByName("(S^2xS^1)#20");       
[128X[104X
    [4X[28X [ [ 7617, "(S^2xS^1)#20" ] ][128X[104X
    [4X[28X gap> c:=SCLib.Load(last[1][1]);;
[128X[104X
    [4X[28X gap> c.F;
[128X[104X
    [4X[28X [ 27, 298, 542, 271 ][128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1..13],[14..27]]);;
[128X[104X
    [4X[28X gap> SCFpBettiNumbers(sl,2);
[128X[104X
    [4X[28X [ 2, 14, 2 ][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-8 SCGenus[101X
  
  [29X[2XSCGenus[102X( [3Xsl[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ya non-negative integer upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YComputes the genus of a discrete normal surface [3Xsl[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCLib.SearchByName("(S^2xS^1)#20");
[128X[104X
    [4X[28X [ [ 7617, "(S^2xS^1)#20" ] ][128X[104X
    [4X[28X gap> c:=SCLib.Load(last[1][1]);;               
[128X[104X
    [4X[28X gap> c.F;                               
[128X[104X
    [4X[28X [ 27, 298, 542, 271 ][128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1..12],[13..27]]);;
[128X[104X
    [4X[28X gap> SCIsConnected(sl);
[128X[104X
    [4X[28X true[128X[104X
    [4X[28X gap> SCGenus(sl);                     
[128X[104X
    [4X[28X 7[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-9 SCHomology[101X
  
  [29X[2XSCHomology[102X( [3Xsl[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ya list of homology groups upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YComputes  the  homology of a slicing [3Xsl[103X. Internally, [3Xsl[103X is triangulated (cf.
  [2XSCNSTriangulation[102X   ([14X7.2-2[114X))   and   simplicial  homology  is  computed  via
  [2XSCHomology[102X using the triangulation.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCLib.SearchByName("(S^2xS^1)#20");       
[128X[104X
    [4X[28X [ [ 7617, "(S^2xS^1)#20" ] ][128X[104X
    [4X[28X gap> c:=SCLib.Load(last[1][1]);;
[128X[104X
    [4X[28X gap> c.F;
[128X[104X
    [4X[28X [ 27, 298, 542, 271 ][128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1..12],[13..27]]);;   
[128X[104X
    [4X[28X gap> sl.Homology;
[128X[104X
    [4X[28X [ [ 0, [  ] ], [ 14, [  ] ], [ 1, [  ] ] ][128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1..13],[14..27]]);;
[128X[104X
    [4X[28X gap> sl.Homology;                       
[128X[104X
    [4X[28X [ [ 1, [  ] ], [ 14, [  ] ], [ 2, [  ] ] ][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-10 SCIsConnected[101X
  
  [29X[2XSCIsConnected[102X( [3Xcomplex[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YChecks if a normal surface [3Xcomplex[103X is connected.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> list:=SCLib.SearchByAttribute("Dim=3 and F[1]=10");;
[128X[104X
    [4X[28X gap> c:=SCLib.Load(list[1][1]);
[128X[104X
    [4X[28X [SimplicialComplex[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Properties known: AltshulerSteinberg, AutomorphismGroup, [128X[104X
    [4X[28X                    AutomorphismGroupSize, AutomorphismGroupStructure, [128X[104X
    [4X[28X                    AutomorphismGroupTransitivity, ConnectedComponents, [128X[104X
    [4X[28X                    Dim, DualGraph, EulerCharacteristic, FVector, [128X[104X
    [4X[28X                    FacetsEx, GVector, GeneratorsEx, HVector, [128X[104X
    [4X[28X                    HasBoundary, HasInterior, Homology, Interior, [128X[104X
    [4X[28X                    IsCentrallySymmetric, IsConnected, [128X[104X
    [4X[28X                    IsEulerianManifold, IsManifold, IsOrientable, [128X[104X
    [4X[28X                    IsPseudoManifold, IsPure, IsStronglyConnected, [128X[104X
    [4X[28X                    MinimalNonFacesEx, Name, Neighborliness, [128X[104X
    [4X[28X                    NumFaces[], Orientation, Reference, SkelExs[], [128X[104X
    [4X[28X                    Vertices.[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Name="S^3 (VT)"[128X[104X
    [4X[28X  Dim=3[128X[104X
    [4X[28X  AltshulerSteinberg=0[128X[104X
    [4X[28X  AutomorphismGroupSize=200[128X[104X
    [4X[28X  AutomorphismGroupStructure="(D10 x D10) : C2"[128X[104X
    [4X[28X  AutomorphismGroupTransitivity=1[128X[104X
    [4X[28X  EulerCharacteristic=0[128X[104X
    [4X[28X  FVector=[ 10, 35, 50, 25 ][128X[104X
    [4X[28X  GVector=[ 5, 5 ][128X[104X
    [4X[28X  HVector=[ 6, 11, 6, 1 ][128X[104X
    [4X[28X  HasBoundary=false[128X[104X
    [4X[28X  HasInterior=true[128X[104X
    [4X[28X  Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X
    [4X[28X  IsCentrallySymmetric=false[128X[104X
    [4X[28X  IsConnected=true[128X[104X
    [4X[28X  IsEulerianManifold=true[128X[104X
    [4X[28X  IsOrientable=true[128X[104X
    [4X[28X  IsPseudoManifold=true[128X[104X
    [4X[28X  IsPure=true[128X[104X
    [4X[28X  IsStronglyConnected=true[128X[104X
    [4X[28X  Neighborliness=1[128X[104X
    [4X[28X [128X[104X
    [4X[28X /SimplicialComplex][128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1..5],[6..10]]);
[128X[104X
    [4X[28X [NormalSurface[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\[128X[104X
    [4X[28X etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\[128X[104X
    [4X[28X e, Vertices.[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Name="slicing [ [ 1, 2, 3, 4, 5 ], [ 6, 7, 8, 9, 10 ] ] of S^3 (VT)"[128X[104X
    [4X[28X  Dim=2[128X[104X
    [4X[28X  FVector=[ 17, 36, 12, 9 ][128X[104X
    [4X[28X  EulerCharacteristic=2[128X[104X
    [4X[28X  IsOrientable=true[128X[104X
    [4X[28X  TopologicalType="S^2"[128X[104X
    [4X[28X [128X[104X
    [4X[28X /NormalSurface][128X[104X
    [4X[28X gap> SCIsConnected(sl);
[128X[104X
    [4X[28X true[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-11 SCIsEmpty[101X
  
  [29X[2XSCIsEmpty[102X( [3Xcomplex[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YChecks  if  a  normal  surface  [3Xcomplex[103X  is  the  empty  complex,  i.  e.  a
  [10XSCNormalSurface[110X object with empty facet list.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> sl:=SCNS([]);;
[128X[104X
    [4X[28X gap> SCIsEmpty(sl);
[128X[104X
    [4X[28X true[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-12 SCIsOrientable[101X
  
  [29X[2XSCIsOrientable[102X( [3Xsl[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YChecks if a discrete normal surface [3Xsl[103X is orientable.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> c:=SCBdSimplex(4);;
[128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1,2],[3,4,5]]);
[128X[104X
    [4X[28X [NormalSurface[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\[128X[104X
    [4X[28X etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\[128X[104X
    [4X[28X e, Vertices.[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Name="slicing [ [ 1, 2 ], [ 3, 4, 5 ] ] of S^3_5"[128X[104X
    [4X[28X  Dim=2[128X[104X
    [4X[28X  FVector=[ 6, 9, 2, 3 ][128X[104X
    [4X[28X  EulerCharacteristic=2[128X[104X
    [4X[28X  IsOrientable=true[128X[104X
    [4X[28X  TopologicalType="S^2"[128X[104X
    [4X[28X [128X[104X
    [4X[28X /NormalSurface][128X[104X
    [4X[28X gap> SCIsOrientable(sl);
[128X[104X
    [4X[28X true[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-13 SCSkel[101X
  
  [29X[2XSCSkel[102X( [3Xsl[103X, [3Xk[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ya  face  list (of [3Xk+1[103Xtuples) or a list of face lists upon success,
            [9Xfail[109X otherwise.[133X
  
  [33X[0;0YComputes  all  faces  of  cardinality  [3Xk+1[103X  in  the original labeling: [3Xk[103X [22X= 0[122X
  computes  the  vertices,  [3Xk[103X  [22X=  1[122X  computes  the  edges,  [3Xk[103X [22X= 2[122X computes the
  triangles, [3Xk[103X [22X= 3[122X computes the quadrilaterals.[133X
  
  [33X[0;0YIf  [3Xk[103X  is  a  list  (necessarily  a sublist of [10X[ 0,1,2,3 ][110X) all faces of all
  cardinalities contained in [3Xk[103X are computed.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> c:=SCBdSimplex(4);;              
[128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1],[2..5]]);;
[128X[104X
    [4X[28X gap> SCSkel(sl,1);                            
[128X[104X
    [4X[28X [ [ [ 1, 2 ], [ 1, 3 ] ], [ [ 1, 2 ], [ 1, 4 ] ], [ [ 1, 2 ], [ 1, 5 ] ], [128X[104X
    [4X[28X   [ [ 1, 3 ], [ 1, 4 ] ], [ [ 1, 3 ], [ 1, 5 ] ], [ [ 1, 4 ], [ 1, 5 ] ] ][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> c:=SCBdSimplex(4);;              
[128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1],[2..5]]);;
[128X[104X
    [4X[28X gap> SCSkel(sl,3);                            
[128X[104X
    [4X[28X [  ][128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1,2],[3..5]]);;
[128X[104X
    [4X[28X gap> SCSkelEx(sl,3);                            
[128X[104X
    [4X[28X [ [ 1, 2, 4, 5 ], [ 1, 3, 4, 6 ], [ 2, 3, 5, 6 ] ][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-14 SCSkelEx[101X
  
  [29X[2XSCSkelEx[102X( [3Xsl[103X, [3Xk[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ya  face  list (of [3Xk+1[103Xtuples) or a list of face lists upon success,
            [9Xfail[109X otherwise.[133X
  
  [33X[0;0YComputes  all  faces  of  cardinality  [3Xk+1[103X  in  the standard labeling: [3Xk[103X [22X= 0[122X
  computes  the  vertices,  [3Xk[103X  [22X=  1[122X  computes  the  edges,  [3Xk[103X [22X= 2[122X computes the
  triangles, [3Xk[103X [22X= 3[122X computes the quadrilaterals.[133X
  
  [33X[0;0YIf  [3Xk[103X  is  a  list  (necessarily  a sublist of [10X[ 0,1,2,3 ][110X) all faces of all
  cardinalities contained in [3Xk[103X are computed.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> c:=SCBdSimplex(4);;              
[128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1],[2..5]]);;
[128X[104X
    [4X[28X gap> SCSkelEx(sl,1);                            
[128X[104X
    [4X[28X [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 4 ], [ 3, 4 ] ][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> c:=SCBdSimplex(4);;              
[128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1],[2..5]]);;
[128X[104X
    [4X[28X gap> SCSkelEx(sl,3);                            
[128X[104X
    [4X[28X [  ][128X[104X
    [4X[28X gap> sl:=SCNSSlicing(c,[[1,2],[3..5]]);;
[128X[104X
    [4X[28X gap> SCSkelEx(sl,3);                            
[128X[104X
    [4X[28X [ [ 1, 2, 4, 5 ], [ 1, 3, 4, 6 ], [ 2, 3, 5, 6 ] ][128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-15 SCTopologicalType[101X
  
  [29X[2XSCTopologicalType[102X( [3Xsl[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ya string upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YDetermines  the  topological  type  of [3Xsl[103X via the classification theorem for
  closed  compact  surfaces.  If  [3Xsl[103X is not connected, the topological type of
  each connected component is computed.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCLib.SearchByName("(S^2xS^1)#20");      
[128X[104X
    [4X[28X [ [ 7617, "(S^2xS^1)#20" ] ][128X[104X
    [4X[28X gap> c:=SCLib.Load(last[1][1]);;
[128X[104X
    [4X[28X gap> c.F;
[128X[104X
    [4X[28X [ 27, 298, 542, 271 ][128X[104X
    [4X[28X gap> for i in [1..26] do sl:=SCNSSlicing(c,[[1..i],[i+1..27]]); Print(sl.TopologicalType,"\n"); od;                                           
[128X[104X
    [4X[28X S^2[128X[104X
    [4X[28X S^2[128X[104X
    [4X[28X S^2[128X[104X
    [4X[28X S^2[128X[104X
    [4X[28X S^2 U S^2[128X[104X
    [4X[28X S^2 U S^2[128X[104X
    [4X[28X S^2[128X[104X
    [4X[28X (T^2)#3[128X[104X
    [4X[28X (T^2)#5[128X[104X
    [4X[28X (T^2)#4[128X[104X
    [4X[28X (T^2)#3[128X[104X
    [4X[28X (T^2)#7[128X[104X
    [4X[28X (T^2)#7 U S^2[128X[104X
    [4X[28X (T^2)#7 U S^2[128X[104X
    [4X[28X (T^2)#7 U S^2[128X[104X
    [4X[28X (T^2)#8 U S^2[128X[104X
    [4X[28X (T^2)#7 U S^2[128X[104X
    [4X[28X (T^2)#8[128X[104X
    [4X[28X (T^2)#6[128X[104X
    [4X[28X (T^2)#6[128X[104X
    [4X[28X (T^2)#5[128X[104X
    [4X[28X (T^2)#3[128X[104X
    [4X[28X (T^2)#2[128X[104X
    [4X[28X T^2[128X[104X
    [4X[28X S^2[128X[104X
    [4X[28X S^2[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X7.3-16 SCUnion[101X
  
  [29X[2XSCUnion[102X( [3Xcomplex1[103X, [3Xcomplex2[103X ) [32X method
  [6XReturns:[106X  [33X[0;10Ynormal   surface   of  type  [10XSCNormalSurface[110X  upon  success,  [9Xfail[109X
            otherwise.[133X
  
  [33X[0;0YForms  the  union of two normal surfaces [3Xcomplex1[103X and [3Xcomplex2[103X as the normal
  surface  formed  by the union of their facet sets. The two arguments are not
  altered.  Note:  for the union process the vertex labelings of the complexes
  are   taken   into  account,  see  also  [2XOperation  Union  (SCNormalSurface,
  SCNormalSurface)[102X  ([14X5.6-1[114X). Facets occurring in both arguments are treated as
  one facet in the new complex.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> list:=SCLib.SearchByAttribute("Dim=3 and F[1]=10");;
[128X[104X
    [4X[28X gap> c:=SCLib.Load(list[1][1]);
[128X[104X
    [4X[28X [SimplicialComplex[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Properties known: AltshulerSteinberg, AutomorphismGroup, [128X[104X
    [4X[28X                    AutomorphismGroupSize, AutomorphismGroupStructure, [128X[104X
    [4X[28X                    AutomorphismGroupTransitivity, ConnectedComponents, [128X[104X
    [4X[28X                    Dim, DualGraph, EulerCharacteristic, FVector, [128X[104X
    [4X[28X                    FacetsEx, GVector, GeneratorsEx, HVector, [128X[104X
    [4X[28X                    HasBoundary, HasInterior, Homology, Interior, [128X[104X
    [4X[28X                    IsCentrallySymmetric, IsConnected, [128X[104X
    [4X[28X                    IsEulerianManifold, IsManifold, IsOrientable, [128X[104X
    [4X[28X                    IsPseudoManifold, IsPure, IsStronglyConnected, [128X[104X
    [4X[28X                    MinimalNonFacesEx, Name, Neighborliness, [128X[104X
    [4X[28X                    NumFaces[], Orientation, Reference, SkelExs[], [128X[104X
    [4X[28X                    Vertices.[128X[104X
    [4X[28X [128X[104X
    [4X[28X  Name="S^3 (VT)"[128X[104X
    [4X[28X  Dim=3[128X[104X
    [4X[28X  AltshulerSteinberg=0[128X[104X
    [4X[28X  AutomorphismGroupSize=200[128X[104X
    [4X[28X  AutomorphismGroupStructure="(D10 x D10) : C2"[128X[104X
    [4X[28X  AutomorphismGroupTransitivity=1[128X[104X
    [4X[28X  EulerCharacteristic=0[128X[104X
    [4X[28X  FVector=[ 10, 35, 50, 25 ][128X[104X
    [4X[28X  GVector=[ 5, 5 ][128X[104X
    [4X[28X  HVector=[ 6, 11, 6, 1 ][128X[104X
    [4X[28X  HasBoundary=false[128X[104X
    [4X[28X  HasInterior=true[128X[104X
    [4X[28X  Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X
    [4X[28X  IsCentrallySymmetric=false[128X[104X
    [4X[28X  IsConnected=true[128X[104X
    [4X[28X  IsEulerianManifold=true[128X[104X
    [4X[28X  IsOrientable=true[128X[104X
    [4X[28X  IsPseudoManifold=true[128X[104X
    [4X[28X  IsPure=true[128X[104X
    [4X[28X  IsStronglyConnected=true[128X[104X
    [4X[28X  Neighborliness=1[128X[104X
    [4X[28X [128X[104X
    [4X[28X /SimplicialComplex][128X[104X
    [4X[28X gap> sl1:=SCNSSlicing(c,[[1..5],[6..10]]);;
[128X[104X
    [4X[28X gap> sl2:=sl1+10;;
[128X[104X
    [4X[28X gap> sl3:=SCUnion(sl1,sl2);;
[128X[104X
    [4X[28X gap> SCTopologicalType(sl3);
[128X[104X
    [4X[28X "S^2 U S^2"[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
