let A, B, C be Point of (TOP-REAL 2); :: thesis: ( A,B,C are_collinear iff the_area_of_polygon3 (A,B,C) = 0 )
hereby :: thesis: ( the_area_of_polygon3 (A,B,C) = 0 implies A,B,C are_collinear )
assume A,B,C are_collinear ; :: thesis: the_area_of_polygon3 (A,B,C) = 0
per cases then ( A in LSeg (B,C) or B in LSeg (C,A) or C in LSeg (A,B) ) by TOPREAL9:67;
suppose A in LSeg (B,C) ; :: thesis: the_area_of_polygon3 (A,B,C) = 0
then consider lambda being Real such that
A1: ( A = ((1 - lambda) * B) + (lambda * C) & 0 <= lambda & lambda <= 1 ) ;
the_area_of_polygon3 (A,B,C) = ((1 - lambda) * (the_area_of_polygon3 (B,B,C))) + (lambda * (the_area_of_polygon3 (C,B,C))) by Th7, A1;
hence the_area_of_polygon3 (A,B,C) = 0 ; :: thesis: verum
end;
suppose B in LSeg (C,A) ; :: thesis: the_area_of_polygon3 (A,B,C) = 0
then consider lambda being Real such that
A2: ( B = ((1 - lambda) * C) + (lambda * A) & 0 <= lambda & lambda <= 1 ) ;
the_area_of_polygon3 (A,B,C) = - (the_area_of_polygon3 ((((1 - lambda) * C) + (lambda * A)),A,C)) by A2
.= (- ((1 - lambda) * (the_area_of_polygon3 (C,A,C)))) - (lambda * (the_area_of_polygon3 (A,A,C))) by Th7 ;
hence the_area_of_polygon3 (A,B,C) = 0 ; :: thesis: verum
end;
suppose C in LSeg (A,B) ; :: thesis: the_area_of_polygon3 (A,B,C) = 0
then consider lambda being Real such that
A3: ( C = ((1 - lambda) * A) + (lambda * B) & 0 <= lambda & lambda <= 1 ) ;
the_area_of_polygon3 (A,B,C) = - (the_area_of_polygon3 ((((1 - lambda) * A) + (lambda * B)),B,A)) by A3
.= (- ((1 - lambda) * (the_area_of_polygon3 (A,B,A)))) - (lambda * (the_area_of_polygon3 (B,B,A))) by Th7 ;
hence the_area_of_polygon3 (A,B,C) = 0 ; :: thesis: verum
end;
end;
end;
assume the_area_of_polygon3 (A,B,C) = 0 ; :: thesis: A,B,C are_collinear
then ((|.(A - B).| * |.(C - B).|) * (sin (angle (C,B,A)))) / 2 = 0 by EUCLID_6:5;
per cases then ( |.(A - B).| = 0 or |.(C - B).| = 0 or sin (angle (C,B,A)) = 0 ) ;
end;