<p>We follow <a href="chapBib_mj.html#biBBC2013">[BC13]</a> for the definitions of incidence structure and incidence geometry. An <em>incidence structure</em> consists of a set of elements, a symmetric relation on the elements and a type function from the set of elements to an index set (i.e., every element has a ``type''). It satisfies the following axiom: <em>(i) no two elements of the same type are incident.</em> An incidence structure without type function is in fact a multipartite graph where the adjacency is the incidence (so with a loop on each vertex). The term geometry, or incidence geometry, is interpreted broadly in this package. Particularly, an <em>incidence geometry</em> is an incidence structure satisfying the following axiom: <em>(ii) every maximal flag contains an element of each type</em>. In graph terminology, this means that every maximal clique contains an element of each type. Thus, a projective 5-space is an incidence geometry with five types of elements: points, lines, planes, solids, and hyperplanes. A finite classical polar space of rank 3 is an incidence geometry with three types of elements: points, lines, and planes. Depending on the viewpoint, the Grassmann variety of the lines of a projective 4-space, is an incidence structure that is not an incidence geometry.</p>
<p><strong class="pkg">FinInG</strong> concerns itself primarily with the most commonly studied incidence geometries of rank at least 2: projective spaces, polar spaces, and affine spaces. Throughout, no matter the geometry, we have made the convention that an element of type 1 is a ``point'', an element of type 2 is a ``line'', and so forth. The examples we use in this section use projective spaces, which have not yet been introduced to the reader in this manual. For further information on projective spaces, see Chapter <a href="chap4_mj.html#X83BBAA668672A76D"><span class="RefLink">4</span></a>.</p>
<p>In this chapter we describe functionality that is <strong class="button">declared</strong> for incidence structures, which does not imply that operations described here will work for arbitrary user-constructed incidence structures. Its aim is furthermore to allow the user to become familiar with the general philosophy of the package, using examples that are self-explanatory. Not all details of the commands used in the examples will be explained in this chapter, therefore we refer to the relevant chapter for the commands. These can easily be found using the index.</p>
<p>Incidence structures can be more general than incidence geometries, e.g., if they do not satisfy axiom (ii) mentioned above. We allow the construction of such objects. This explains one of the top level categories in <strong class="pkg">FinInG</strong>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsIncidenceGeometry</code></td><td class="tdright">( category )</td></tr></table></div>
<p>Category for all objects representing an incidence geometry. All particular geometries implemented in <strong class="pkg">FinInG</strong> are incidence geometries.</p>
<p><var class="Arg">eles</var> is a set containing the elements of the incidence structure. <var class="Arg">inc_rel</var> must be a function that determines whether two objects in the set <var class="Arg">eles</var> are incident. <var class="Arg">type</var> is a function mapping any element to its type, which is a unique element in the set <var class="Arg">typeset</var>.</p>
<p>In the following example we define an incidence structure that is not an incidence geometry. The example used is the incidence structure with elements the subspaces contained in the line Grassmannian of PG(4,2). This example is not meant to create this incidence structure in an efficient way, but just to demonstrate the general philosophy.</p>
<p>Lie Geometries, i.e., geometries with a projective space as ambient space, affine spaces and generalised polygons have their own category, which is a subcategory of <code class="code">IsIncidenceGeometry</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TypesOfElementsOfIncidenceStructure</code>( <var class="Arg">inc</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TypesOfElementsOfIncidenceStructurePlural</code>( <var class="Arg">inc</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a list of strings or integers</p>
<p>Both attributes are declared for objects in the category <code class="code">IsIncidenceStructure</code>. Any incidence structure has a set of types, which is usually just the list <span class="SimpleMath">\([1..n]\)</span>. If specific names are given to each type, like points, lines, etc., this attribute returns the names for the particular incidence structure <var class="Arg">inc</var>. The second variant returns the list of plurals of these names. For generically constructed incidence structures, the names of the Elements are also generic: elements of type 1, elements of type 2, etc.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Rank</code>( <var class="Arg">inc</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RankAttr</code>( <var class="Arg">inc</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: rank of <var class="Arg">inc</var>, an object which must belong to the category <code class="code">IsIncidenceStructure</code></p>
<p>The operation <code class="file">Rank</code> returns the rank of the incidence structure <code class="code">inc</code>. The highest level method for <code class="file">Rank</code>, applicable to objects in <code class="code">IsIncidenceStructure</code> simply refers to the attribute <codeclass="file">RankAttr</code>. In <strong class="pkg">FinInG</strong>, the rank of an incidence structure is determined upon creation, when also <code class="file">RankAttr</code> is set.</p>
<p>The vertices are the elements of <var class="Arg">inc</var>, adjacency between different vertices is equal to incidence, and there are of course no loops. For generic incidence structures, i.e. constructed through <code class="file">IncidenceStructure</code>, there is no efficient method installed, so this operation can be time consuming.</p>
<p>If <var class="Arg">inc</var> is a generic incidence structure, i.e. created using <code class="file">IncidenceStructure</code>, the vertex names of the graph are integers. It is not by default possible to use the elements of <var class="Arg">inc</var> as vertex names, since it is not known in the generic case whether the elements of different type of <var class="Arg">inc</var> can be ordered. For particular incidence geometries, e.g. projective spaces, etc., the vertex names will be the elements, which will be demonstrated through examples in the appropriate chapters.</p>
<p>In the example we consider the so-called doubling of the smallest generalised quadrangle: the points of the incidence structure are the points and the lines of the GQ, the lines of the incidence structure are all the point-line flags of the GQ. The incidence is the natural one. It is then checked that diameter and girth of the incidence graph are 8 and 16 respectively, which makes that the incidence structure is a generalised octagon.</p>
<h5>3.2-1 <span class="Heading">Main categories for individual elements of incidence structures</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsElementOfIncidenceStructure</code></td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsElementOfIncidenceGeometry</code></td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsElementOfLieGeometry</code></td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsElementOfAffineSpace</code></td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsElementOfCosetGeometry</code></td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSubspaceOfProjectiveSpace</code></td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSubspaceOfClassicalPolarSpace</code></td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsElementOfGeneralisedPolygon</code></td><td class="tdright">( category )</td></tr></table></div>
<p>In general, elements of an incidence structure belonging to <code class="code">IsIncStr</code>, are in the category <code class="code">IsElementOfIncStr</code>. The inclusion for different categories of geometries is followed for their elements, with an exception for <code class="code">IsSubspaceOfClassicalPolarSpace</code>, which is a subcategory of <code class="code">IsSubspaceOfProjectiveSpace</code>, while <code class="code">IsClassicalPolarSpace</code> is not a subcategory of <code class="code">IsProjectiveSpace</code>.</p>
<p>An element of an incidence structure has a type and an underlying object. E.g. a line of a projective space is determined by a two dimensional sub vector space, which is determined by a basis. Elements of incidence structure can also be objects representing elements of other incidence structures, as is e.g. the case in the example of <a href="chap3_mj.html#X7C3258887C8DF5C1"><span class="RefLink">3.1-3</span></a>. The examples shows the underlying objects of elements of three totally different incidence geometries.</p>
<p>An element of an incidence structure has a type and an underlying object. Its type is always a non-negative integer. This operation returns the type of an element.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ObjectToElement</code>( <var class="Arg">inc</var>, <var class="Arg">t</var>, <var class="Arg">obj</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: an element of the incidence structure <var class="Arg">inc</var></p>
<p>If <var class="Arg">obj</var> represents an element of <var class="Arg">inc</var> of type <var class="Arg">t</var>, this operation returns the element. An error (or no method found error) is shown when <var class="Arg">obj</var> does not represent an element of type <var class="Arg">t</var>. Note that <code class="file">ObjectToElement</code> is a generic operation. Versions with a different argument set and even alternative operations exist for some particular geometries to construct particular elements.</p>
<h5>3.2-5 <span class="Heading">Main categories for collections of all the elements of a given type of an incidence structure</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsElementsOfIncidenceStructure</code></td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsElementsOfIncidenceGeometry</code></td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsElementsOfLieGeometry</code></td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsElementsOfAffineSpace</code></td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsElementsOfCosetGeometry</code></td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSubspacesOfProjectiveSpace</code></td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSubspacesOfClassicalPolarSpace</code></td><td class="tdright">( category )</td></tr></table></div>
<p>For a given incidence structure, the collection of elements of a given type can be constructed. constructed here means that an object is returned that represents all the elements of a given type, rather than listing them immediately, to avoid long computation times. Such an abstract object is e.g. used as a range for In general, the collection of elements of a given type of an incidence structure belonging to <code class="code">IsIncStr</code>, is in the category <code class="code">IsElementsOfIncStr</code>. The inclusion for different categories of geometries is followed for their collection of elements of a given type, with an exception for <code class="code">IsSubspacesOfClassicalPolarSpace</code>, which is a subcategory of <code class="code">IsSubspacesOfProjectiveSpace</code>, while <code class="code">IsClassicalPolarSpace</code> is not a subcategory of <code class="code">IsProjectiveSpace</code>.</p>
<p>The object representing the set of elements of a given type can be computed using the general operation <code class="file">ElementsOfIncidenceStructure</code>.</p>
<p><var class="Arg">inc</var> must be an incidence structure, <var class="Arg">j</var> must be a type of element of <var class="Arg">inc</var>. This function returns all elements of <var class="Arg">inc</var> of type <var class="Arg">j</var>, and an error is displayed if <var class="Arg">inc</var> has no elements of type <var class="Arg">j</var>. Calling the elements (of a given type) of <var class="Arg">inc</var> yields an object in the category <code class="code">IsElementsOfIncidenceStructure</code> (or the appropriate category for projective spaces and classical polar spaces), which does not imply that all elements are computed and stored. In an alternative form of this function <var class="Arg">str</var> can be one of the strings found in the list obtained by calling <code class="file">TypesOfElementsOfIncidenceStructurePlural(inc)</code>. E.g. for projective spaces, ``points", ``lines", ``planes" or ``solids" are the names for elements of type 1,2,3 or 4, respectively, of course if <var class="Arg">inc</var> has elements of the deduced type.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := ProjectiveSpace(3,3);</span>
ProjectiveSpace(3, 3)
<span class="GAPprompt">gap></span> <span class="GAPinput">l := ElementsOfIncidenceStructure(ps,2);</span>
<lines of ProjectiveSpace(3, 3)>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := EllipticQuadric(5,9);</span>
Q-(5, 9)
<span class="GAPprompt">gap></span> <span class="GAPinput">lines := ElementsOfIncidenceStructure(ps,2);</span>
<lines of Q-(5, 9)>
<span class="GAPprompt">gap></span> <span class="GAPinput">planes := ElementsOfIncidenceStructure(ps,3);</span>
Error, <geo> has no elements of type <j> called from
<function "unknown">( <arguments> )
called from read-eval loop at line 12 of *stdin*
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
<span class="GAPbrkprompt">brk></span> <span class="GAPinput">quit;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">as := AffineSpace(3,9);</span>
AG(3, 9)
<span class="GAPprompt">gap></span> <span class="GAPinput">lines := ElementsOfIncidenceStructure(as,"lines");</span>
<lines of AG(3, 9)>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ElementsOfIncidenceStructure</code>( <var class="Arg">inc</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a collection of elements</p>
<p><var class="Arg">inc</var> must be an incidence structure, then this operation returns the collection of all elements of <var class="Arg">inc</var>. Such a collection can e.g. be the range of a geometry morphism. Note that this operation has no method for generic incidence structures constructed using <code class="file">Incidence Structure</code>.</p>
<p>For geometries in <code class="code">IsLieGeometry</code>, <code class="code">IsAffineSpace</code>, and <code class="code">IsGeneralisedPolygon</code>, the elements of type 1,2,3,4 respectively are called usually points, lines, planes, solids, respectively. These methods are, for such geometries, are shortcuts to <code class="file">ElementsOfIncidenceStructure(inc,j)</code>, with <var class="Arg">j</var> equal to 1,2,3,4, respectively.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Points(HermitianVariety(2,64));</span>
<points of Hermitian Variety in ProjectiveSpace(2, 64)>
<span class="GAPprompt">gap></span> <span class="GAPinput">Lines(EllipticQuadric(5,2));</span>
<lines of Q-(5, 2)>
<span class="GAPprompt">gap></span> <span class="GAPinput">Planes(SymplecticSpace(7,3));</span>
<planes of W(7, 3)>
<span class="GAPprompt">gap></span> <span class="GAPinput">Lines(TwistedTrialityHexagon(2^3));</span>
<lines of T(8, 2)>
<p><var class="Arg">inc</var> must be an incidence structure, <var class="Arg">j</var> must be a type of element of <var class="Arg">inc</var>. This function returns the number of elements of <var class="Arg">inc</var> of type <var class="Arg">j</var>, and an error is displayed if <var class="Arg">inc</var> has no elements of type <var class="Arg">j</var>. In the alternative form of this function <var class="Arg">str</var> can be one of ``points", ``lines", ``planes" or ``solids" and the function returns the number of elements of type 1, 2, 3 or 4 respectively, of course if <var class="Arg">inc</var> has elements of the deduced type. For geometries in the category <code class="code">IsLieGeometry</code>, <code class="code">IsAffineSpace</code>, and <code class="code">IsGeneralisedPolygon</code>, the number of elements of a given type is known upon construction of the geometry. As such, for these geometries, this operation requires no computing time.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Random</code>( <var class="Arg">C</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: an element in the collection <var class="Arg">C</var></p>
<p><var class="Arg">C</var> is a collection of elements of an incidence structure, i.e., an object in the category <code class="code">IsElementsOfIncidenceStructure</code>. <code class="file">Random(C)</code> will return a random element in <var class="Arg">C</var> provided there is a method installed. The generic method will compute all elements in <var class="Arg">C</var> and return a random member from the list. For e.g. Lie geometries, more efficient methods are installed.</p>
<p><var class="Arg">u</var> and <var class="Arg">v</var> must be elements of an incidence structure. This function returns true if and only if <var class="Arg">u</var> is incident with <var class="Arg">v</var>. Recall that <code class="code">IsIncident</code> is a symmetric relation, while <code class="code">in</code> is not. A method for the operation <code class="file">\*</code> is installed, applicable to objects in <code class="code">IsElementOfIncidenceStructure</code>. It just calls <code class="file">IsIncident</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AmbientGeometry</code>( <var class="Arg">v</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the ambient geometry of the element <var class="Arg">v</var></p>
<p>If <var class="Arg">v</var> is an element of an incidence geometry currently implemented in <strong class="pkg">FinInG</strong>, then this operation returns the ambient geometry of <var class="Arg">v</var>, i.e., in general the geometry in which <var class="Arg">v</var> was created. If an incidence structure is created with elements that are a subset of elements of another incidence structure, the ambient geometry might stay unchanged.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">plane := Random(Planes(HyperbolicQuadric(5,2)));</span>
<a plane in Q+(5, 2)>
<span class="GAPprompt">gap></span> <span class="GAPinput">AmbientGeometry(plane);</span>
Q+(5, 2)
<span class="GAPprompt">gap></span> <span class="GAPinput">l := Random(Lines(SplitCayleyHexagon(3)));</span>
#I for Split Cayley Hexagon
#I Computing nice monomorphism...
#I Found permutation domain...
<a line in H(3)>
<span class="GAPprompt">gap></span> <span class="GAPinput">Print(l);</span>
NewMatrix(IsCMatRep,GF(3,1),7,[[ Z(3)^0, 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3),
Z(3)^0, Z(3)^0 ],[ 0*Z(3), Z(3)^0, Z(3), Z(3)^0, 0*Z(3), Z(3)^0, 0*Z(3) ],])
<span class="GAPprompt">gap></span> <span class="GAPinput">AmbientGeometry(l);</span>
H(3)
<span class="GAPprompt">gap></span> <span class="GAPinput">p := Random(Points(EGQByBLTSet(BLTSetByqClan(LinearqClan(3)))));</span>
#I Now embedding dual BLT-set into W(5,q)...
#I Computing elation group...
<a point in <EGQ of order [ 9, 3 ] and basepoint in W(5, 3 ) >>
<span class="GAPprompt">gap></span> <span class="GAPinput">Print(p);</span>
NewRowVector(IsCVecRep,GF(3,1),[Z(3)^0,Z(3),Z(3),Z(3),Z(3)^0,0*Z(3),])
<span class="GAPprompt">gap></span> <span class="GAPinput">AmbientGeometry(p);</span>
<EGQ of order [ 9, 3 ] and basepoint in W(5, 3 ) >
<h4>3.3 <span class="Heading">Flags of incidence structures</span></h4>
<p>A <em>flag</em> of an incidence structure <span class="SimpleMath">\(S\)</span> is a set <span class="SimpleMath">\(F\)</span> of elements of <span class="SimpleMath">\(S\)</span> that are two by two incident. This implies that all elements in <span class="SimpleMath">\(F\)</span> have a different type. A flag is maximal if it cannot be extended with more elements. <strong class="pkg">FinInG</strong> provides a basic category <code class="code">IsFlagOfIncidenceStructure</code>. For different types of incidence structures, methods to create a flag can be installed. A <em>chamber</em> is a flag of size <span class="SimpleMath">\(n\)</span>, where <span class="SimpleMath">\(n\)</span> is the rank of the incidence structure. Recall that an incidence structure is an incidence geometry if every maximal flag is a chamber.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FlagOfIncidenceStructure</code>( <var class="Arg">inc</var>, <var class="Arg">l</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the flag consisting of the elements of <var class="Arg">inc</var> in the list <var class="Arg">l</var></p>
<p>It is checked if all elements in <var class="Arg">l</var> are incident and belong to the same incidence structure. An empty list is allowed.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := PG(3,7);</span>
ProjectiveSpace(3, 7)
<span class="GAPprompt">gap></span> <span class="GAPinput">point := VectorSpaceToElement(ps,[1,2,0,0]*Z(7)^0);</span>
<a point in ProjectiveSpace(3, 7)>
<span class="GAPprompt">gap></span> <span class="GAPinput">line := VectorSpaceToElement(ps,[[1,0,0,0],[0,1,0,0]]*Z(7)^0);</span>
<a line in ProjectiveSpace(3, 7)>
<span class="GAPprompt">gap></span> <span class="GAPinput">plane := VectorSpaceToElement(ps,[[1,0,0,0],[0,1,0,0],[0,0,0,1]]*Z(7)^0);</span>
<a plane in ProjectiveSpace(3, 7)>
<span class="GAPprompt">gap></span> <span class="GAPinput">flag := FlagOfIncidenceStructure(ps,[point,line,plane]);</span>
<a flag of ProjectiveSpace(3, 7)>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsChamberOfIncidenceStructure</code>( <var class="Arg">flag</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: true if and only if <var class="Arg">flag</var> contains an element of each type</p>
<p>The incidence structure is determined by the elements.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := PG(3,7);</span>
ProjectiveSpace(3, 7)
<span class="GAPprompt">gap></span> <span class="GAPinput">point := VectorSpaceToElement(ps,[1,2,0,0]*Z(7)^0);</span>
<a point in ProjectiveSpace(3, 7)>
<span class="GAPprompt">gap></span> <span class="GAPinput">line := VectorSpaceToElement(ps,[[1,0,0,0],[0,1,0,0]]*Z(7)^0);</span>
<a line in ProjectiveSpace(3, 7)>
<span class="GAPprompt">gap></span> <span class="GAPinput">plane := VectorSpaceToElement(ps,[[1,0,0,0],[0,1,0,0],[0,0,0,1]]*Z(7)^0);</span>
<a plane in ProjectiveSpace(3, 7)>
<span class="GAPprompt">gap></span> <span class="GAPinput">flag1 := FlagOfIncidenceStructure(ps,[point,plane]);</span>
<a flag of ProjectiveSpace(3, 7)>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsChamberOfIncidenceStructure(flag1);</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">flag2 := FlagOfIncidenceStructure(ps,[point,line,plane]);</span>
<a flag of ProjectiveSpace(3, 7)>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsChamberOfIncidenceStructure(flag2);</span>
true
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.68Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.