kollinear:=(x,y,z)->((z.2-y.2)*(y.1-x.1)-(y.2-x.2)*(z.1-y.1)) mittelpunkt:=(a,m,b)->( (a.1-m.1)-(m.1-b.1), (a.2-m.2)-(m.2-b.2) ) groebner::gbasis([ mittelpunkt(a,f,b), mittelpunkt(b,d,c), mittelpunkt(c,e,a), kollinear(a,h,d), kollinear(b,h,e), 1 - y * kollinear(c,h,f) ])
qdist:=(a,b)->((a.1-b.1)^2+(a.2-b.2)^2) gleichweit:=(a,b,c,d)-> (qdist(a,b)-qdist(c,d)) senkrecht:=(a,b,c,d)-> ((a.1-b.1)*(c.1-d.1)+(a.2-b.2)*(c.2-d.2)) groebner::gbasis([ senkrecht(a,c,b,c), mittelpunkt(a,m,b), 1 - y*gleichweit(a,m,c,m) ])
schwerpunkt:=(a,b,c,s)->(a.1+b.1+c.1-3*s.1,a.2+b.2+c.2-3*s.2) gleichseitig:=(a,b,c)->(gleichweit(a,b,b,c),gleichweit(b,c,c,a)) groebner::gbasis([ a.1,a.2,b.2, gleichseitig(a,b,p), schwerpunkt(a,b,p,u), gleichseitig(b,c,q), schwerpunkt(b,c,q,v), gleichseitig(c,a,r), schwerpunkt(c,a,r,w), 1 - y * gleichseitig(u,v,w) ])
siehe auch https://symbolicdata.github.io/, https://github.com/symbolicdata/data/tree/master/XMLResources/GeoProofSchemes