reserve q,r,c,c1,c2,c3 for Quaternion;
reserve x1,x2,x3,x4,y1,y2,y3,y4 for Real;
reserve z for Element of R_Quaternion;

theorem
  (c1 - c2).|.(c1 - c2) = c1.|.c1 - c1.|.c2 - c2.|.c1 + c2.|.c2
proof
  (c1 - c2).|.(c1 - c2)=(c1 - c2) * (c1*' - c2*') by QUATERNI:56
    .=(c1 + -c2) * c1*' + (c1 + -c2) * -c2*' by Th17
    .=c1* c1*' + (-c2) * c1*' + (c1 + -c2) * -c2*' by Th18
    .=c1.|.c1 + (-c2) * c1*' + (c1* (-c2*') + (-c2) * (-c2*')) by Th18
    .=c1.|.c1 + -(c2 * c1*') + (c1* (-c2*') + (-c2) * (-c2*')) by Th20
    .=c1.|.c1 + -(c2 * c1*') + (-(c1* c2*') + (-c2) * (-c2*')) by Th21
    .=c1.|.c1 + -c2.|.c1 + (-c1.|.c2 + c2.|.c2) by Th22
    .=c1.|.c1 + -c2.|.c1 + -c1.|.c2 + c2.|.c2 by Th2
    .=c1.|.c1 + -c1.|.c2 + -c2.|.c1 + c2.|.c2 by Th2;
  hence thesis;
end;
