assume [A,B,C] : (point(A) & point(B) & point(C) & B!=C & A!=B & A!=C)
let [D] : (point(D) & D!=A & D!=B & cong(A,B,B,D) & cong(B,D,D,A))
let [M] : (line(M) & on(D,M) & on(A,M))
let [N] : (line(N) & on(D,N) & on(B,N))
let [K1] : (circle(K1) & center(B,K1) & onc(C,K1))
let [G] : (point(G) & on(G,N) & onc(G,K1) & bet(D,B,G))
have (segment_add(D,B,B,G,D,G))
have (segment_add(D,G,D,A,B,G))
have (cong_less(D,A,D,G))
let [K2] : (circle(K2) & center(D,K2) & onc(G,K2))
have (inside(A,K2))
let [F] : (point(F) & onc(F,K2) & on(F,M) & bet(D,A,F))
have (segment_add(D,A,A,F,D,F))
have (cong(D,F,D,G))
have (segment_add(D,A,B,G,D,F))
have (cong(A,F,B,G))
have (cong(B,G,B,C))
have (cong(A,F,B,C))
