 reserve a,b,x,r for Real;
 reserve y for set;
 reserve n for Element of NAT;
 reserve A for non empty closed_interval Subset of REAL;
 reserve f,g,f1,f2,g1,g2 for PartFunc of REAL,REAL;
 reserve Z for open Subset of REAL;

theorem
 A c= Z & Z c= ]. -1,1 .[  & (for x st x in Z holds f1.x=1
 & arccos.x>0) & Z c= dom (ln*arccos) & Z = dom f &
 f=((( #R (1/2))*(f1-#Z 2))(#)arccos)^ implies
 integral(f,A)=(-ln*arccos).(upper_bound A)-(-ln*arccos).(lower_bound A)
proof
  assume
A1:A c= Z & Z c= ]. -1,1 .[  & (for x st x in Z holds
   f1.x=1 & arccos.x>0) & Z c= dom (ln*arccos) & Z = dom f &
   f=((( #R (1/2))*(f1-#Z 2))(#)arccos)^;
   set g=((( #R (1/2))*(f1-#Z 2))(#)arccos);
A2:Z c= dom g by A1,RFUNCT_1:1;
dom g = dom (( #R (1/2))*(f1-#Z 2)) /\ dom arccos by VALUED_1:def 4;
then
A3:Z c= dom (( #R (1/2))*(f1-#Z 2)) & Z c= dom arccos by A2,XBOOLE_1:18;
A4:arccos is_differentiable_on Z by A1,FDIFF_1:26,SIN_COS6:106;
   set f2=#Z 2;
for x st x in Z holds (f1-#Z 2).x >0
   proof
   let x;
   assume
A5:x in Z; then
   -1 < x & x < 1 by A1,XXREAL_1:4; then
   0 < 1+x & 0 < 1-x by XREAL_1:50,148; then
A6:0 < (1+x)*(1-x) by XREAL_1:129;
 for x st x in Z holds x in dom (f1-f2) by A3,FUNCT_1:11;
     then (f1-f2).x = f1.x - f2.x by A5,VALUED_1:13
             .=f1.x - (x #Z (1+1)) by TAYLOR_1:def 1
             .=f1.x - ((x #Z 1)*(x #Z 1)) by TAYLOR_1:1
             .=f1.x - (x*(x #Z 1)) by PREPOWER:35
             .=f1.x - x*x by PREPOWER:35
             .=1 - x*x by A1,A5;
     hence thesis by A6;
    end;
then for x st x in Z holds f1.x=1 & (f1-#Z 2).x >0 by A1;
then (( #R (1/2))*(f1-#Z 2)) is_differentiable_on Z by A3,FDIFF_7:22;
then A7:g is_differentiable_on Z by A2,A4,FDIFF_1:21;
for x st x in Z holds g.x<>0 by A1,RFUNCT_1:3;
then f is_differentiable_on Z by A1,A7,FDIFF_2:22;
    then f|Z is continuous by FDIFF_1:25;then
f|A is continuous by A1,FCONT_1:16;
then A8:f is_integrable_on A & f|A is bounded by A1,INTEGRA5:10,11;
for x st x in Z holds arccos.x>0 by A1;
then A9:ln*arccos is_differentiable_on Z by A1,FDIFF_7:9;
Z c= dom (-ln*arccos) by A1,VALUED_1:8;
then A10:(-1)(#)(ln*arccos) is_differentiable_on Z by A9,FDIFF_1:20;
A11:for x st x in Z holds ((-ln*arccos)`|Z).x = 1 / (sqrt(1-x^2)*arccos.x)
   proof
     let x;
     assume
A12:x in Z;then
A13:-1 < x & x < 1 by A1,XXREAL_1:4;
A14:arccos is_differentiable_in x by A1,A12,FDIFF_1:9,SIN_COS6:106;
A15:arccos.x >0 by A1,A12;
A16:ln*arccos is_differentiable_in x by A9,A12,FDIFF_1:9;
 ((-ln*arccos)`|Z).x=diff(-ln*(arccos),x) by A10,A12,FDIFF_1:def 7
      .=(-1)*diff(ln*arccos,x) by A16,FDIFF_1:15
      .=(-1)*(diff(arccos,x)/arccos.x) by A14,A15,TAYLOR_1:20
      .=(-1)*((-1 / sqrt(1-x^2))/arccos.x) by A13,SIN_COS6:106
      .=(-1)*(-(1 / sqrt(1-x^2))/arccos.x)
      .=1 / (sqrt(1-x^2)*arccos.x) by XCMPLX_1:78;
     hence thesis;
   end;
A17:for x st x in Z holds f.x=1 / (sqrt(1-x^2)*arccos.x)
   proof
   let x;
   assume
A18:x in Z;
then
A19:x in dom (f1-#Z 2) & (f1-#Z 2).x in dom ( #R (1/2)) by A3,FUNCT_1:11;
then A20:(f1-#Z 2).x in right_open_halfline(0) by TAYLOR_1:def 4;
-1 < x & x < 1 by A1,A18,XXREAL_1:4;
   then 0 < 1+x & 0 < 1-x by XREAL_1:50,148; then
A21:0 < (1+x)*(1-x) by XREAL_1:129;
   (((( #R (1/2))*(f1-#Z 2))(#)arccos)^).x
  =1/(((( #R (1/2))*(f1-#Z 2))(#)arccos).x) by A1,A18,RFUNCT_1:def 2
  .=1/((( #R (1/2))*(f1-#Z 2)).x*arccos.x) by VALUED_1:5
  .=1/(( #R (1/2)).((f1-#Z 2).x)*arccos.x) by A3,A18,FUNCT_1:12
  .=1/((((f1-#Z 2).x) #R (1/2))*arccos.x) by A20,TAYLOR_1:def 4
  .=1/(((f1.x-(( #Z 2).x)) #R (1/2))*arccos.x) by A19,VALUED_1:13
  .=1/(((f1.x-(x #Z 2)) #R (1/2))*arccos.x) by TAYLOR_1:def 1
  .=1/(((f1.x-x^2) #R (1/2))*arccos.x) by FDIFF_7:1
  .=1/(((1-x^2) #R (1/2))*arccos.x) by A1,A18
  .=1/(sqrt(1-x^2)*arccos.x) by A21,FDIFF_7:2;
    hence thesis by A1;
    end;
A22:for x being Element of REAL
     st x in dom ((-ln*arccos)`|Z) holds ((-ln*arccos)`|Z).x=f.x
    proof
     let x be Element of REAL;
     assume x in dom ((-ln*arccos)`|Z);then
A23: x in Z by A10,FDIFF_1:def 7; then
     ((-ln*arccos)`|Z).x=1 / (sqrt(1-x^2)*arccos.x) by A11
       .=f.x by A17,A23;
     hence thesis;
   end;
  dom ((-ln*arccos)`|Z)=dom f by A1,A10,FDIFF_1:def 7;
  then ((-ln*arccos)`|Z)= f by A22,PARTFUN1:5;
  hence thesis by A1,A8,A10,INTEGRA5:13;
end;
