# Great Poncelet Theorem
Let(A=[x1,0], B=[x2,0], C=[0,x3], D=[x4,x5], H=[x6,x7]):
Poncelet := Theorem([arbitrary(A,B,D), equiangle(B,A,D,D,A,C), 
                     equiangle(A,B,D,D,B,C), circumcenter(A,B,C,H),
                     r^2-x5^2, R^2-sdistance(H,A)],
                    R^2-2*R*r-sdistance(D,H), [x4,x5,x6,x7,r,R]);
