reserve x for Real;

theorem Th41:
  for z be Complex holds Arg z in ].0,PI/2.[ iff Re z > 0 & Im z > 0
proof
  let z be Complex;
A1: Arg z < 2*PI by Th34;
  thus Arg z in ].0,PI/2.[ implies Re z > 0 & Im z > 0
  proof
    assume
A2: Arg z in ].0,PI/2.[;
    then
A3: Arg z > 0 by XXREAL_1:4;
    then z <> 0 by Def1;
    then
A4: z = |.z.|*cos Arg z+|.z.|*sin Arg z*<i> & |.z.| > 0 by Def1,COMPLEX1:47;
    cos Arg z > 0 by A2,SIN_COS:81;
    hence Re z > 0 by A4,COMPLEX1:12;
    Arg z < PI/2 by A2,XXREAL_1:4;
    then Arg z < PI by Lm2,XXREAL_0:2;
    then Arg z in ].0,PI.[ by A3,XXREAL_1:4;
    then sin.Arg z > 0 by Th7;
    then sin Arg z > 0 by SIN_COS:def 17;
    hence thesis by A4,COMPLEX1:12;
  end;
  assume that
A5: Re z > 0 and
A6: Im z > 0;
  z = (Re z+Im z*<i>) by COMPLEX1:13;
  then z <> 0+0*<i> by A5,COMPLEX1:77;
  then
A7: |.z.| > 0 & z = |.z.|*cos Arg z+|.z.|*sin Arg z*<i> by Def1,COMPLEX1:47;
  then sin Arg z > 0 by A6,COMPLEX1:12;
  then
A8: sin.Arg z > 0 by SIN_COS:def 17;
  cos Arg z > 0 by A5,A7,COMPLEX1:12;
  then cos.Arg z > 0 by SIN_COS:def 19;
  then
A9: not Arg z in [.PI/2,3/2*PI.] by Th14;
  0 <= Arg z by Th34;
  then
A10: Arg z > 0 by A8,SIN_COS:30;
  not Arg z in [.PI,2*PI.] by A8,Th10;
  then PI/2 > Arg z or PI > Arg z & 3/2*PI < Arg z by A1,A9,XXREAL_1:1;
  hence thesis by A10,Lm5,XXREAL_0:2,XXREAL_1:4;
end;
