1#an example of an incidence structure that is not an incidence geometry
2pg := PG(4,2);
3pg2 := PG(9,2);
4points := List(Lines(pg),x->VectorSpaceToElement(pg2,GrassmannCoordinates(x)));;
5flags := Concatenation(List(Points(pg),x->List(Planes(x),y->FlagOfIncidenceStructure(pg,[x,y]))));;
6prelines := List(flags,flag->ShadowOfFlag(pg,flag,2));;
7lines := List(prelines,x->VectorSpaceToElement(pg2,List(x,y->GrassmannCoordinates(y))));;
8flags2 := Concatenation(List(Points(pg),x->List(Solids(x),y->FlagOfIncidenceStructure(pg,[x,y]))));;
9preplanes := List(flags2,flag->ShadowOfFlag(pg,flag,2));;
10planes := List(preplanes,x->VectorSpaceToElement(pg2,List(x,y->GrassmannCoordinates(y))));;
11maximals1 := List(Planes(pg),x->VectorSpaceToElement(pg2,List(Lines(x),y->GrassmannCoordinates(y))));;
12maximals2 := List(Points(pg),x->VectorSpaceToElement(pg2,List(Lines(x),y->GrassmannCoordinates(y))));;
13elements := Union(points,lines,planes,maximals1,maximals2);;
14Length(elements);
15type := x -> ProjectiveDimension(x)+1;
16inc_rel := \*;
17inc := IncidenceStructure(elements,inc_rel,type,[1,2,3,4]);
18Rank(inc);
19quit;
20