sin_cos.miz
    
    begin
    
    reserve q,th,r for
    Real, 
    
a,b,p for
    Real, 
    
w,z for
    Complex, 
    
k,l,m,n,n1,n2 for
    Nat, 
    
seq,seq1,seq2,cq1 for
    Complex_Sequence, 
    
rseq,rseq1,rseq2 for
    Real_Sequence, 
    
rr for
    set, 
    
hy1 for
    0  
    -convergent
    non-zero  
    Real_Sequence;
    
    definition
    
      let m,k be
    natural  
    Number;
    
      :: 
    
    SIN_COS:def1
    
      func
    
    CHK (m,k) -> 
    Element of 
    COMPLEX equals 
    
      :
    
    Def1: 1 if m 
    <= k 
    
      otherwise
    0 ; 
    
      correctness
    
      proof
    
        
    0c  
    =  
    0 ; 
    
        hence thesis by
    COMPLEX1:def 4;
    
      end;
    
    end
    
    registration
    
      let m,k be
    natural  
    Number;
    
      cluster ( 
    CHK (m,k)) -> 
    real;
    
      coherence by
    Def1;
    
    end
    
    scheme :: 
    
    SIN_COS:sch1
    
    ExComplexCASE { F(
    Nat, 
    Nat) ->
    Complex } : 
    
for k holds ex seq st for n holds (n 
    <= k implies (seq 
    . n) 
    = F(k,n)) & (n 
    > k implies (seq 
    . n) 
    =  
    0 ); 
    
      let k;
    
      defpred
    
    P[
    object, 
    object] means ex n st (n
    = $1 & (n 
    <= k implies $2 
    = F(k,n)) & (n 
    > k implies $2 
    =  
    0c )); 
    
      
    
    A1: 
    
      now
    
        let x be
    object;
    
        assume x
    in  
    NAT ; 
    
        then
    
        consider n such that
    
        
    
    A2: n 
    = x; 
    
        
    
    A3: 
    
        now
    
          assume n
    <= k; 
    
          
    
          hence ((
    CHK (n,k)) 
    * F(k,n)) 
    = (1 
    * F(k,n)) by 
    Def1
    
          .= F(k,n);
    
        end;
    
        
    
    A4: 
    
        now
    
          assume n
    > k; 
    
          
    
          hence ((
    CHK (n,k)) 
    * F(k,n)) 
    = ( 
    0  
    * F(k,n)) by 
    Def1
    
          .=
    0 ; 
    
        end;
    
        reconsider y = ((
    CHK (n,k)) 
    * F(k,n)) as 
    object;
    
        take y;
    
        thus
    P[x, y] by
    A2,
    A3,
    A4;
    
      end;
    
      consider f be
    Function such that 
    
      
    
    A5: ( 
    dom f) 
    =  
    NAT and 
    
      
    
    A6: for x be 
    object st x 
    in  
    NAT holds 
    P[x, (f
    . x)] from 
    CLASSES1:sch 1(
    A1);
    
      now
    
        let x be
    set;
    
        assume x
    in  
    NAT ; 
    
        then ex n st n
    = x & (n 
    <= k implies (f 
    . x) 
    = F(k,n)) & (n 
    > k implies (f 
    . x) 
    =  
    0c ) by 
    A6;
    
        hence (f
    . x) is 
    Element of 
    COMPLEX by 
    XCMPLX_0:def 2;
    
      end;
    
      then
    
      reconsider f as
    Complex_Sequence by 
    A5,
    COMSEQ_1: 1;
    
      take seq = f;
    
      let n;
    
      n
    in  
    NAT by 
    ORDINAL1:def 12;
    
      then
    P[n, (f
    . n)] by 
    A6;
    
      then ex l be
    Nat st l 
    = n & (l 
    <= k implies (seq 
    . n) 
    = F(k,l)) & (l 
    > k implies (seq 
    . n) 
    =  
    0c ); 
    
      hence thesis;
    
    end;
    
    scheme :: 
    
    SIN_COS:sch2
    
    ExRealCASE { F(
    Nat, 
    Nat) ->
    Real } : 
    
for k holds ex rseq st for n holds (n 
    <= k implies (rseq 
    . n) 
    = F(k,n)) & (n 
    > k implies (rseq 
    . n) 
    =  
    0 ); 
    
      let k;
    
      defpred
    
    P[
    object, 
    object] means ex n st (n
    = $1 & (n 
    <= k implies $2 
    = F(k,n)) & (n 
    > k implies $2 
    =  
    0 )); 
    
      
    
    A1: 
    
      now
    
        let x be
    object;
    
        assume x
    in  
    NAT ; 
    
        then
    
        consider n such that
    
        
    
    A2: n 
    = x; 
    
        
    
    A3: 
    
        now
    
          assume n
    <= k; 
    
          
    
          hence ((
    CHK (n,k)) 
    * F(k,n)) 
    = (1 
    * F(k,n)) by 
    Def1
    
          .= F(k,n);
    
        end;
    
        
    
    A4: 
    
        now
    
          assume n
    > k; 
    
          
    
          hence ((
    CHK (n,k)) 
    * F(k,n)) 
    = ( 
    0  
    * F(k,n)) by 
    Def1
    
          .=
    0 ; 
    
        end;
    
        reconsider y = ((
    CHK (n,k)) 
    * F(k,n)) as 
    object;
    
        take y;
    
        thus
    P[x, y] by
    A2,
    A3,
    A4;
    
      end;
    
      consider f be
    Function such that 
    
      
    
    A5: ( 
    dom f) 
    =  
    NAT and 
    
      
    
    A6: for x be 
    object st x 
    in  
    NAT holds 
    P[x, (f
    . x)] from 
    CLASSES1:sch 1(
    A1);
    
      now
    
        let x be
    object;
    
        assume x
    in  
    NAT ; 
    
        then ex n st n
    = x & (n 
    <= k implies (f 
    . x) 
    = F(k,n)) & (n 
    > k implies (f 
    . x) 
    =  
    0 ) by 
    A6;
    
        hence (f
    . x) is 
    real;
    
      end;
    
      then
    
      reconsider f as
    Real_Sequence by 
    A5,
    SEQ_1: 1;
    
      take rseq = f;
    
      let n;
    
      n
    in  
    NAT by 
    ORDINAL1:def 12;
    
      then ex l be
    Nat st l 
    = n & (l 
    <= k implies (rseq 
    . n) 
    = F(k,l)) & (l 
    > k implies (rseq 
    . n) 
    =  
    0 ) by 
    A6;
    
      hence thesis;
    
    end;
    
    1
    in  
    NAT ; 
    
    then
    
    reconsider jj = 1 as
    Element of 
    REAL by 
    NUMBERS: 19;
    
    definition
    
      :: 
    
    SIN_COS:def2
    
      func
    
    Prod_real_n -> 
    Real_Sequence means 
    
      :
    
    Def2: (it 
    .  
    0 ) 
    = 1 & for n holds (it 
    . (n 
    + 1)) 
    = ((it 
    . n) 
    * (n 
    + 1)); 
    
      existence
    
      proof
    
        deffunc
    
    U(
    Nat, 
    Real) = (
    In (($2 
    * ($1 
    + 1)), 
    REAL )); 
    
        consider f be
    sequence of 
    REAL such that 
    
        
    
    A1: (f 
    .  
    0 ) 
    = jj and 
    
        
    
    A2: for n be 
    Nat holds (f 
    . (n 
    + 1)) 
    =  
    U(n,.) from
    NAT_1:sch 12;
    
        take f;
    
        thus (f
    .  
    0 ) 
    = 1 by 
    A1;
    
        let n;
    
        
    
        thus (f
    . (n 
    + 1)) 
    =  
    U(n,.) by
    A2
    
        .= ((f
    . n) 
    * (n 
    + 1)); 
    
      end;
    
      uniqueness
    
      proof
    
        let rseq1, rseq2;
    
        assume that
    
        
    
    A3: (rseq1 
    .  
    0 ) 
    = 1 and 
    
        
    
    A4: for n holds (rseq1 
    . (n 
    + 1)) 
    = ((rseq1 
    . n) 
    * (n 
    + 1)) and 
    
        
    
    A5: (rseq2 
    .  
    0 ) 
    = 1 and 
    
        
    
    A6: for n holds (rseq2 
    . (n 
    + 1)) 
    = ((rseq2 
    . n) 
    * (n 
    + 1)); 
    
        defpred
    
    X[
    Nat] means (rseq1
    . $1) 
    = (rseq2 
    . $1); 
    
        
    
        
    
    A7: 
    X[
    0 ] by 
    A3,
    A5;
    
        
    
        
    
    A8: for k be 
    Nat st 
    X[k] holds
    X[(k
    + 1)] 
    
        proof
    
          let k be
    Nat;
    
          assume (rseq1
    . k) 
    = (rseq2 
    . k); 
    
          
    
          hence (rseq1
    . (k 
    + 1)) 
    = ((rseq2 
    . k) 
    * (k 
    + 1)) by 
    A4
    
          .= (rseq2
    . (k 
    + 1)) by 
    A6;
    
        end;
    
        for n be
    Nat holds 
    X[n] from
    NAT_1:sch 2(
    A7,
    A8);
    
        hence rseq1
    = rseq2; 
    
      end;
    
    end
    
    definition
    
      let n be
    Nat;
    
      :: original:
    !
    
      redefine
    
      :: 
    
    SIN_COS:def3
    
      func n
    
    ! equals ( 
    Prod_real_n  
    . n); 
    
      compatibility
    
      proof
    
        defpred
    
    X[
    Nat] means (
    Prod_real_n  
    . $1) 
    = ($1 
    ! ); 
    
        
    
        
    
    A1: 
    X[
    0 ] by 
    Def2,
    NEWTON: 12;
    
        
    
    A2: 
    
        now
    
          let l be
    Nat;
    
          assume
    
          
    
    A3: 
    X[l];
    
          (
    Prod_real_n  
    . (l 
    + 1)) 
    = (( 
    Prod_real_n  
    . l) 
    * (l 
    + 1)) by 
    Def2
    
          .= ((l
    + 1) 
    ! ) by 
    A3,
    NEWTON: 15;
    
          hence
    X[(l
    + 1)]; 
    
        end;
    
        for k be
    Nat holds 
    X[k] from
    NAT_1:sch 2(
    A1,
    A2);
    
        hence thesis;
    
      end;
    
    end
    
    definition
    
      let z be
    Complex;
    
      deffunc
    
    U(
    Nat) = ((z
    |^ $1) 
    / ($1 
    ! )); 
    
      :: 
    
    SIN_COS:def4
    
      func z
    
    ExpSeq -> 
    Complex_Sequence means 
    
      :
    
    Def4: for n holds (it 
    . n) 
    = ((z 
    |^ n) 
    / (n 
    ! )); 
    
      existence
    
      proof
    
        thus ex s be
    Complex_Sequence st for n holds (s 
    . n) 
    =  
    U(n) from
    COMSEQ_1:sch 1;
    
      end;
    
      uniqueness
    
      proof
    
        let s1,s2 be
    Complex_Sequence such that 
    
        
    
    A1: for x be 
    Nat holds (s1 
    . x) 
    =  
    U(x) and
    
        
    
    A2: for x be 
    Nat holds (s2 
    . x) 
    =  
    U(x);
    
        let x be
    Element of 
    NAT ; 
    
        
    
        thus (s1
    . x) 
    =  
    U(x) by
    A1
    
        .= (s2
    . x) by 
    A2;
    
      end;
    
    end
    
    definition
    
      let a be
    Real;
    
      deffunc
    
    U(
    Nat) = ((a
    |^ $1) 
    / ($1 
    ! )); 
    
      :: 
    
    SIN_COS:def5
    
      func a
    
    rExpSeq -> 
    Real_Sequence means 
    
      :
    
    Def5: for n holds (it 
    . n) 
    = ((a 
    |^ n) 
    / (n 
    ! )); 
    
      existence
    
      proof
    
        thus ex s be
    Real_Sequence st for n holds (s 
    . n) 
    =  
    U(n) from
    SEQ_1:sch 1;
    
      end;
    
      uniqueness
    
      proof
    
        let s1,s2 be
    Real_Sequence such that 
    
        
    
    A1: for x be 
    Nat holds (s1 
    . x) 
    =  
    U(x) and
    
        
    
    A2: for x be 
    Nat holds (s2 
    . x) 
    =  
    U(x);
    
        let x be
    Element of 
    NAT ; 
    
        
    
        thus (s1
    . x) 
    =  
    U(x) by
    A1
    
        .= (s2
    . x) by 
    A2;
    
      end;
    
    end
    
    theorem :: 
    
    SIN_COS:1
    
    
    
    
    
    Th1: ( 
    0  
    ! ) 
    = 1 & (n 
    ! ) 
    <>  
    0 & ((n 
    + 1) 
    ! ) 
    = ((n 
    ! ) 
    * (n 
    + 1)) by 
    Def2;
    
    theorem :: 
    
    SIN_COS:2
    
    
    
    
    
    Th2: ( 
    0  
    < k implies (((k 
    -' 1) 
    ! ) 
    * k) 
    = (k 
    ! )) & (k 
    <= m implies (((m 
    -' k) 
    ! ) 
    * ((m 
    + 1) 
    - k)) 
    = (((m 
    + 1) 
    -' k) 
    ! )) 
    
    proof
    
      
    
    A1: 
    
      now
    
        let k;
    
        assume
    0  
    < k; 
    
        then (
    0  
    + 1) 
    <= k by 
    INT_1: 7;
    
        
    
        then ((k
    -' 1) 
    + 1) 
    = ((k 
    - 1) 
    + 1) by 
    XREAL_1: 233
    
        .= k;
    
        hence (k
    ! ) 
    = (((k 
    -' 1) 
    ! ) 
    * k) by 
    Th1;
    
      end;
    
      now
    
        let m, k such that
    
        
    
    A2: k 
    <= m; 
    
        m
    <= (m 
    + 1) by 
    XREAL_1: 29;
    
        
    
        then ((m
    + 1) 
    -' k) 
    = ((m 
    + 1) 
    - k) by 
    A2,
    XREAL_1: 233,
    XXREAL_0: 2
    
        .= ((m
    - k) 
    + 1) 
    
        .= ((m
    -' k) 
    + 1) by 
    A2,
    XREAL_1: 233;
    
        
    
        hence (((m
    + 1) 
    -' k) 
    ! ) 
    = (((m 
    -' k) 
    ! ) 
    * (((m 
    -' k) 
    + 1) 
    + ( 
    0  
    *  
    <i> ))) by 
    Th1
    
        .= (((m
    -' k) 
    ! ) 
    * (((m 
    - k) 
    + 1) 
    + ( 
    0  
    *  
    <i> ))) by 
    A2,
    XREAL_1: 233
    
        .= (((m
    -' k) 
    ! ) 
    * ((m 
    + 1) 
    - k)); 
    
      end;
    
      hence thesis by
    A1;
    
    end;
    
    definition
    
      let n be
    Nat;
    
      :: 
    
    SIN_COS:def6
    
      func
    
    Coef (n) -> 
    Complex_Sequence means 
    
      :
    
    Def6: for k be 
    Nat holds (k 
    <= n implies (it 
    . k) 
    = ((n 
    ! ) 
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! )))) & (k 
    > n implies (it 
    . k) 
    =  
    0 ); 
    
      existence
    
      proof
    
        deffunc
    
    U(
    Nat, 
    Nat) = (($1
    ! ) 
    / (($2 
    ! ) 
    * (($1 
    -' $2) 
    ! ))); 
    
        for n holds ex seq st for k holds (k
    <= n implies (seq 
    . k) 
    =  
    U(n,k)) & (k
    > n implies (seq 
    . k) 
    =  
    0 ) from 
    ExComplexCASE;
    
        hence thesis;
    
      end;
    
      uniqueness
    
      proof
    
        let seq1, seq2;
    
        assume that
    
        
    
    A1: for k holds (k 
    <= n implies (seq1 
    . k) 
    = ((n 
    ! ) 
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! )))) & (k 
    > n implies (seq1 
    . k) 
    =  
    0 ) and 
    
        
    
    A2: for k holds (k 
    <= n implies (seq2 
    . k) 
    = ((n 
    ! ) 
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! )))) & (k 
    > n implies (seq2 
    . k) 
    =  
    0 ); 
    
        now
    
          let k be
    Element of 
    NAT ; 
    
          per cases ;
    
            suppose
    
            
    
    A3: k 
    <= n; 
    
            
    
            hence (seq1
    . k) 
    = ((n 
    ! ) 
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! ))) by 
    A1
    
            .= (seq2
    . k) by 
    A2,
    A3;
    
          end;
    
            suppose
    
            
    
    A4: k 
    > n; 
    
            
    
            hence (seq1
    . k) 
    =  
    0c by 
    A1
    
            .= (seq2
    . k) by 
    A2,
    A4;
    
          end;
    
        end;
    
        hence seq1
    = seq2; 
    
      end;
    
    end
    
    definition
    
      let n be
    Nat;
    
      :: 
    
    SIN_COS:def7
    
      func
    
    Coef_e (n) -> 
    Complex_Sequence means 
    
      :
    
    Def7: for k be 
    Nat holds (k 
    <= n implies (it 
    . k) 
    = ( 
    1r  
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! )))) & (k 
    > n implies (it 
    . k) 
    =  
    0 ); 
    
      existence
    
      proof
    
        deffunc
    
    U(
    Nat, 
    Nat) = (
    1r  
    / (($2 
    ! ) 
    * (($1 
    -' $2) 
    ! ))); 
    
        for n holds ex seq st for k holds (k
    <= n implies (seq 
    . k) 
    =  
    U(n,k)) & (k
    > n implies (seq 
    . k) 
    =  
    0 ) from 
    ExComplexCASE;
    
        hence thesis;
    
      end;
    
      uniqueness
    
      proof
    
        let seq1, seq2;
    
        assume that
    
        
    
    A1: for k holds (k 
    <= n implies (seq1 
    . k) 
    = ( 
    1r  
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! )))) & (k 
    > n implies (seq1 
    . k) 
    =  
    0 ) and 
    
        
    
    A2: for k holds (k 
    <= n implies (seq2 
    . k) 
    = ( 
    1r  
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! )))) & (k 
    > n implies (seq2 
    . k) 
    =  
    0 ); 
    
        now
    
          let k be
    Element of 
    NAT ; 
    
          per cases ;
    
            suppose
    
            
    
    A3: k 
    <= n; 
    
            
    
            hence (seq1
    . k) 
    = ( 
    1r  
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! ))) by 
    A1
    
            .= (seq2
    . k) by 
    A2,
    A3;
    
          end;
    
            suppose
    
            
    
    A4: k 
    > n; 
    
            
    
            hence (seq1
    . k) 
    =  
    0c by 
    A1
    
            .= (seq2
    . k) by 
    A2,
    A4;
    
          end;
    
        end;
    
        hence seq1
    = seq2; 
    
      end;
    
    end
    
    definition
    
      let seq;
    
      :: 
    
    SIN_COS:def8
    
      func
    
    Shift seq -> 
    Complex_Sequence means 
    
      :
    
    Def8: (it 
    .  
    0 ) 
    =  
    0 & for k be 
    Nat holds (it 
    . (k 
    + 1)) 
    = (seq 
    . k); 
    
      existence
    
      proof
    
        deffunc
    
    U(
    Nat, 
    Element of 
    COMPLEX ) = (seq 
    . $1); 
    
        consider f be
    sequence of 
    COMPLEX such that 
    
        
    
    A1: (f 
    .  
    0 ) 
    =  
    0c & for n be 
    Nat holds (f 
    . (n 
    + 1)) 
    =  
    U(n,.) from
    NAT_1:sch 12;
    
        take f;
    
        thus thesis by
    A1;
    
      end;
    
      uniqueness
    
      proof
    
        let seq1, seq2;
    
        assume that
    
        
    
    A2: (seq1 
    .  
    0 ) 
    =  
    0 and 
    
        
    
    A3: for n holds (seq1 
    . (n 
    + 1)) 
    = (seq 
    . n) and 
    
        
    
    A4: (seq2 
    .  
    0 ) 
    =  
    0 and 
    
        
    
    A5: for n holds (seq2 
    . (n 
    + 1)) 
    = (seq 
    . n); 
    
        defpred
    
    X[
    Nat] means (seq1
    . $1) 
    = (seq2 
    . $1); 
    
        
    
        
    
    A6: 
    X[
    0 ] by 
    A2,
    A4;
    
        
    
        
    
    A7: for k be 
    Nat st 
    X[k] holds
    X[(k
    + 1)] 
    
        proof
    
          let k be
    Nat;
    
          assume (seq1
    . k) 
    = (seq2 
    . k); 
    
          
    
          thus (seq1
    . (k 
    + 1)) 
    = (seq 
    . k) by 
    A3
    
          .= (seq2
    . (k 
    + 1)) by 
    A5;
    
        end;
    
        for n be
    Nat holds 
    X[n] from
    NAT_1:sch 2(
    A6,
    A7);
    
        hence seq1
    = seq2; 
    
      end;
    
    end
    
    definition
    
      let n;
    
      let z,w be
    Complex;
    
      :: 
    
    SIN_COS:def9
    
      func
    
    Expan (n,z,w) -> 
    Complex_Sequence means 
    
      :
    
    Def9: for k be 
    Nat holds (k 
    <= n implies (it 
    . k) 
    = (((( 
    Coef n) 
    . k) 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k)))) & (n 
    < k implies (it 
    . k) 
    =  
    0 ); 
    
      existence
    
      proof
    
        deffunc
    
    U(
    Nat, 
    Nat) = ((((
    Coef $1) 
    . $2) 
    * (z 
    |^ $2)) 
    * (w 
    |^ ($1 
    -' $2))); 
    
        for n holds ex seq st for k holds (k
    <= n implies (seq 
    . k) 
    =  
    U(n,k)) & (k
    > n implies (seq 
    . k) 
    =  
    0 ) from 
    ExComplexCASE;
    
        hence thesis;
    
      end;
    
      uniqueness
    
      proof
    
        let seq1, seq2;
    
        assume that
    
        
    
    A1: for k holds (k 
    <= n implies (seq1 
    . k) 
    = (((( 
    Coef n) 
    . k) 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k)))) & (k 
    > n implies (seq1 
    . k) 
    =  
    0 ) and 
    
        
    
    A2: for k holds (k 
    <= n implies (seq2 
    . k) 
    = (((( 
    Coef n) 
    . k) 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k)))) & (k 
    > n implies (seq2 
    . k) 
    =  
    0 ); 
    
        now
    
          let k be
    Element of 
    NAT ; 
    
          per cases ;
    
            suppose
    
            
    
    A3: k 
    <= n; 
    
            
    
            hence (seq1
    . k) 
    = (((( 
    Coef n) 
    . k) 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k))) by 
    A1
    
            .= (seq2
    . k) by 
    A2,
    A3;
    
          end;
    
            suppose
    
            
    
    A4: k 
    > n; 
    
            
    
            hence (seq1
    . k) 
    =  
    0c by 
    A1
    
            .= (seq2
    . k) by 
    A2,
    A4;
    
          end;
    
        end;
    
        hence seq1
    = seq2; 
    
      end;
    
    end
    
    definition
    
      let n;
    
      let z,w be
    Complex;
    
      :: 
    
    SIN_COS:def10
    
      func
    
    Expan_e (n,z,w) -> 
    Complex_Sequence means 
    
      :
    
    Def10: for k be 
    Nat holds (k 
    <= n implies (it 
    . k) 
    = (((( 
    Coef_e n) 
    . k) 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k)))) & (n 
    < k implies (it 
    . k) 
    =  
    0 ); 
    
      existence
    
      proof
    
        deffunc
    
    U(
    Nat, 
    Nat) = ((((
    Coef_e $1) 
    . $2) 
    * (z 
    |^ $2)) 
    * (w 
    |^ ($1 
    -' $2))); 
    
        for n holds ex seq st for k holds (k
    <= n implies (seq 
    . k) 
    =  
    U(n,k)) & (k
    > n implies (seq 
    . k) 
    =  
    0 ) from 
    ExComplexCASE;
    
        hence thesis;
    
      end;
    
      uniqueness
    
      proof
    
        let seq1, seq2;
    
        assume that
    
        
    
    A1: for k holds (k 
    <= n implies (seq1 
    . k) 
    = (((( 
    Coef_e n) 
    . k) 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k)))) & (k 
    > n implies (seq1 
    . k) 
    =  
    0 ) and 
    
        
    
    A2: for k holds (k 
    <= n implies (seq2 
    . k) 
    = (((( 
    Coef_e n) 
    . k) 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k)))) & (k 
    > n implies (seq2 
    . k) 
    =  
    0 ); 
    
        now
    
          let k be
    Element of 
    NAT ; 
    
          per cases ;
    
            suppose
    
            
    
    A3: k 
    <= n; 
    
            
    
            hence (seq1
    . k) 
    = (((( 
    Coef_e n) 
    . k) 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k))) by 
    A1
    
            .= (seq2
    . k) by 
    A2,
    A3;
    
          end;
    
            suppose
    
            
    
    A4: k 
    > n; 
    
            
    
            hence (seq1
    . k) 
    =  
    0c by 
    A1
    
            .= (seq2
    . k) by 
    A2,
    A4;
    
          end;
    
        end;
    
        hence seq1
    = seq2; 
    
      end;
    
    end
    
    definition
    
      let n;
    
      let z,w be
    Complex;
    
      :: 
    
    SIN_COS:def11
    
      func
    
    Alfa (n,z,w) -> 
    Complex_Sequence means 
    
      :
    
    Def11: for k be 
    Nat holds (k 
    <= n implies (it 
    . k) 
    = (((z 
    ExpSeq ) 
    . k) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (n 
    -' k)))) & (n 
    < k implies (it 
    . k) 
    =  
    0 ); 
    
      existence
    
      proof
    
        deffunc
    
    U(
    Nat, 
    Nat) = (((z
    ExpSeq ) 
    . $2) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    . ($1 
    -' $2))); 
    
        for n holds ex seq st for k holds (k
    <= n implies (seq 
    . k) 
    =  
    U(n,k)) & (k
    > n implies (seq 
    . k) 
    =  
    0 ) from 
    ExComplexCASE;
    
        hence thesis;
    
      end;
    
      uniqueness
    
      proof
    
        let seq1, seq2;
    
        assume that
    
        
    
    A1: for k holds (k 
    <= n implies (seq1 
    . k) 
    = (((z 
    ExpSeq ) 
    . k) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (n 
    -' k)))) & (k 
    > n implies (seq1 
    . k) 
    =  
    0 ) and 
    
        
    
    A2: for k holds (k 
    <= n implies (seq2 
    . k) 
    = (((z 
    ExpSeq ) 
    . k) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (n 
    -' k)))) & (k 
    > n implies (seq2 
    . k) 
    =  
    0 ); 
    
        now
    
          let k be
    Element of 
    NAT ; 
    
          per cases ;
    
            suppose
    
            
    
    A3: k 
    <= n; 
    
            
    
            hence (seq1
    . k) 
    = (((z 
    ExpSeq ) 
    . k) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (n 
    -' k))) by 
    A1
    
            .= (seq2
    . k) by 
    A2,
    A3;
    
          end;
    
            suppose
    
            
    
    A4: k 
    > n; 
    
            
    
            hence (seq1
    . k) 
    =  
    0c by 
    A1
    
            .= (seq2
    . k) by 
    A2,
    A4;
    
          end;
    
        end;
    
        hence seq1
    = seq2; 
    
      end;
    
    end
    
    definition
    
      let a,b be
    Real;
    
      let n be
    Nat;
    
      :: 
    
    SIN_COS:def12
    
      func
    
    Conj (n,a,b) -> 
    Real_Sequence means for k be 
    Nat holds (k 
    <= n implies (it 
    . k) 
    = (((a 
    rExpSeq ) 
    . k) 
    * ((( 
    Partial_Sums (b 
    rExpSeq )) 
    . n) 
    - (( 
    Partial_Sums (b 
    rExpSeq )) 
    . (n 
    -' k))))) & (n 
    < k implies (it 
    . k) 
    =  
    0 ); 
    
      existence
    
      proof
    
        deffunc
    
    U(
    Nat, 
    Nat) = (((a
    rExpSeq ) 
    . $2) 
    * ((( 
    Partial_Sums (b 
    rExpSeq )) 
    . $1) 
    - (( 
    Partial_Sums (b 
    rExpSeq )) 
    . ($1 
    -' $2)))); 
    
        for n holds ex rseq st for k holds (k
    <= n implies (rseq 
    . k) 
    =  
    U(n,k)) & (k
    > n implies (rseq 
    . k) 
    =  
    0 ) from 
    ExRealCASE;
    
        hence thesis;
    
      end;
    
      uniqueness
    
      proof
    
        let rseq1, rseq2;
    
        assume that
    
        
    
    A1: for k holds (k 
    <= n implies (rseq1 
    . k) 
    = (((a 
    rExpSeq ) 
    . k) 
    * ((( 
    Partial_Sums (b 
    rExpSeq )) 
    . n) 
    - (( 
    Partial_Sums (b 
    rExpSeq )) 
    . (n 
    -' k))))) & (k 
    > n implies (rseq1 
    . k) 
    =  
    0 ) and 
    
        
    
    A2: for k holds (k 
    <= n implies (rseq2 
    . k) 
    = (((a 
    rExpSeq ) 
    . k) 
    * ((( 
    Partial_Sums (b 
    rExpSeq )) 
    . n) 
    - (( 
    Partial_Sums (b 
    rExpSeq )) 
    . (n 
    -' k))))) & (k 
    > n implies (rseq2 
    . k) 
    =  
    0 ); 
    
        now
    
          let k be
    Element of 
    NAT ; 
    
          per cases ;
    
            suppose
    
            
    
    A3: k 
    <= n; 
    
            
    
            hence (rseq1
    . k) 
    = (((a 
    rExpSeq ) 
    . k) 
    * ((( 
    Partial_Sums (b 
    rExpSeq )) 
    . n) 
    - (( 
    Partial_Sums (b 
    rExpSeq )) 
    . (n 
    -' k)))) by 
    A1
    
            .= (rseq2
    . k) by 
    A2,
    A3;
    
          end;
    
            suppose
    
            
    
    A4: k 
    > n; 
    
            
    
            hence (rseq1
    . k) 
    =  
    0 by 
    A1
    
            .= (rseq2
    . k) by 
    A2,
    A4;
    
          end;
    
        end;
    
        hence rseq1
    = rseq2; 
    
      end;
    
    end
    
    definition
    
      let z,w be
    Complex;
    
      let n be
    Nat;
    
      :: 
    
    SIN_COS:def13
    
      func
    
    Conj (n,z,w) -> 
    Complex_Sequence means 
    
      :
    
    Def13: for k be 
    Nat holds (k 
    <= n implies (it 
    . k) 
    = (((z 
    ExpSeq ) 
    . k) 
    * ((( 
    Partial_Sums (w 
    ExpSeq )) 
    . n) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (n 
    -' k))))) & (n 
    < k implies (it 
    . k) 
    =  
    0 ); 
    
      existence
    
      proof
    
        deffunc
    
    U(
    Nat, 
    Nat) = (((z
    ExpSeq ) 
    . $2) 
    * ((( 
    Partial_Sums (w 
    ExpSeq )) 
    . $1) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . ($1 
    -' $2)))); 
    
        for n holds ex seq st for k holds (k
    <= n implies (seq 
    . k) 
    =  
    U(n,k)) & (k
    > n implies (seq 
    . k) 
    =  
    0 ) from 
    ExComplexCASE;
    
        hence thesis;
    
      end;
    
      uniqueness
    
      proof
    
        let seq1, seq2;
    
        assume that
    
        
    
    A1: for k holds (k 
    <= n implies (seq1 
    . k) 
    = (((z 
    ExpSeq ) 
    . k) 
    * ((( 
    Partial_Sums (w 
    ExpSeq )) 
    . n) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (n 
    -' k))))) & (k 
    > n implies (seq1 
    . k) 
    =  
    0 ) and 
    
        
    
    A2: for k holds (k 
    <= n implies (seq2 
    . k) 
    = (((z 
    ExpSeq ) 
    . k) 
    * ((( 
    Partial_Sums (w 
    ExpSeq )) 
    . n) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (n 
    -' k))))) & (k 
    > n implies (seq2 
    . k) 
    =  
    0 ); 
    
        now
    
          let k be
    Element of 
    NAT ; 
    
          per cases ;
    
            suppose
    
            
    
    A3: k 
    <= n; 
    
            
    
            hence (seq1
    . k) 
    = (((z 
    ExpSeq ) 
    . k) 
    * ((( 
    Partial_Sums (w 
    ExpSeq )) 
    . n) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (n 
    -' k)))) by 
    A1
    
            .= (seq2
    . k) by 
    A2,
    A3;
    
          end;
    
            suppose
    
            
    
    A4: k 
    > n; 
    
            
    
            hence (seq1
    . k) 
    =  
    0c by 
    A1
    
            .= (seq2
    . k) by 
    A2,
    A4;
    
          end;
    
        end;
    
        hence seq1
    = seq2; 
    
      end;
    
    end
    
    
    
    
    
    Lm1: for p1,p2,g1,g2 be 
    Real holds ((p1 
    + (g1 
    *  
    <i> )) 
    * (p2 
    + (g2 
    *  
    <i> ))) 
    = (((p1 
    * p2) 
    - (g1 
    * g2)) 
    + (((p1 
    * g2) 
    + (p2 
    * g1)) 
    *  
    <i> )) & ((p2 
    + (g2 
    *  
    <i> )) 
    *' ) 
    = (p2 
    + (( 
    - g2) 
    *  
    <i> )) 
    
    proof
    
      let p1,p2,g1,g2 be
    Real;
    
      thus ((p1
    + (g1 
    *  
    <i> )) 
    * (p2 
    + (g2 
    *  
    <i> ))) 
    = (((p1 
    * p2) 
    - (g1 
    * g2)) 
    + (((p1 
    * g2) 
    + (p2 
    * g1)) 
    *  
    <i> )); 
    
      
    
      thus ((p2
    + (g2 
    *  
    <i> )) 
    *' ) 
    = (p2 
    - (( 
    Im (p2 
    + (g2 
    *  
    <i> ))) 
    *  
    <i> )) by 
    COMPLEX1: 12
    
      .= (p2
    - (g2 
    *  
    <i> )) by 
    COMPLEX1: 12
    
      .= (p2
    + (( 
    - g2) 
    *  
    <i> )); 
    
    end;
    
    theorem :: 
    
    SIN_COS:3
    
    
    
    
    
    Th3: for z be 
    Complex holds ((z 
    ExpSeq ) 
    . (n 
    + 1)) 
    = ((((z 
    ExpSeq ) 
    . n) 
    * z) 
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> ))) & ((z 
    ExpSeq ) 
    .  
    0 ) 
    = 1 & 
    |.((z
    ExpSeq ) 
    . n).| 
    = (( 
    |.z.|
    rExpSeq ) 
    . n) 
    
    proof
    
      let z be
    Complex;
    
      
    
    A1: 
    
      now
    
        let n be
    Nat;
    
        
    
        thus ((z
    ExpSeq ) 
    . (n 
    + 1)) 
    = ((z 
    |^ (n 
    + 1)) 
    / ((n 
    + 1) 
    ! )) by 
    Def4
    
        .= ((((z
    GeoSeq ) 
    . n) 
    * z) 
    / ((n 
    + 1) 
    ! )) by 
    COMSEQ_3:def 1
    
        .= (((z
    |^ n) 
    * z) 
    / ((n 
    ! ) 
    * ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> )))) by 
    Th1
    
        .= (((z
    |^ n) 
    / (n 
    ! )) 
    * (z 
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> )))) by 
    XCMPLX_1: 76
    
        .= ((((z
    |^ n) 
    / (n 
    ! )) 
    * z) 
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> ))) 
    
        .= ((((z
    ExpSeq ) 
    . n) 
    * z) 
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> ))) by 
    Def4;
    
      end;
    
      
    
      
    
    A2: ((z 
    ExpSeq ) 
    .  
    0 ) 
    = ((z 
    |^  
    0 ) 
    / ( 
    0  
    ! )) by 
    Def4
    
      .= 1 by
    Th1,
    COMSEQ_3:def 1;
    
      defpred
    
    X[
    Nat] means
    |.((z
    ExpSeq ) 
    . $1).| 
    = (( 
    |.z.|
    rExpSeq ) 
    . $1); 
    
      ((
    |.z.|
    rExpSeq ) 
    .  
    0 ) 
    = (( 
    |.z.|
    |^  
    0 ) 
    / ( 
    0  
    ! )) by 
    Def5
    
      .= (1
    / ( 
    Prod_real_n  
    .  
    0 )) by 
    NEWTON: 4
    
      .= (1
    / 1) by 
    Def2
    
      .= 1;
    
      then
    
      
    
    A3: 
    X[
    0 ] by 
    A2,
    COMPLEX1: 48;
    
      
    
    A4: 
    
      now
    
        let n such that
    
        
    
    A5: 
    X[n];
    
        
    
        
    
    A6: 
    |.((n
    + 1) 
    + ( 
    0  
    *  
    <i> )).| 
    = (n 
    + 1) by 
    ABSVALUE:def 1;
    
        
    |.((z
    ExpSeq ) 
    . (n 
    + 1)).| 
    =  
    |.((((z
    ExpSeq ) 
    . n) 
    * z) 
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> ))).| by 
    A1
    
        .= (
    |.(((z
    ExpSeq ) 
    . n) 
    * z).| 
    /  
    |.((n
    + 1) 
    + ( 
    0  
    *  
    <i> )).|) by 
    COMPLEX1: 67
    
        .= ((((
    |.z.|
    rExpSeq ) 
    . n) 
    *  
    |.z.|)
    /  
    |.((n
    + 1) 
    + ( 
    0  
    *  
    <i> )).|) by 
    A5,
    COMPLEX1: 65
    
        .= ((((
    |.z.|
    |^ n) 
    / (n 
    ! )) 
    *  
    |.z.|)
    /  
    |.((n
    + 1) 
    + ( 
    0  
    *  
    <i> )).|) by 
    Def5
    
        .= (((
    |.z.|
    |^ n) 
    *  
    |.z.|)
    / ((n 
    ! ) 
    *  
    |.((n
    + 1) 
    + ( 
    0  
    *  
    <i> )).|)) by 
    XCMPLX_1: 83
    
        .= (((
    |.z.|
    |^ n) 
    *  
    |.z.|)
    / ((n 
    + 1) 
    ! )) by 
    A6,
    NEWTON: 15
    
        .= ((
    |.z.|
    |^ (n 
    + 1)) 
    / ((n 
    + 1) 
    ! )) by 
    NEWTON: 6
    
        .= ((
    |.z.|
    rExpSeq ) 
    . (n 
    + 1)) by 
    Def5;
    
        hence
    X[(n
    + 1)]; 
    
      end;
    
      for n holds
    X[n] from
    NAT_1:sch 2(
    A3,
    A4);
    
      hence thesis by
    A1,
    A2;
    
    end;
    
    theorem :: 
    
    SIN_COS:4
    
    
    
    
    
    Th4: 
    0  
    < k implies (( 
    Shift seq) 
    . k) 
    = (seq 
    . (k 
    -' 1)) 
    
    proof
    
      assume
    
      
    
    A1: 
    0  
    < k; 
    
      
    
      
    
    A2: ( 
    0  
    + 1) 
    <= k by 
    INT_1: 7,
    A1;
    
      consider m be
    Nat such that 
    
      
    
    A3: (m 
    + 1) 
    = k by 
    A1,
    NAT_1: 6;
    
      
    
      
    
    A4: m 
    = (k 
    - 1) by 
    A3;
    
      
    
      thus ((
    Shift seq) 
    . k) 
    = (seq 
    . m) by 
    A3,
    Def8
    
      .= (seq
    . (k 
    -' 1)) by 
    A2,
    A4,
    XREAL_1: 233;
    
    end;
    
    theorem :: 
    
    SIN_COS:5
    
    
    
    
    
    Th5: (( 
    Partial_Sums seq) 
    . k) 
    = ((( 
    Partial_Sums ( 
    Shift seq)) 
    . k) 
    + (seq 
    . k)) 
    
    proof
    
      defpred
    
    X[
    Nat] means ((
    Partial_Sums seq) 
    . $1) 
    = ((( 
    Partial_Sums ( 
    Shift seq)) 
    . $1) 
    + (seq 
    . $1)); 
    
      ((
    Partial_Sums seq) 
    .  
    0 ) 
    = ( 
    0c  
    + (seq 
    .  
    0 )) by 
    SERIES_1:def 1
    
      .= (((
    Shift seq) 
    .  
    0 ) 
    + (seq 
    .  
    0 )) by 
    Def8
    
      .= (((
    Partial_Sums ( 
    Shift seq)) 
    .  
    0 ) 
    + (seq 
    .  
    0 )) by 
    SERIES_1:def 1;
    
      then
    
      
    
    A1: 
    X[
    0 ]; 
    
      
    
      
    
    A2: for k st 
    X[k] holds
    X[(k
    + 1)] 
    
      proof
    
        let k such that
    
        
    
    A3: (( 
    Partial_Sums seq) 
    . k) 
    = ((( 
    Partial_Sums ( 
    Shift seq)) 
    . k) 
    + (seq 
    . k)); 
    
        
    
        thus ((
    Partial_Sums seq) 
    . (k 
    + 1)) 
    = (((( 
    Partial_Sums ( 
    Shift seq)) 
    . k) 
    + (seq 
    . k)) 
    + (seq 
    . (k 
    + 1))) by 
    A3,
    SERIES_1:def 1
    
        .= ((((
    Partial_Sums ( 
    Shift seq)) 
    . k) 
    + (( 
    Shift seq) 
    . (k 
    + 1))) 
    + (seq 
    . (k 
    + 1))) by 
    Def8
    
        .= (((
    Partial_Sums ( 
    Shift seq)) 
    . (k 
    + 1)) 
    + (seq 
    . (k 
    + 1))) by 
    SERIES_1:def 1;
    
      end;
    
      for k holds
    X[k] from
    NAT_1:sch 2(
    A1,
    A2);
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:6
    
    
    
    
    
    Th6: ((z 
    + w) 
    |^ n) 
    = (( 
    Partial_Sums ( 
    Expan (n,z,w))) 
    . n) 
    
    proof
    
      
    
      
    
    A1: ( 
    0  
    -'  
    0 ) 
    =  
    0 by 
    XREAL_1: 232;
    
      defpred
    
    X[
    Nat] means ((z
    + w) 
    |^ $1) 
    = (( 
    Partial_Sums ( 
    Expan ($1,z,w))) 
    . $1); 
    
      ((
    Partial_Sums ( 
    Expan ( 
    0 ,z,w))) 
    .  
    0 ) 
    = (( 
    Expan ( 
    0 ,z,w)) 
    .  
    0 ) by 
    SERIES_1:def 1
    
      .= ((((
    Coef  
    0 ) 
    .  
    0 ) 
    * (z 
    |^  
    0 )) 
    * (w 
    |^  
    0 )) by 
    A1,
    Def9
    
      .= (((1
    / (1 
    * 1)) 
    * (z 
    |^  
    0 )) 
    * (w 
    |^  
    0 )) by 
    A1,
    Def6,
    Th1
    
      .= (
    1r  
    * ((w 
    GeoSeq ) 
    .  
    0 )) by 
    COMSEQ_3:def 1
    
      .=
    1r by 
    COMSEQ_3:def 1;
    
      then
    
      
    
    A2: 
    X[
    0 ] by 
    COMSEQ_3:def 1;
    
      
    
      
    
    A3: for n st 
    X[n] holds
    X[(n
    + 1)] 
    
      proof
    
        let n such that
    
        
    
    A4: ((z 
    + w) 
    |^ n) 
    = (( 
    Partial_Sums ( 
    Expan (n,z,w))) 
    . n); 
    
        
    
        
    
    A5: n 
    in  
    NAT by 
    ORDINAL1:def 12;
    
        
    
        
    
    A6: ((z 
    + w) 
    |^ (n 
    + 1)) 
    = ((((z 
    + w) 
    GeoSeq ) 
    . n) 
    * (z 
    + w)) by 
    COMSEQ_3:def 1
    
        .= (((z
    + w) 
    (#) ( 
    Partial_Sums ( 
    Expan (n,z,w)))) 
    . n) by 
    A4,
    VALUED_1: 6
    
        .= ((
    Partial_Sums ((z 
    + w) 
    (#) ( 
    Expan (n,z,w)))) 
    . n) by 
    COMSEQ_3: 29;
    
        now
    
          let k be
    Element of 
    NAT ; 
    
          
    
          thus (((z
    + w) 
    (#) ( 
    Expan (n,z,w))) 
    . k) 
    = ((z 
    + w) 
    * (( 
    Expan (n,z,w)) 
    . k)) by 
    VALUED_1: 6
    
          .= ((z
    * (( 
    Expan (n,z,w)) 
    . k)) 
    + (w 
    * (( 
    Expan (n,z,w)) 
    . k))) 
    
          .= (((z
    (#) ( 
    Expan (n,z,w))) 
    . k) 
    + (w 
    * (( 
    Expan (n,z,w)) 
    . k))) by 
    VALUED_1: 6
    
          .= (((z
    (#) ( 
    Expan (n,z,w))) 
    . k) 
    + ((w 
    (#) ( 
    Expan (n,z,w))) 
    . k)) by 
    VALUED_1: 6
    
          .= (((z
    (#) ( 
    Expan (n,z,w))) 
    + (w 
    (#) ( 
    Expan (n,z,w)))) 
    . k) by 
    VALUED_1: 1;
    
        end;
    
        then ((z
    + w) 
    (#) ( 
    Expan (n,z,w))) 
    = ((z 
    (#) ( 
    Expan (n,z,w))) 
    + (w 
    (#) ( 
    Expan (n,z,w)))); 
    
        
    
        then
    
        
    
    A7: ((z 
    + w) 
    |^ (n 
    + 1)) 
    = ((( 
    Partial_Sums (z 
    (#) ( 
    Expan (n,z,w)))) 
    + ( 
    Partial_Sums (w 
    (#) ( 
    Expan (n,z,w))))) 
    . n) by 
    A6,
    COMSEQ_3: 27
    
        .= (((
    Partial_Sums (z 
    (#) ( 
    Expan (n,z,w)))) 
    . n) 
    + (( 
    Partial_Sums (w 
    (#) ( 
    Expan (n,z,w)))) 
    . n)) by 
    VALUED_1: 1,
    A5;
    
        
    
        
    
    A8: (( 
    Partial_Sums (z 
    (#) ( 
    Expan (n,z,w)))) 
    . (n 
    + 1)) 
    = ((( 
    Partial_Sums (z 
    (#) ( 
    Expan (n,z,w)))) 
    . n) 
    + ((z 
    (#) ( 
    Expan (n,z,w))) 
    . (n 
    + 1))) by 
    SERIES_1:def 1
    
        .= (((
    Partial_Sums (z 
    (#) ( 
    Expan (n,z,w)))) 
    . n) 
    + (z 
    * (( 
    Expan (n,z,w)) 
    . (n 
    + 1)))) by 
    VALUED_1: 6;
    
        n
    < (n 
    + 1) by 
    XREAL_1: 29;
    
        then
    
        
    
    A9: (( 
    Expan (n,z,w)) 
    . (n 
    + 1)) 
    =  
    0c by 
    Def9;
    
        
    
        
    
    A10: (( 
    Partial_Sums (w 
    (#) ( 
    Expan (n,z,w)))) 
    . (n 
    + 1)) 
    = ((( 
    Partial_Sums (w 
    (#) ( 
    Expan (n,z,w)))) 
    . n) 
    + ((w 
    (#) ( 
    Expan (n,z,w))) 
    . (n 
    + 1))) by 
    SERIES_1:def 1
    
        .= (((
    Partial_Sums (w 
    (#) ( 
    Expan (n,z,w)))) 
    . n) 
    + (w 
    * (( 
    Expan (n,z,w)) 
    . (n 
    + 1)))) by 
    VALUED_1: 6;
    
        
    
        
    
    A11: (( 
    Partial_Sums (z 
    (#) ( 
    Expan (n,z,w)))) 
    . (n 
    + 1)) 
    = ((( 
    Partial_Sums ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . (n 
    + 1)) 
    + ((z 
    (#) ( 
    Expan (n,z,w))) 
    . (n 
    + 1))) by 
    Th5;
    
        (
    0  
    + n) 
    < (n 
    + 1) by 
    XREAL_1: 29;
    
        then ((
    Expan (n,z,w)) 
    . (n 
    + 1)) 
    =  
    0c by 
    Def9;
    
        then (z
    * (( 
    Expan (n,z,w)) 
    . (n 
    + 1))) 
    =  
    0c ; 
    
        
    
        then
    
        
    
    A12: (( 
    Partial_Sums (z 
    (#) ( 
    Expan (n,z,w)))) 
    . (n 
    + 1)) 
    = ((( 
    Partial_Sums ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . (n 
    + 1)) 
    +  
    0c ) by 
    A11,
    VALUED_1: 6
    
        .= ((
    Partial_Sums ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . (n 
    + 1)); 
    
        now
    
          let k be
    Element of 
    NAT ; 
    
          
    
    A13: 
    
          now
    
            assume
    
            
    
    A14: (n 
    + 1) 
    < k; 
    
            
    
            
    
    A15: ( 
    0  
    + 1) 
    <= (n 
    + 1) by 
    XREAL_1: 6;
    
            
    
            
    
    A16: ((n 
    + 1) 
    - 1) 
    < (k 
    - 1) by 
    A14,
    XREAL_1: 9;
    
            then
    
            
    
    A17: (n 
    +  
    0 ) 
    < ((k 
    - 1) 
    + 1) by 
    XREAL_1: 8;
    
            
    
            
    
    A18: (k 
    - 1) 
    = (k 
    -' 1) by 
    A14,
    A15,
    XREAL_1: 233,
    XXREAL_0: 2;
    
            (((w
    (#) ( 
    Expan (n,z,w))) 
    + ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . k) 
    = (((w 
    (#) ( 
    Expan (n,z,w))) 
    . k) 
    + (( 
    Shift (z 
    (#) ( 
    Expan (n,z,w)))) 
    . k)) by 
    VALUED_1: 1
    
            .= ((w
    * (( 
    Expan (n,z,w)) 
    . k)) 
    + (( 
    Shift (z 
    (#) ( 
    Expan (n,z,w)))) 
    . k)) by 
    VALUED_1: 6
    
            .= ((w
    * (( 
    Expan (n,z,w)) 
    . k)) 
    + ((z 
    (#) ( 
    Expan (n,z,w))) 
    . (k 
    -' 1))) by 
    A17,
    Th4
    
            .= ((w
    * (( 
    Expan (n,z,w)) 
    . k)) 
    + (z 
    * (( 
    Expan (n,z,w)) 
    . (k 
    -' 1)))) by 
    VALUED_1: 6
    
            .= ((w
    *  
    0c ) 
    + (z 
    * (( 
    Expan (n,z,w)) 
    . (k 
    -' 1)))) by 
    A17,
    Def9
    
            .= (
    0c  
    + (z 
    *  
    0c )) by 
    A16,
    A18,
    Def9
    
            .=
    0c ; 
    
            hence (((w
    (#) ( 
    Expan (n,z,w))) 
    + ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . k) 
    = (( 
    Expan ((n 
    + 1),z,w)) 
    . k) by 
    A14,
    Def9;
    
          end;
    
          now
    
            assume
    
            
    
    A19: k 
    <= (n 
    + 1); 
    
            
    
    A20: 
    
            now
    
              assume
    
              
    
    A21: k 
    = (n 
    + 1); 
    
              
    
              
    
    A22: n 
    < (n 
    + 1) by 
    XREAL_1: 29;
    
              
    
              
    
    A23: (n 
    -' n) 
    = (n 
    - n) by 
    XREAL_1: 233
    
              .=
    0 ; 
    
              
    
              
    
    A24: ((n 
    + 1) 
    -' (n 
    + 1)) 
    = ((n 
    + 1) 
    - (n 
    + 1)) by 
    XREAL_1: 233
    
              .=
    0 ; 
    
              
    
              
    
    A25: (( 
    Coef n) 
    . n) 
    = ((n 
    ! ) 
    / ((n 
    ! ) 
    * ( 
    0  
    ! ))) by 
    A23,
    Def6
    
              .= 1 by
    Th1,
    XCMPLX_1: 60;
    
              
    
              
    
    A26: (( 
    Coef (n 
    + 1)) 
    . (n 
    + 1)) 
    = (((n 
    + 1) 
    ! ) 
    / (((n 
    + 1) 
    ! ) 
    * ( 
    0  
    ! ))) by 
    A24,
    Def6
    
              .= 1 by
    Th1,
    XCMPLX_1: 60;
    
              (((w
    (#) ( 
    Expan (n,z,w))) 
    + ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . k) 
    = (((w 
    (#) ( 
    Expan (n,z,w))) 
    . (n 
    + 1)) 
    + (( 
    Shift (z 
    (#) ( 
    Expan (n,z,w)))) 
    . (n 
    + 1))) by 
    A21,
    VALUED_1: 1
    
              .= ((w
    * (( 
    Expan (n,z,w)) 
    . (n 
    + 1))) 
    + (( 
    Shift (z 
    (#) ( 
    Expan (n,z,w)))) 
    . (n 
    + 1))) by 
    VALUED_1: 6
    
              .= ((w
    *  
    0c ) 
    + (( 
    Shift (z 
    (#) ( 
    Expan (n,z,w)))) 
    . (n 
    + 1))) by 
    A22,
    Def9
    
              .= ((z
    (#) ( 
    Expan (n,z,w))) 
    . n) by 
    Def8
    
              .= (z
    * (( 
    Expan (n,z,w)) 
    . n)) by 
    VALUED_1: 6
    
              .= (z
    * (((( 
    Coef n) 
    . n) 
    * (z 
    |^ n)) 
    * (w 
    |^ (n 
    -' n)))) by 
    Def9
    
              .= ((((
    Coef n) 
    . n) 
    * (((z 
    GeoSeq ) 
    . n) 
    * z)) 
    * (w 
    |^ (n 
    -' n))) 
    
              .= ((((
    Coef (n 
    + 1)) 
    . (n 
    + 1)) 
    * (z 
    |^ (n 
    + 1))) 
    * (w 
    |^ (n 
    -' n))) by 
    A25,
    A26,
    COMSEQ_3:def 1
    
              .= ((
    Expan ((n 
    + 1),z,w)) 
    . k) by 
    A21,
    A23,
    A24,
    Def9;
    
              hence (((w
    (#) ( 
    Expan (n,z,w))) 
    + ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . k) 
    = (( 
    Expan ((n 
    + 1),z,w)) 
    . k); 
    
            end;
    
            now
    
              assume
    
              
    
    A27: k 
    < (n 
    + 1); 
    
              
    
    A28: 
    
              now
    
                assume
    
                
    
    A29: k 
    =  
    0 ; 
    
                
    
                
    
    A30: (n 
    -'  
    0 ) 
    = (n 
    -  
    0 ) by 
    XREAL_1: 233;
    
                
    
                
    
    A31: ((n 
    + 1) 
    -'  
    0 ) 
    = ((n 
    + 1) 
    -  
    0 ) by 
    XREAL_1: 233;
    
                
    
                
    
    A32: (( 
    Coef n) 
    .  
    0 ) 
    = ((n 
    ! ) 
    / (( 
    0  
    ! ) 
    * (n 
    ! ))) by 
    A30,
    Def6
    
                .= 1 by
    Th1,
    XCMPLX_1: 60;
    
                
    
                
    
    A33: (( 
    Coef (n 
    + 1)) 
    .  
    0 ) 
    = (((n 
    + 1) 
    ! ) 
    / (( 
    0  
    ! ) 
    * ((n 
    + 1) 
    ! ))) by 
    A31,
    Def6
    
                .= 1 by
    Th1,
    XCMPLX_1: 60;
    
                (((w
    (#) ( 
    Expan (n,z,w))) 
    + ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . k) 
    = (((w 
    (#) ( 
    Expan (n,z,w))) 
    .  
    0 ) 
    + (( 
    Shift (z 
    (#) ( 
    Expan (n,z,w)))) 
    .  
    0 )) by 
    A29,
    VALUED_1: 1
    
                .= ((w
    * (( 
    Expan (n,z,w)) 
    .  
    0 )) 
    + (( 
    Shift (z 
    (#) ( 
    Expan (n,z,w)))) 
    .  
    0 )) by 
    VALUED_1: 6
    
                .= ((w
    * (( 
    Expan (n,z,w)) 
    .  
    0 )) 
    +  
    0c ) by 
    Def8
    
                .= (w
    * (((( 
    Coef n) 
    .  
    0 ) 
    * (z 
    |^  
    0 )) 
    * (w 
    |^ (n 
    -'  
    0 )))) by 
    Def9
    
                .= ((((
    Coef n) 
    .  
    0 ) 
    * (z 
    |^  
    0 )) 
    * (((w 
    GeoSeq ) 
    . n) 
    * w)) by 
    A30
    
                .= ((((
    Coef (n 
    + 1)) 
    .  
    0 ) 
    * (z 
    |^  
    0 )) 
    * (w 
    |^ ((n 
    + 1) 
    -'  
    0 ))) by 
    A31,
    A32,
    A33,
    COMSEQ_3:def 1
    
                .= ((
    Expan ((n 
    + 1),z,w)) 
    . k) by 
    A29,
    Def9;
    
                hence (((w
    (#) ( 
    Expan (n,z,w))) 
    + ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . k) 
    = (( 
    Expan ((n 
    + 1),z,w)) 
    . k); 
    
              end;
    
              now
    
                assume
    
                
    
    A34: k 
    <>  
    0 ; 
    
                then
    
                
    
    A35: ( 
    0  
    + 1) 
    <= k by 
    INT_1: 7;
    
                
    
                
    
    A36: ((k 
    + 1) 
    - 1) 
    <= ((n 
    + 1) 
    - 1) by 
    A27,
    INT_1: 7;
    
                k
    < (k 
    + 1) by 
    XREAL_1: 29;
    
                then (k
    - 1) 
    <= ((k 
    + 1) 
    - 1) by 
    XREAL_1: 9;
    
                then (k
    - 1) 
    <= n by 
    A36,
    XXREAL_0: 2;
    
                then
    
                
    
    A37: (k 
    -' 1) 
    <= n by 
    A35,
    XREAL_1: 233;
    
                
    
                
    
    A38: (((w 
    (#) ( 
    Expan (n,z,w))) 
    + ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . k) 
    = (((w 
    (#) ( 
    Expan (n,z,w))) 
    . k) 
    + (( 
    Shift (z 
    (#) ( 
    Expan (n,z,w)))) 
    . k)) by 
    VALUED_1: 1
    
                .= ((w
    * (( 
    Expan (n,z,w)) 
    . k)) 
    + (( 
    Shift (z 
    (#) ( 
    Expan (n,z,w)))) 
    . k)) by 
    VALUED_1: 6
    
                .= ((w
    * (( 
    Expan (n,z,w)) 
    . k)) 
    + ((z 
    (#) ( 
    Expan (n,z,w))) 
    . (k 
    -' 1))) by 
    A34,
    Th4
    
                .= ((w
    * (( 
    Expan (n,z,w)) 
    . k)) 
    + (z 
    * (( 
    Expan (n,z,w)) 
    . (k 
    -' 1)))) by 
    VALUED_1: 6
    
                .= ((w
    * (((( 
    Coef n) 
    . k) 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k)))) 
    + (z 
    * (( 
    Expan (n,z,w)) 
    . (k 
    -' 1)))) by 
    A36,
    Def9
    
                .= (((w
    * ((( 
    Coef n) 
    . k) 
    * (z 
    |^ k))) 
    * (w 
    |^ (n 
    -' k))) 
    + (z 
    * (((( 
    Coef n) 
    . (k 
    -' 1)) 
    * (z 
    |^ (k 
    -' 1))) 
    * (w 
    |^ (n 
    -' (k 
    -' 1)))))) by 
    A37,
    Def9
    
                .= ((((
    Coef n) 
    . k) 
    * ((w 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k)))) 
    + ((( 
    Coef n) 
    . (k 
    -' 1)) 
    * (((z 
    |^ (k 
    -' 1)) 
    * z) 
    * (w 
    |^ (n 
    -' (k 
    -' 1)))))); 
    
                
    
                
    
    A39: ((n 
    -' k) 
    + 1) 
    = ((n 
    - k) 
    + 1) by 
    A36,
    XREAL_1: 233
    
                .= ((n
    + 1) 
    - k) 
    
                .= ((n
    + 1) 
    -' k) by 
    A27,
    XREAL_1: 233;
    
                
    
                
    
    A40: (n 
    -' (k 
    -' 1)) 
    = (n 
    - (k 
    -' 1)) by 
    A37,
    XREAL_1: 233
    
                .= (n
    - (k 
    - 1)) by 
    A35,
    XREAL_1: 233
    
                .= ((n
    + 1) 
    - k) 
    
                .= ((n
    + 1) 
    -' k) by 
    A27,
    XREAL_1: 233;
    
                ((k
    -' 1) 
    + 1) 
    = ((k 
    - 1) 
    + 1) by 
    A35,
    XREAL_1: 233
    
                .= k;
    
                then
    
                
    
    A41: ((w 
    |^ (n 
    -' k)) 
    * w) 
    = (w 
    |^ ((n 
    -' k) 
    + 1)) & ((z 
    |^ (k 
    -' 1)) 
    * z) 
    = (z 
    |^ k) by 
    COMSEQ_3:def 1;
    
                
    
                
    
    A42: ((( 
    Coef n) 
    . k) 
    + (( 
    Coef n) 
    . (k 
    -' 1))) 
    = (((n 
    ! ) 
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! ))) 
    + (( 
    Coef n) 
    . (k 
    -' 1))) by 
    A36,
    Def6
    
                .= (((n
    ! ) 
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! ))) 
    + ((n 
    ! ) 
    / (((k 
    -' 1) 
    ! ) 
    * ((n 
    -' (k 
    -' 1)) 
    ! )))) by 
    A37,
    Def6;
    
                
    
                
    
    A43: (((k 
    ! ) 
    * ((n 
    -' k) 
    ! )) 
    * (((n 
    + 1) 
    - k) 
    + ( 
    0  
    *  
    <i> ))) 
    = ((k 
    ! ) 
    * (((n 
    -' k) 
    ! ) 
    * (((n 
    + 1) 
    - k) 
    + ( 
    0  
    *  
    <i> )))); 
    
                
    
                
    
    A44: ((((k 
    -' 1) 
    ! ) 
    * ((n 
    -' (k 
    -' 1)) 
    ! )) 
    * (k 
    + ( 
    0  
    *  
    <i> ))) 
    = (((k 
    + ( 
    0  
    *  
    <i> )) 
    * ((k 
    -' 1) 
    ! )) 
    * ((n 
    -' (k 
    -' 1)) 
    ! )) 
    
                .= ((k
    ! ) 
    * (((n 
    + 1) 
    -' k) 
    ! )) by 
    A34,
    A40,
    Th2;
    
                (((n
    + 1) 
    - k) 
    + ( 
    0  
    *  
    <i> )) 
    <>  
    0c by 
    A27;
    
                
    
                then
    
                
    
    A45: ((n 
    ! ) 
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! ))) 
    = (((n 
    ! ) 
    * (((n 
    + 1) 
    - k) 
    + ( 
    0  
    *  
    <i> ))) 
    / (((k 
    ! ) 
    * ((n 
    -' k) 
    ! )) 
    * (((n 
    + 1) 
    - k) 
    + ( 
    0  
    *  
    <i> )))) by 
    XCMPLX_1: 91
    
                .= (((n
    ! ) 
    * (((n 
    + 1) 
    - k) 
    + ( 
    0  
    *  
    <i> ))) 
    / ((k 
    ! ) 
    * (((n 
    + 1) 
    -' k) 
    ! ))) by 
    A36,
    A43,
    Th2;
    
                ((n
    ! ) 
    / (((k 
    -' 1) 
    ! ) 
    * ((n 
    -' (k 
    -' 1)) 
    ! ))) 
    = (((n 
    ! ) 
    * (k 
    + ( 
    0  
    *  
    <i> ))) 
    / ((k 
    ! ) 
    * (((n 
    + 1) 
    -' k) 
    ! ))) by 
    A34,
    A44,
    XCMPLX_1: 91;
    
                
    
                then (((
    Coef n) 
    . k) 
    + (( 
    Coef n) 
    . (k 
    -' 1))) 
    = (((n 
    ! ) 
    * ((((n 
    + 1) 
    - k) 
    + k) 
    + (( 
    0  
    +  
    0 ) 
    *  
    <i> ))) 
    / ((k 
    ! ) 
    * (((n 
    + 1) 
    -' k) 
    ! ))) by 
    A42,
    A45
    
                .= (((n
    + 1) 
    ! ) 
    / ((k 
    ! ) 
    * (((n 
    + 1) 
    -' k) 
    ! ))) by 
    Th1
    
                .= ((
    Coef (n 
    + 1)) 
    . k) by 
    A27,
    Def6;
    
                
    
                then (((w
    (#) ( 
    Expan (n,z,w))) 
    + ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . k) 
    = (((( 
    Coef (n 
    + 1)) 
    . k) 
    * (z 
    |^ k)) 
    * (w 
    |^ ((n 
    + 1) 
    -' k))) by 
    A38,
    A39,
    A40,
    A41
    
                .= ((
    Expan ((n 
    + 1),z,w)) 
    . k) by 
    A27,
    Def9;
    
                hence (((w
    (#) ( 
    Expan (n,z,w))) 
    + ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . k) 
    = (( 
    Expan ((n 
    + 1),z,w)) 
    . k); 
    
              end;
    
              hence (((w
    (#) ( 
    Expan (n,z,w))) 
    + ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . k) 
    = (( 
    Expan ((n 
    + 1),z,w)) 
    . k) by 
    A28;
    
            end;
    
            hence (((w
    (#) ( 
    Expan (n,z,w))) 
    + ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . k) 
    = (( 
    Expan ((n 
    + 1),z,w)) 
    . k) by 
    A19,
    A20,
    XXREAL_0: 1;
    
          end;
    
          hence (((w
    (#) ( 
    Expan (n,z,w))) 
    + ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    . k) 
    = (( 
    Expan ((n 
    + 1),z,w)) 
    . k) by 
    A13;
    
        end;
    
        then
    
        
    
    A46: ((w 
    (#) ( 
    Expan (n,z,w))) 
    + ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w))))) 
    = ( 
    Expan ((n 
    + 1),z,w)); 
    
        
    
        thus ((z
    + w) 
    |^ (n 
    + 1)) 
    = ((( 
    Partial_Sums (w 
    (#) ( 
    Expan (n,z,w)))) 
    + ( 
    Partial_Sums ( 
    Shift (z 
    (#) ( 
    Expan (n,z,w)))))) 
    . (n 
    + 1)) by 
    A7,
    A8,
    A9,
    A10,
    A12,
    VALUED_1: 1
    
        .= ((
    Partial_Sums ( 
    Expan ((n 
    + 1),z,w))) 
    . (n 
    + 1)) by 
    A46,
    COMSEQ_3: 27;
    
      end;
    
      for n holds
    X[n] from
    NAT_1:sch 2(
    A2,
    A3);
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:7
    
    
    
    
    
    Th7: ( 
    Expan_e (n,z,w)) 
    = (( 
    1r  
    / (n 
    ! )) 
    (#) ( 
    Expan (n,z,w))) 
    
    proof
    
      now
    
        let k be
    Element of 
    NAT ; 
    
        
    
    A1: 
    
        now
    
          assume
    
          
    
    A2: n 
    < k; 
    
          
    
          hence ((
    Expan_e (n,z,w)) 
    . k) 
    = (( 
    1r  
    / (n 
    ! )) 
    *  
    0c ) by 
    Def10
    
          .= ((
    1r  
    / (n 
    ! )) 
    * (( 
    Expan (n,z,w)) 
    . k)) by 
    A2,
    Def9
    
          .= (((
    1r  
    / (n 
    ! )) 
    (#) ( 
    Expan (n,z,w))) 
    . k) by 
    VALUED_1: 6;
    
        end;
    
        now
    
          assume
    
          
    
    A3: k 
    <= n; 
    
          
    
          then
    
          
    
    A4: (( 
    Expan_e (n,z,w)) 
    . k) 
    = (((( 
    Coef_e n) 
    . k) 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k))) by 
    Def10
    
          .= (((
    1r  
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! ))) 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k))) by 
    A3,
    Def7;
    
          (
    1r  
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! ))) 
    = ((((n 
    ! ) 
    *  
    1r ) 
    / (n 
    ! )) 
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! ))) by 
    XCMPLX_1: 60
    
          .= (((
    1r  
    / (n 
    ! )) 
    * (n 
    ! )) 
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! ))); 
    
          
    
          hence ((
    Expan_e (n,z,w)) 
    . k) 
    = (((( 
    1r  
    / (n 
    ! )) 
    * (n 
    ! )) 
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! ))) 
    * ((z 
    |^ k) 
    * (w 
    |^ (n 
    -' k)))) by 
    A4
    
          .= ((
    1r  
    / (n 
    ! )) 
    * ((((n 
    ! ) 
    / ((k 
    ! ) 
    * ((n 
    -' k) 
    ! ))) 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k)))) 
    
          .= ((
    1r  
    / (n 
    ! )) 
    * (((( 
    Coef n) 
    . k) 
    * (z 
    |^ k)) 
    * (w 
    |^ (n 
    -' k)))) by 
    A3,
    Def6
    
          .= ((
    1r  
    / (n 
    ! )) 
    * (( 
    Expan (n,z,w)) 
    . k)) by 
    A3,
    Def9
    
          .= (((
    1r  
    / (n 
    ! )) 
    (#) ( 
    Expan (n,z,w))) 
    . k) by 
    VALUED_1: 6;
    
        end;
    
        hence ((
    Expan_e (n,z,w)) 
    . k) 
    = ((( 
    1r  
    / (n 
    ! )) 
    (#) ( 
    Expan (n,z,w))) 
    . k) by 
    A1;
    
      end;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:8
    
    
    
    
    
    Th8: (((z 
    + w) 
    |^ n) 
    / (n 
    ! )) 
    = (( 
    Partial_Sums ( 
    Expan_e (n,z,w))) 
    . n) 
    
    proof
    
      
    
      thus (((z
    + w) 
    |^ n) 
    / (n 
    ! )) 
    = ((( 
    Partial_Sums ( 
    Expan (n,z,w))) 
    . n) 
    * ( 
    1r  
    / (n 
    ! ))) by 
    Th6
    
      .= (((
    1r  
    / (n 
    ! )) 
    (#) ( 
    Partial_Sums ( 
    Expan (n,z,w)))) 
    . n) by 
    VALUED_1: 6
    
      .= ((
    Partial_Sums (( 
    1r  
    / (n 
    ! )) 
    (#) ( 
    Expan (n,z,w)))) 
    . n) by 
    COMSEQ_3: 29
    
      .= ((
    Partial_Sums ( 
    Expan_e (n,z,w))) 
    . n) by 
    Th7;
    
    end;
    
    theorem :: 
    
    SIN_COS:9
    
    
    
    
    
    Th9: (( 
    0c qua 
    Complex
    ExpSeq ) is 
    absolutely_summable) & (
    Sum ( 
    0c qua 
    Complex
    ExpSeq )) 
    =  
    1r  
    
    proof
    
      defpred
    
    X[
    set] means ((
    Partial_Sums  
    |.(
    0c qua 
    Complex
    ExpSeq ).|) 
    . $1) 
    = jj; 
    
      ((
    Partial_Sums  
    |.(
    0c qua 
    Complex
    ExpSeq ).|) 
    .  
    0 ) 
    = ( 
    |.(
    0c qua 
    Complex
    ExpSeq ).| 
    .  
    0 ) by 
    SERIES_1:def 1
    
      .=
    |.((
    0c qua 
    Complex
    ExpSeq ) 
    .  
    0 ).| by 
    VALUED_1: 18
    
      .= 1 by
    Th3,
    COMPLEX1: 48;
    
      then
    
      
    
    A1: 
    X[
    0 ]; 
    
      
    
      
    
    A2: for n be 
    Nat st 
    X[n] holds
    X[(n
    + 1)] 
    
      proof
    
        let n be
    Nat such that 
    
        
    
    A3: (( 
    Partial_Sums  
    |.(
    0c qua 
    Complex
    ExpSeq ).|) 
    . n) 
    = jj; 
    
        
    
        thus ((
    Partial_Sums  
    |.(
    0c qua 
    Complex
    ExpSeq ).|) 
    . (n 
    + 1)) 
    = (1 
    + ( 
    |.(
    0c qua 
    Complex
    ExpSeq ).| 
    . (n 
    + 1))) by 
    A3,
    SERIES_1:def 1
    
        .= (1
    +  
    |.((
    0c qua 
    Complex
    ExpSeq ) 
    . (n 
    + 1)).|) by 
    VALUED_1: 18
    
        .= (1
    +  
    |.((((
    0c qua 
    Complex
    ExpSeq ) 
    . n) 
    *  
    0c ) 
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> ))).|) by 
    Th3
    
        .= jj by
    COMPLEX1: 44;
    
      end;
    
      for n be
    Nat holds 
    X[n] from
    NAT_1:sch 2(
    A1,
    A2);
    
      then (
    Partial_Sums  
    |.(
    0c qua 
    Complex
    ExpSeq ).|) is 
    constant by 
    VALUED_0:def 18;
    
      then
    
      
    
    A4: 
    |.(
    0c qua 
    Complex
    ExpSeq ).| is 
    summable by 
    SERIES_1:def 2;
    
      defpred
    
    X[
    set] means ((
    Partial_Sums ( 
    0c qua 
    Complex
    ExpSeq )) 
    . $1) 
    = 1; 
    
      ((
    Partial_Sums ( 
    0c qua 
    Complex
    ExpSeq )) 
    .  
    0 ) 
    = (( 
    0c qua 
    Complex
    ExpSeq ) 
    .  
    0 ) by 
    SERIES_1:def 1
    
      .= 1 by
    Th3;
    
      then
    
      
    
    A5: 
    X[
    0 ]; 
    
      
    
      
    
    A6: for n st 
    X[n] holds
    X[(n
    + 1)] 
    
      proof
    
        let n such that
    
        
    
    A7: (( 
    Partial_Sums ( 
    0c qua 
    Complex
    ExpSeq )) 
    . n) 
    = 1; 
    
        
    
        thus ((
    Partial_Sums ( 
    0c qua 
    Complex
    ExpSeq )) 
    . (n 
    + 1)) 
    = ( 
    1r  
    + (( 
    0c qua 
    Complex
    ExpSeq ) 
    . (n 
    + 1))) by 
    A7,
    SERIES_1:def 1
    
        .= (
    1r  
    + (((( 
    0c qua 
    Complex
    ExpSeq ) 
    . n) 
    *  
    0c ) 
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> )))) by 
    Th3
    
        .= 1;
    
      end;
    
      for n holds
    X[n] from
    NAT_1:sch 2(
    A5,
    A6);
    
      hence thesis by
    A4,
    COMSEQ_2: 10;
    
    end;
    
    registration
    
      let z be
    Complex;
    
      cluster (z 
    ExpSeq ) -> 
    absolutely_summable;
    
      coherence
    
      proof
    
        now
    
          assume
    
          
    
    A1: z 
    <>  
    0c ; 
    
          defpred
    
    X[
    set] means ((z
    ExpSeq ) 
    . $1) 
    <>  
    0c ; 
    
          
    
          
    
    A2: 
    X[
    0 ] by 
    Th3;
    
          
    
          
    
    A3: for n st 
    X[n] holds
    X[(n
    + 1)] 
    
          proof
    
            let n;
    
            assume
    
            
    
    A4: ((z 
    ExpSeq ) 
    . n) 
    <>  
    0c ; 
    
            thus ((z
    ExpSeq ) 
    . (n 
    + 1)) 
    <>  
    0c  
    
            proof
    
              assume ((z
    ExpSeq ) 
    . (n 
    + 1)) 
    =  
    0c ; 
    
              then
    
              
    
    A5: ((((z 
    ExpSeq ) 
    . n) 
    * z) 
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> ))) 
    =  
    0c by 
    Th3;
    
              
    0c  
    = ( 
    0c  
    / z) 
    
              .= ((((z
    ExpSeq ) 
    . n) 
    * z) 
    / z) by 
    A5,
    XCMPLX_1: 50
    
              .= (((z
    ExpSeq ) 
    . n) 
    * (z 
    / z)) 
    
              .= (((z
    ExpSeq ) 
    . n) 
    * 1) by 
    A1,
    XCMPLX_1: 60
    
              .= ((z
    ExpSeq ) 
    . n); 
    
              hence contradiction by
    A4;
    
            end;
    
          end;
    
          deffunc
    
    U(
    Nat) = ((
    |.(z
    ExpSeq ).| 
    . ($1 
    + 1)) 
    / ( 
    |.(z
    ExpSeq ).| 
    . $1)); 
    
          thus
    
          
    
    A6: for n holds 
    X[n] from
    NAT_1:sch 2(
    A2,
    A3);
    
          ex rseq st for n holds (rseq
    . n) 
    =  
    U(n) from
    SEQ_1:sch 1;
    
          then
    
          consider rseq such that
    
          
    
    A7: for n holds (rseq 
    . n) 
    = (( 
    |.(z
    ExpSeq ).| 
    . (n 
    + 1)) 
    / ( 
    |.(z
    ExpSeq ).| 
    . n)); 
    
          now
    
            let n;
    
            
    
            thus (rseq
    . n) 
    = (( 
    |.(z
    ExpSeq ).| 
    . (n 
    + 1)) 
    / ( 
    |.(z
    ExpSeq ).| 
    . n)) by 
    A7
    
            .= (
    |.((z
    ExpSeq ) 
    . (n 
    + 1)).| 
    / ( 
    |.(z
    ExpSeq ).| 
    . n)) by 
    VALUED_1: 18
    
            .= (
    |.((z
    ExpSeq ) 
    . (n 
    + 1)).| 
    /  
    |.((z
    ExpSeq ) 
    . n).|) by 
    VALUED_1: 18
    
            .=
    |.(((z
    ExpSeq ) 
    . (n 
    + 1)) 
    / ((z 
    ExpSeq ) 
    . n)).| by 
    COMPLEX1: 67
    
            .=
    |.(((((z
    ExpSeq ) 
    . n) 
    * z) 
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> ))) 
    / ((z 
    ExpSeq ) 
    . n)).| by 
    Th3
    
            .=
    |.((((z
    ExpSeq ) 
    . n) 
    * (z 
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> )))) 
    / ((z 
    ExpSeq ) 
    . n)).| 
    
            .=
    |.(z
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> ))).| by 
    A6,
    XCMPLX_1: 89
    
            .= (
    |.z.|
    /  
    |.(n
    + 1).|) by 
    COMPLEX1: 67
    
            .= (
    |.z.|
    / (n 
    + 1)) by 
    ABSVALUE:def 1;
    
          end;
    
          then rseq is
    convergent & ( 
    lim rseq) 
    < 1 by 
    SEQ_4: 31;
    
          hence thesis by
    A6,
    A7,
    COMSEQ_3: 75;
    
        end;
    
        hence thesis by
    Th9;
    
      end;
    
    end
    
    theorem :: 
    
    SIN_COS:10
    
    
    
    
    
    Th10: ((z 
    ExpSeq ) 
    .  
    0 ) 
    = 1 & (( 
    Expan ( 
    0 ,z,w)) 
    .  
    0 ) 
    = 1 
    
    proof
    
      
    
      thus ((z
    ExpSeq ) 
    .  
    0 ) 
    = ((z 
    |^  
    0 ) 
    / ( 
    0  
    ! )) by 
    Def4
    
      .= 1 by
    Th1,
    COMSEQ_3:def 1;
    
      
    
      
    
    A1: ( 
    0  
    -'  
    0 ) 
    =  
    0 by 
    XREAL_1: 232;
    
      
    
      hence ((
    Expan ( 
    0 ,z,w)) 
    .  
    0 ) 
    = (((( 
    Coef  
    0 ) 
    .  
    0 ) 
    * (z 
    |^  
    0 )) 
    * (w 
    |^  
    0 )) by 
    Def9
    
      .= (((1
    / (1 
    * 1)) 
    * (z 
    |^  
    0 )) 
    * (w 
    |^  
    0 )) by 
    A1,
    Def6,
    Th1
    
      .= (
    1r  
    * ((w 
    GeoSeq ) 
    .  
    0 )) by 
    COMSEQ_3:def 1
    
      .= 1 by
    COMSEQ_3:def 1;
    
    end;
    
    theorem :: 
    
    SIN_COS:11
    
    
    
    
    
    Th11: l 
    <= k implies (( 
    Alfa ((k 
    + 1),z,w)) 
    . l) 
    = ((( 
    Alfa (k,z,w)) 
    . l) 
    + (( 
    Expan_e ((k 
    + 1),z,w)) 
    . l)) 
    
    proof
    
      assume
    
      
    
    A1: l 
    <= k; 
    
      
    
      
    
    A2: k 
    < (k 
    + 1) by 
    XREAL_1: 29;
    
      then
    
      
    
    A3: l 
    <= (k 
    + 1) by 
    A1,
    XXREAL_0: 2;
    
      ((k
    + 1) 
    -' l) 
    = ((k 
    + 1) 
    - l) by 
    A1,
    A2,
    XREAL_1: 233,
    XXREAL_0: 2;
    
      
    
      then
    
      
    
    A4: ((k 
    + 1) 
    -' l) 
    = ((k 
    - l) 
    + 1) 
    
      .= ((k
    -' l) 
    + 1) by 
    A1,
    XREAL_1: 233;
    
      
    
      then
    
      
    
    A5: (( 
    Alfa ((k 
    + 1),z,w)) 
    . l) 
    = (((z 
    ExpSeq ) 
    . l) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    . ((k 
    -' l) 
    + 1))) by 
    A3,
    Def11
    
      .= (((z
    ExpSeq ) 
    . l) 
    * ((( 
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l)) 
    + ((w 
    ExpSeq ) 
    . ((k 
    + 1) 
    -' l)))) by 
    A4,
    SERIES_1:def 1
    
      .= ((((z
    ExpSeq ) 
    . l) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l))) 
    + (((z 
    ExpSeq ) 
    . l) 
    * ((w 
    ExpSeq ) 
    . ((k 
    + 1) 
    -' l)))) 
    
      .= (((
    Alfa (k,z,w)) 
    . l) 
    + (((z 
    ExpSeq ) 
    . l) 
    * ((w 
    ExpSeq ) 
    . ((k 
    + 1) 
    -' l)))) by 
    A1,
    Def11;
    
      (((z
    ExpSeq ) 
    . l) 
    * ((w 
    ExpSeq ) 
    . ((k 
    + 1) 
    -' l))) 
    = (((z 
    |^ l) 
    / (l 
    ! )) 
    * ((w 
    ExpSeq ) 
    . ((k 
    + 1) 
    -' l))) by 
    Def4
    
      .= (((z
    |^ l) 
    / (l 
    ! )) 
    * ((w 
    |^ ((k 
    + 1) 
    -' l)) 
    / (((k 
    + 1) 
    -' l) 
    ! ))) by 
    Def4
    
      .= ((((z
    |^ l) 
    * (w 
    |^ ((k 
    + 1) 
    -' l))) 
    *  
    1r ) 
    / ((l 
    ! ) 
    * (((k 
    + 1) 
    -' l) 
    ! ))) by 
    XCMPLX_1: 76
    
      .= (((z
    |^ l) 
    * (w 
    |^ ((k 
    + 1) 
    -' l))) 
    * ( 
    1r  
    / ((l 
    ! ) 
    * (((k 
    + 1) 
    -' l) 
    ! )))) 
    
      .= (((
    Coef_e (k 
    + 1)) 
    . l) 
    * ((z 
    |^ l) 
    * (w 
    |^ ((k 
    + 1) 
    -' l)))) by 
    A3,
    Def7
    
      .= ((((
    Coef_e (k 
    + 1)) 
    . l) 
    * (z 
    |^ l)) 
    * (w 
    |^ ((k 
    + 1) 
    -' l))) 
    
      .= ((
    Expan_e ((k 
    + 1),z,w)) 
    . l) by 
    A3,
    Def10;
    
      hence thesis by
    A5;
    
    end;
    
    theorem :: 
    
    SIN_COS:12
    
    
    
    
    
    Th12: (( 
    Partial_Sums ( 
    Alfa ((k 
    + 1),z,w))) 
    . k) 
    = ((( 
    Partial_Sums ( 
    Alfa (k,z,w))) 
    . k) 
    + (( 
    Partial_Sums ( 
    Expan_e ((k 
    + 1),z,w))) 
    . k)) 
    
    proof
    
      
    
      
    
    A1: k 
    in  
    NAT by 
    ORDINAL1:def 12;
    
      now
    
        let l be
    Nat;
    
        
    
        
    
    A2: l 
    in  
    NAT by 
    ORDINAL1:def 12;
    
        assume l
    <= k; 
    
        
    
        hence ((
    Alfa ((k 
    + 1),z,w)) 
    . l) 
    = ((( 
    Alfa (k,z,w)) 
    . l) 
    + (( 
    Expan_e ((k 
    + 1),z,w)) 
    . l)) by 
    Th11
    
        .= (((
    Alfa (k,z,w)) 
    + ( 
    Expan_e ((k 
    + 1),z,w))) 
    . l) by 
    VALUED_1: 1,
    A2;
    
      end;
    
      
    
      hence ((
    Partial_Sums ( 
    Alfa ((k 
    + 1),z,w))) 
    . k) 
    = (( 
    Partial_Sums (( 
    Alfa (k,z,w)) 
    + ( 
    Expan_e ((k 
    + 1),z,w)))) 
    . k) by 
    COMSEQ_3: 35
    
      .= (((
    Partial_Sums ( 
    Alfa (k,z,w))) 
    + ( 
    Partial_Sums ( 
    Expan_e ((k 
    + 1),z,w)))) 
    . k) by 
    COMSEQ_3: 27
    
      .= (((
    Partial_Sums ( 
    Alfa (k,z,w))) 
    . k) 
    + (( 
    Partial_Sums ( 
    Expan_e ((k 
    + 1),z,w))) 
    . k)) by 
    VALUED_1: 1,
    A1;
    
    end;
    
    theorem :: 
    
    SIN_COS:13
    
    
    
    
    
    Th13: ((z 
    ExpSeq ) 
    . k) 
    = (( 
    Expan_e (k,z,w)) 
    . k) 
    
    proof
    
      
    
      
    
    A1: 
    0  
    = (k 
    - k); 
    
      then
    
      
    
    A2: (k 
    -' k) 
    =  
    0 by 
    XREAL_1: 233;
    
      
    
      
    
    A3: ((k 
    -' k) 
    ! ) 
    = 1 by 
    A1,
    Th1,
    XREAL_1: 233;
    
      
    
      thus ((
    Expan_e (k,z,w)) 
    . k) 
    = (((( 
    Coef_e k) 
    . k) 
    * (z 
    |^ k)) 
    * (w 
    |^  
    0 )) by 
    A2,
    Def10
    
      .= ((((
    Coef_e k) 
    . k) 
    * (z 
    |^ k)) 
    *  
    1r ) by 
    COMSEQ_3: 11
    
      .= ((
    1r  
    / ((k 
    ! ) 
    *  
    1r )) 
    * (z 
    |^ k)) by 
    A3,
    Def7
    
      .= (((z
    |^ k) 
    *  
    1r ) 
    / (k 
    ! )) 
    
      .= ((z
    ExpSeq ) 
    . k) by 
    Def4;
    
    end;
    
    theorem :: 
    
    SIN_COS:14
    
    
    
    
    
    Th14: (( 
    Partial_Sums ((z 
    + w) 
    ExpSeq )) 
    . n) 
    = (( 
    Partial_Sums ( 
    Alfa (n,z,w))) 
    . n) 
    
    proof
    
      
    
      
    
    A1: (( 
    Partial_Sums ((z 
    + w) 
    ExpSeq )) 
    .  
    0 ) 
    = (((z 
    + w) 
    ExpSeq ) 
    .  
    0 ) by 
    SERIES_1:def 1
    
      .= 1 by
    Th10;
    
      defpred
    
    X[
    Nat] means ((
    Partial_Sums ((z 
    + w) 
    ExpSeq )) 
    . $1) 
    = (( 
    Partial_Sums ( 
    Alfa ($1,z,w))) 
    . $1); 
    
      
    
      
    
    A2: ( 
    0  
    -'  
    0 ) 
    =  
    0 by 
    XREAL_1: 232;
    
      ((
    Partial_Sums ( 
    Alfa ( 
    0 ,z,w))) 
    .  
    0 ) 
    = (( 
    Alfa ( 
    0 ,z,w)) 
    .  
    0 ) by 
    SERIES_1:def 1
    
      .= (((z
    ExpSeq ) 
    .  
    0 ) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    .  
    0 )) by 
    A2,
    Def11
    
      .= (((z
    ExpSeq ) 
    .  
    0 ) 
    * ((w 
    ExpSeq ) 
    .  
    0 )) by 
    SERIES_1:def 1
    
      .= (
    1r  
    * ((w 
    ExpSeq ) 
    .  
    0 )) by 
    Th10
    
      .= 1 by
    Th10;
    
      then
    
      
    
    A3: 
    X[
    0 ] by 
    A1;
    
      
    
      
    
    A4: for k st 
    X[k] holds
    X[(k
    + 1)] 
    
      proof
    
        let k such that
    
        
    
    A5: (( 
    Partial_Sums ((z 
    + w) 
    ExpSeq )) 
    . k) 
    = (( 
    Partial_Sums ( 
    Alfa (k,z,w))) 
    . k); 
    
        
    
        
    
    A6: (( 
    Partial_Sums ( 
    Alfa ((k 
    + 1),z,w))) 
    . (k 
    + 1)) 
    = ((( 
    Partial_Sums ( 
    Alfa ((k 
    + 1),z,w))) 
    . k) 
    + (( 
    Alfa ((k 
    + 1),z,w)) 
    . (k 
    + 1))) by 
    SERIES_1:def 1
    
        .= ((((
    Partial_Sums ( 
    Alfa (k,z,w))) 
    . k) 
    + (( 
    Partial_Sums ( 
    Expan_e ((k 
    + 1),z,w))) 
    . k)) 
    + (( 
    Alfa ((k 
    + 1),z,w)) 
    . (k 
    + 1))) by 
    Th12
    
        .= (((
    Partial_Sums ((z 
    + w) 
    ExpSeq )) 
    . k) 
    + ((( 
    Partial_Sums ( 
    Expan_e ((k 
    + 1),z,w))) 
    . k) 
    + (( 
    Alfa ((k 
    + 1),z,w)) 
    . (k 
    + 1)))) by 
    A5;
    
        ((k
    + 1) 
    -' (k 
    + 1)) 
    =  
    0 by 
    XREAL_1: 232;
    
        
    
        then ((
    Alfa ((k 
    + 1),z,w)) 
    . (k 
    + 1)) 
    = (((z 
    ExpSeq ) 
    . (k 
    + 1)) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    .  
    0 )) by 
    Def11
    
        .= (((z
    ExpSeq ) 
    . (k 
    + 1)) 
    * ((w 
    ExpSeq ) 
    .  
    0 )) by 
    SERIES_1:def 1
    
        .= (((z
    ExpSeq ) 
    . (k 
    + 1)) 
    * 1) by 
    Th10
    
        .= ((
    Expan_e ((k 
    + 1),z,w)) 
    . (k 
    + 1)) by 
    Th13;
    
        
    
        then (((
    Partial_Sums ( 
    Expan_e ((k 
    + 1),z,w))) 
    . k) 
    + (( 
    Alfa ((k 
    + 1),z,w)) 
    . (k 
    + 1))) 
    = (( 
    Partial_Sums ( 
    Expan_e ((k 
    + 1),z,w))) 
    . (k 
    + 1)) by 
    SERIES_1:def 1
    
        .= (((z
    + w) 
    |^ (k 
    + 1)) 
    / ((k 
    + 1) 
    ! )) by 
    Th8;
    
        
    
        then ((
    Partial_Sums ( 
    Alfa ((k 
    + 1),z,w))) 
    . (k 
    + 1)) 
    = ((( 
    Partial_Sums ((z 
    + w) 
    ExpSeq )) 
    . k) 
    + (((z 
    + w) 
    ExpSeq ) 
    . (k 
    + 1))) by 
    A6,
    Def4
    
        .= ((
    Partial_Sums ((z 
    + w) 
    ExpSeq )) 
    . (k 
    + 1)) by 
    SERIES_1:def 1;
    
        hence ((
    Partial_Sums ((z 
    + w) 
    ExpSeq )) 
    . (k 
    + 1)) 
    = (( 
    Partial_Sums ( 
    Alfa ((k 
    + 1),z,w))) 
    . (k 
    + 1)); 
    
      end;
    
      for n holds
    X[n] from
    NAT_1:sch 2(
    A3,
    A4);
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:15
    
    
    
    
    
    Th15: (((( 
    Partial_Sums (z 
    ExpSeq )) 
    . k) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    . k)) 
    - (( 
    Partial_Sums ((z 
    + w) 
    ExpSeq )) 
    . k)) 
    = (( 
    Partial_Sums ( 
    Conj (k,z,w))) 
    . k) 
    
    proof
    
      
    
      
    
    A1: k 
    in  
    NAT by 
    ORDINAL1:def 12;
    
      
    
      
    
    A2: (((( 
    Partial_Sums (z 
    ExpSeq )) 
    . k) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    . k)) 
    - (( 
    Partial_Sums ((z 
    + w) 
    ExpSeq )) 
    . k)) 
    = (((( 
    Partial_Sums (z 
    ExpSeq )) 
    . k) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    . k)) 
    - (( 
    Partial_Sums ( 
    Alfa (k,z,w))) 
    . k)) by 
    Th14
    
      .= (((((
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    (#) ( 
    Partial_Sums (z 
    ExpSeq ))) 
    . k) 
    - (( 
    Partial_Sums ( 
    Alfa (k,z,w))) 
    . k)) by 
    VALUED_1: 6
    
      .= (((
    Partial_Sums ((( 
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    (#) (z 
    ExpSeq ))) 
    . k) 
    - (( 
    Partial_Sums ( 
    Alfa (k,z,w))) 
    . k)) by 
    COMSEQ_3: 29
    
      .= (((
    Partial_Sums ((( 
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    (#) (z 
    ExpSeq ))) 
    . k) 
    + (( 
    - ( 
    Partial_Sums ( 
    Alfa (k,z,w)))) 
    . k)) by 
    VALUED_1: 8
    
      .= (((
    Partial_Sums ((( 
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    (#) (z 
    ExpSeq ))) 
    - ( 
    Partial_Sums ( 
    Alfa (k,z,w)))) 
    . k) by 
    VALUED_1: 1,
    A1
    
      .= ((
    Partial_Sums (((( 
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    (#) (z 
    ExpSeq )) 
    - ( 
    Alfa (k,z,w)))) 
    . k) by 
    COMSEQ_3: 28;
    
      for l be
    Nat st l 
    <= k holds ((((( 
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    (#) (z 
    ExpSeq )) 
    - ( 
    Alfa (k,z,w))) 
    . l) 
    = (( 
    Conj (k,z,w)) 
    . l) 
    
      proof
    
        let l be
    Nat such that 
    
        
    
    A3: l 
    <= k; 
    
        
    
        
    
    A4: l 
    in  
    NAT by 
    ORDINAL1:def 12;
    
        
    
        thus (((((
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    (#) (z 
    ExpSeq )) 
    - ( 
    Alfa (k,z,w))) 
    . l) 
    = ((((( 
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    (#) (z 
    ExpSeq )) 
    . l) 
    + (( 
    - ( 
    Alfa (k,z,w))) 
    . l)) by 
    VALUED_1: 1,
    A4
    
        .= (((((
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    (#) (z 
    ExpSeq )) 
    . l) 
    - (( 
    Alfa (k,z,w)) 
    . l)) by 
    VALUED_1: 8
    
        .= ((((
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    * ((z 
    ExpSeq ) 
    . l)) 
    - (( 
    Alfa (k,z,w)) 
    . l)) by 
    VALUED_1: 6
    
        .= ((((z
    ExpSeq ) 
    . l) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    . k)) 
    - (((z 
    ExpSeq ) 
    . l) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l)))) by 
    A3,
    Def11
    
        .= (((z
    ExpSeq ) 
    . l) 
    * ((( 
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l)))) 
    
        .= ((
    Conj (k,z,w)) 
    . l) by 
    A3,
    Def13;
    
      end;
    
      hence thesis by
    A2,
    COMSEQ_3: 35;
    
    end;
    
    theorem :: 
    
    SIN_COS:16
    
    
    
    
    
    Th16: 
    |.((
    Partial_Sums (z 
    ExpSeq )) 
    . k).| 
    <= (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) & (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) 
    <= ( 
    Sum ( 
    |.z.|
    rExpSeq )) & 
    |.((
    Partial_Sums (z 
    ExpSeq )) 
    . k).| 
    <= ( 
    Sum ( 
    |.z.|
    rExpSeq )) 
    
    proof
    
      defpred
    
    X[
    Nat] means
    |.((
    Partial_Sums (z 
    ExpSeq )) 
    . $1).| 
    <= (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . $1); 
    
      
    
      
    
    A1: 
    |.((
    Partial_Sums (z 
    ExpSeq )) 
    .  
    0 ).| 
    =  
    |.((z
    ExpSeq ) 
    .  
    0 ).| by 
    SERIES_1:def 1
    
      .=
    |.((z
    |^  
    0 ) 
    / ( 
    0  
    ! )).| by 
    Def4
    
      .= 1 by
    Th1,
    COMPLEX1: 48,
    COMSEQ_3:def 1;
    
      ((
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    .  
    0 ) 
    = (( 
    |.z.|
    rExpSeq ) 
    .  
    0 ) by 
    SERIES_1:def 1
    
      .= ((
    |.z.|
    |^  
    0 ) 
    / ( 
    0  
    ! )) by 
    Def5
    
      .= 1 by
    NEWTON: 4,
    NEWTON: 12;
    
      then
    
      
    
    A2: 
    X[
    0 ] by 
    A1;
    
      
    
      
    
    A3: for k st 
    X[k] holds
    X[(k
    + 1)] 
    
      proof
    
        let k such that
    
        
    
    A4: 
    |.((
    Partial_Sums (z 
    ExpSeq )) 
    . k).| 
    <= (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k); 
    
        
    |.((
    Partial_Sums (z 
    ExpSeq )) 
    . (k 
    + 1)).| 
    =  
    |.(((
    Partial_Sums (z 
    ExpSeq )) 
    . k) 
    + ((z 
    ExpSeq ) 
    . (k 
    + 1))).| & 
    |.(((
    Partial_Sums (z 
    ExpSeq )) 
    . k) 
    + ((z 
    ExpSeq ) 
    . (k 
    + 1))).| 
    <= ( 
    |.((
    Partial_Sums (z 
    ExpSeq )) 
    . k).| 
    +  
    |.((z
    ExpSeq ) 
    . (k 
    + 1)).|) by 
    COMPLEX1: 56,
    SERIES_1:def 1;
    
        then
    
        
    
    A5: 
    |.((
    Partial_Sums (z 
    ExpSeq )) 
    . (k 
    + 1)).| 
    <= ( 
    |.((
    Partial_Sums (z 
    ExpSeq )) 
    . k).| 
    + (( 
    |.z.|
    rExpSeq ) 
    . (k 
    + 1))) by 
    Th3;
    
        
    
        
    
    A6: ( 
    |.((
    Partial_Sums (z 
    ExpSeq )) 
    . k).| 
    + (( 
    |.z.|
    rExpSeq ) 
    . (k 
    + 1))) 
    <= ((( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) 
    + (( 
    |.z.|
    rExpSeq ) 
    . (k 
    + 1))) by 
    A4,
    XREAL_1: 6;
    
        (((
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) 
    + (( 
    |.z.|
    rExpSeq ) 
    . (k 
    + 1))) 
    = (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . (k 
    + 1)) by 
    SERIES_1:def 1;
    
        hence thesis by
    A5,
    A6,
    XXREAL_0: 2;
    
      end;
    
      
    
      
    
    A7: for k holds 
    X[k] from
    NAT_1:sch 2(
    A2,
    A3);
    
      hence
    |.((
    Partial_Sums (z 
    ExpSeq )) 
    . k).| 
    <= (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k); 
    
      now
    
        let k be
    object such that 
    
        
    
    A8: k 
    in  
    NAT ; 
    
        
    
        thus (
    |.(z
    ExpSeq ).| 
    . k) 
    =  
    |.((z
    ExpSeq ) 
    . k).| by 
    VALUED_1: 18
    
        .= ((
    |.z.|
    rExpSeq ) 
    . k) by 
    A8,
    Th3;
    
      end;
    
      then
    
      
    
    A9: 
    |.(z
    ExpSeq ).| 
    = ( 
    |.z.|
    rExpSeq ); 
    
      then ((
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) 
    <= ( 
    lim ( 
    Partial_Sums ( 
    |.z.|
    rExpSeq ))) by 
    SEQ_4: 37;
    
      hence ((
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) 
    <= ( 
    Sum ( 
    |.z.|
    rExpSeq )) by 
    SERIES_1:def 3;
    
      
    
    A10: 
    
      now
    
        let k;
    
        (
    lim ( 
    Partial_Sums ( 
    |.z.|
    rExpSeq ))) 
    = ( 
    Sum ( 
    |.z.|
    rExpSeq )) by 
    SERIES_1:def 3;
    
        hence ((
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) 
    <= ( 
    Sum ( 
    |.z.|
    rExpSeq )) by 
    A9,
    SEQ_4: 37;
    
      end;
    
      
    
      
    
    A11: 
    |.((
    Partial_Sums (z 
    ExpSeq )) 
    . k).| 
    <= (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) by 
    A7;
    
      ((
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) 
    <= ( 
    Sum ( 
    |.z.|
    rExpSeq )) by 
    A10;
    
      hence thesis by
    A11,
    XXREAL_0: 2;
    
    end;
    
    theorem :: 
    
    SIN_COS:17
    
    
    
    
    
    Th17: 1 
    <= ( 
    Sum ( 
    |.z.|
    rExpSeq )) 
    
    proof
    
      
    |.((
    Partial_Sums (z 
    ExpSeq )) 
    .  
    0 ).| 
    =  
    |.((z
    ExpSeq ) 
    .  
    0 ).| by 
    SERIES_1:def 1
    
      .= 1 by
    Th3,
    COMPLEX1: 48;
    
      hence thesis by
    Th16;
    
    end;
    
    theorem :: 
    
    SIN_COS:18
    
    
    
    
    
    Th18: 
    0  
    <= (( 
    |.z.|
    rExpSeq ) 
    . n) 
    
    proof
    
      ((
    |.z.|
    rExpSeq ) 
    . n) 
    =  
    |.((z
    ExpSeq ) 
    . n).| by 
    Th3;
    
      hence thesis by
    COMPLEX1: 46;
    
    end;
    
    theorem :: 
    
    SIN_COS:19
    
    
    
    
    
    Th19: 
    |.((
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . n).| 
    = (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . n) & (n 
    <= m implies 
    |.(((
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . m) 
    - (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . n)).| 
    = ((( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . m) 
    - (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . n))) 
    
    proof
    
      for n holds
    0  
    <= (( 
    |.z.|
    rExpSeq ) 
    . n) by 
    Th18;
    
      hence thesis by
    COMSEQ_3: 9;
    
    end;
    
    theorem :: 
    
    SIN_COS:20
    
    
    
    
    
    Th20: 
    |.((
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . n).| 
    = (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . n) 
    
    proof
    
      
    
    A1: 
    
      now
    
        let n;
    
        (
    |.(
    Conj (k,z,w)).| 
    . n) 
    =  
    |.((
    Conj (k,z,w)) 
    . n).| by 
    VALUED_1: 18;
    
        hence
    0  
    <= ( 
    |.(
    Conj (k,z,w)).| 
    . n) by 
    COMPLEX1: 46;
    
      end;
    
      
    
      
    
    A2: (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    .  
    0 ) 
    <= (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . n) & (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    .  
    0 ) 
    = ( 
    |.(
    Conj (k,z,w)).| 
    .  
    0 ) by 
    SEQM_3: 6,
    SERIES_1:def 1;
    
      
    0  
    <= ( 
    |.(
    Conj (k,z,w)).| 
    .  
    0 ) by 
    A1;
    
      hence thesis by
    A2,
    ABSVALUE:def 1;
    
    end;
    
    theorem :: 
    
    SIN_COS:21
    
    
    
    
    
    Th21: for p be 
    Real st p 
    >  
    0 holds ex n st for k st n 
    <= k holds 
    |.((
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . k).| 
    < p 
    
    proof
    
      let p be
    Real such that 
    
      
    
    A1: p 
    >  
    0 ; 
    
      reconsider pp = p as
    Real;
    
      
    
      
    
    A2: 1 
    <= ( 
    Sum ( 
    |.z.|
    rExpSeq )) by 
    Th17;
    
      
    
      
    
    A3: 
    0  
    < ( 
    Sum ( 
    |.w.|
    rExpSeq )) by 
    Th17;
    
      set p1 = (
    min ((pp 
    / (4 
    * ( 
    Sum ( 
    |.z.|
    rExpSeq )))),(pp 
    / (4 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq )))))); 
    
      
    
      
    
    A4: p1 
    >  
    0 by 
    A1,
    A2,
    A3,
    XXREAL_0: 15;
    
      now
    
        let k be
    object such that 
    
        
    
    A5: k 
    in  
    NAT ; 
    
        
    
        thus (
    |.(z
    ExpSeq ).| 
    . k) 
    =  
    |.((z
    ExpSeq ) 
    . k).| by 
    VALUED_1: 18
    
        .= ((
    |.z.|
    rExpSeq ) 
    . k) by 
    A5,
    Th3;
    
      end;
    
      then
    |.(z
    ExpSeq ).| 
    = ( 
    |.z.|
    rExpSeq ); 
    
      then
    
      consider n1 such that
    
      
    
    A6: for k,l be 
    Nat st n1 
    <= k & n1 
    <= l holds 
    |.(((
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) 
    - (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . l)).| 
    < p1 by 
    A4,
    COMSEQ_3: 4;
    
      consider n2 be
    Nat such that 
    
      
    
    A7: for k,l be 
    Nat st n2 
    <= k & n2 
    <= l holds 
    |.(((
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . l)).| 
    < p1 by 
    A4,
    COMSEQ_3: 47;
    
      set n3 = (n1
    + n2); 
    
      take n4 = (n3
    + n3); 
    
      
    
    A8: 
    
      now
    
        let n;
    
        let k;
    
        now
    
          let l be
    Nat such that 
    
          
    
    A9: l 
    <= k; 
    
          
    
          thus (
    |.(
    Conj (k,z,w)).| 
    . l) 
    =  
    |.((
    Conj (k,z,w)) 
    . l).| by 
    VALUED_1: 18
    
          .=
    |.(((z
    ExpSeq ) 
    . l) 
    * ((( 
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l)))).| by 
    A9,
    Def13
    
          .= (
    |.((z
    ExpSeq ) 
    . l).| 
    *  
    |.(((
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l))).|) by 
    COMPLEX1: 65
    
          .= (((
    |.z.|
    rExpSeq ) 
    . l) 
    *  
    |.(((
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l))).|) by 
    Th3;
    
        end;
    
        hence for l be
    Nat st l 
    <= k holds ( 
    |.(
    Conj (k,z,w)).| 
    . l) 
    = ((( 
    |.z.|
    rExpSeq ) 
    . l) 
    *  
    |.(((
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l))).|); 
    
      end;
    
      
    
    A10: 
    
      now
    
        let k;
    
        now
    
          let l be
    Nat;
    
          assume l
    <= k; 
    
          then
    
          
    
    A11: ( 
    |.(
    Conj (k,z,w)).| 
    . l) 
    = ((( 
    |.z.|
    rExpSeq ) 
    . l) 
    *  
    |.(((
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l))).|) by 
    A8;
    
          
    |.((
    Partial_Sums (w 
    ExpSeq )) 
    . k).| 
    <= ( 
    Sum ( 
    |.w.|
    rExpSeq )) by 
    Th16;
    
          then
    
          
    
    A12: ( 
    |.((
    Partial_Sums (w 
    ExpSeq )) 
    . k).| 
    +  
    |.((
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l)).|) 
    <= (( 
    Sum ( 
    |.w.|
    rExpSeq )) 
    +  
    |.((
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l)).|) by 
    XREAL_1: 6;
    
          
    |.((
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l)).| 
    <= ( 
    Sum ( 
    |.w.|
    rExpSeq )) by 
    Th16;
    
          then ((
    Sum ( 
    |.w.|
    rExpSeq )) 
    +  
    |.((
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l)).|) 
    <= (( 
    Sum ( 
    |.w.|
    rExpSeq )) 
    + ( 
    Sum ( 
    |.w.|
    rExpSeq ))) by 
    XREAL_1: 6;
    
          then
    |.(((
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l))).| 
    <= ( 
    |.((
    Partial_Sums (w 
    ExpSeq )) 
    . k).| 
    +  
    |.((
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l)).|) & ( 
    |.((
    Partial_Sums (w 
    ExpSeq )) 
    . k).| 
    +  
    |.((
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l)).|) 
    <= (2 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq ))) by 
    A12,
    COMPLEX1: 57,
    XXREAL_0: 2;
    
          then
    
          
    
    A13: 
    |.(((
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l))).| 
    <= (2 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq ))) by 
    XXREAL_0: 2;
    
          
    0  
    <= (( 
    |.z.|
    rExpSeq ) 
    . l) by 
    Th18;
    
          hence (
    |.(
    Conj (k,z,w)).| 
    . l) 
    <= ((( 
    |.z.|
    rExpSeq ) 
    . l) 
    * (2 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq )))) by 
    A11,
    A13,
    XREAL_1: 64;
    
        end;
    
        hence for l be
    Nat st l 
    <= k holds ( 
    |.(
    Conj (k,z,w)).| 
    . l) 
    <= ((( 
    |.z.|
    rExpSeq ) 
    . l) 
    * (2 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq )))); 
    
      end;
    
      now
    
        let k such that
    
        
    
    A14: n4 
    <= k; 
    
        
    
        
    
    A15: ( 
    0  
    + n3) 
    <= (n3 
    + n3) by 
    XREAL_1: 6;
    
        then
    
        
    
    A16: n3 
    <= k by 
    A14,
    XXREAL_0: 2;
    
        
    
        
    
    A17: (n1 
    +  
    0 ) 
    <= (n1 
    + n2) by 
    XREAL_1: 6;
    
        then
    
        
    
    A18: n1 
    <= k by 
    A16,
    XXREAL_0: 2;
    
        now
    
          let l be
    Nat;
    
          assume
    
          
    
    A19: l 
    <= n3; 
    
          then
    
          
    
    A20: (k 
    -' l) 
    = (k 
    - l) by 
    A16,
    XREAL_1: 233,
    XXREAL_0: 2;
    
          
    
          
    
    A21: ( 
    0  
    + n2) 
    <= (n1 
    + n2) by 
    XREAL_1: 6;
    
          
    
          
    
    A22: (n4 
    - l) 
    <= (k 
    - l) by 
    A14,
    XREAL_1: 9;
    
          ((n3
    + n3) 
    - n3) 
    <= ((n3 
    + n3) 
    - l) by 
    A19,
    XREAL_1: 10;
    
          then n3
    <= (k 
    - l) by 
    A22,
    XXREAL_0: 2;
    
          then
    
          
    
    A23: n2 
    <= (k 
    -' l) by 
    A20,
    A21,
    XXREAL_0: 2;
    
          (
    0  
    + n3) 
    <= (n3 
    + n3) by 
    XREAL_1: 6;
    
          then n2
    <= n4 by 
    A21,
    XXREAL_0: 2;
    
          then n2
    <= k by 
    A14,
    XXREAL_0: 2;
    
          then
    
          
    
    A24: 
    |.(((
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l))).| 
    < p1 by 
    A7,
    A23;
    
          
    0  
    <= (( 
    |.z.|
    rExpSeq ) 
    . l) by 
    Th18;
    
          then (((
    |.z.|
    rExpSeq ) 
    . l) 
    *  
    |.(((
    Partial_Sums (w 
    ExpSeq )) 
    . k) 
    - (( 
    Partial_Sums (w 
    ExpSeq )) 
    . (k 
    -' l))).|) 
    <= ((( 
    |.z.|
    rExpSeq ) 
    . l) 
    * p1) by 
    A24,
    XREAL_1: 64;
    
          hence (
    |.(
    Conj (k,z,w)).| 
    . l) 
    <= (p1 
    * (( 
    |.z.|
    rExpSeq ) 
    . l)) by 
    A8,
    A16,
    A19,
    XXREAL_0: 2;
    
        end;
    
        then
    
        
    
    A25: (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . n3) 
    <= ((( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . n3) 
    * p1) by 
    COMSEQ_3: 7;
    
        (((
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . n3) 
    * p1) 
    <= (( 
    Sum ( 
    |.z.|
    rExpSeq )) 
    * p1) by 
    A4,
    Th16,
    XREAL_1: 64;
    
        then
    
        
    
    A26: (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . n3) 
    <= (( 
    Sum ( 
    |.z.|
    rExpSeq )) 
    * p1) by 
    A25,
    XXREAL_0: 2;
    
        
    
        
    
    A27: (( 
    Sum ( 
    |.z.|
    rExpSeq )) 
    * p1) 
    <= (( 
    Sum ( 
    |.z.|
    rExpSeq )) 
    * (p 
    / (4 
    * ( 
    Sum ( 
    |.z.|
    rExpSeq ))))) by 
    A2,
    XREAL_1: 64,
    XXREAL_0: 17;
    
        
    
        
    
    A28: 
    0  
    <> ( 
    Sum ( 
    |.z.|
    rExpSeq )) by 
    Th17;
    
        ((
    Sum ( 
    |.z.|
    rExpSeq )) 
    * (p 
    / (4 
    * ( 
    Sum ( 
    |.z.|
    rExpSeq ))))) 
    = ((( 
    Sum ( 
    |.z.|
    rExpSeq )) 
    * p) 
    / (4 
    * ( 
    Sum ( 
    |.z.|
    rExpSeq )))) 
    
        .= (p
    / 4) by 
    A28,
    XCMPLX_1: 91;
    
        then
    
        
    
    A29: (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . n3) 
    <= (p 
    / 4) by 
    A26,
    A27,
    XXREAL_0: 2;
    
        (
    0  
    + (p 
    / 4)) 
    < ((p 
    / 4) 
    + (p 
    / 4)) by 
    A1,
    XREAL_1: 6;
    
        then
    
        
    
    A30: (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . n3) 
    < (p 
    / 2) by 
    A29,
    XXREAL_0: 2;
    
        (k
    -' n3) 
    = (k 
    - n3) by 
    A14,
    A15,
    XREAL_1: 233,
    XXREAL_0: 2;
    
        then
    
        
    
    A31: k 
    = ((k 
    -' n3) 
    + n3); 
    
        for l be
    Nat st l 
    <= k holds ( 
    |.(
    Conj (k,z,w)).| 
    . l) 
    <= ((2 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq ))) 
    * (( 
    |.z.|
    rExpSeq ) 
    . l)) by 
    A10;
    
        then
    
        
    
    A32: ((( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . k) 
    - (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . n3)) 
    <= (((( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) 
    - (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . n3)) 
    * (2 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq )))) by 
    A31,
    COMSEQ_3: 8;
    
        
    |.(((
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) 
    - (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . n3)).| 
    <= p1 by 
    A6,
    A17,
    A18;
    
        then (((
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) 
    - (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . n3)) 
    <= p1 by 
    A14,
    A15,
    Th19,
    XXREAL_0: 2;
    
        then ((((
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . k) 
    - (( 
    Partial_Sums ( 
    |.z.|
    rExpSeq )) 
    . n3)) 
    * (2 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq )))) 
    <= (p1 
    * (2 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq )))) by 
    A3,
    XREAL_1: 64;
    
        then
    
        
    
    A33: ((( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . k) 
    - (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . n3)) 
    <= (p1 
    * (2 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq )))) by 
    A32,
    XXREAL_0: 2;
    
        
    
        
    
    A34: ((2 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq ))) 
    * p1) 
    <= ((2 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq ))) 
    * (p 
    / (4 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq ))))) by 
    A3,
    XREAL_1: 64,
    XXREAL_0: 17;
    
        
    
        
    
    A35: 
    0  
    <> ( 
    Sum ( 
    |.w.|
    rExpSeq )) by 
    Th17;
    
        ((2
    * ( 
    Sum ( 
    |.w.|
    rExpSeq ))) 
    * (p 
    / (4 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq ))))) 
    = (((2 
    * p) 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq ))) 
    / (4 
    * ( 
    Sum ( 
    |.w.|
    rExpSeq )))) 
    
        .= ((p
    + p) 
    / 4) by 
    A35,
    XCMPLX_1: 91
    
        .= (p
    / 2); 
    
        then (((
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . k) 
    - (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . n3)) 
    <= (p 
    / 2) by 
    A33,
    A34,
    XXREAL_0: 2;
    
        then ((((
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . k) 
    - (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . n3)) 
    + (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . n3)) 
    < ((p 
    / 2) 
    + (p 
    / 2)) by 
    A30,
    XREAL_1: 8;
    
        hence
    |.((
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . k).| 
    < p by 
    Th20;
    
      end;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:22
    
    
    
    
    
    Th22: (for k holds (seq 
    . k) 
    = (( 
    Partial_Sums ( 
    Conj (k,z,w))) 
    . k)) implies seq is 
    convergent & ( 
    lim seq) 
    =  
    0  
    
    proof
    
      now
    
        let seq such that
    
        
    
    A1: for k holds (seq 
    . k) 
    = (( 
    Partial_Sums ( 
    Conj (k,z,w))) 
    . k); 
    
        
    
    A2: 
    
        now
    
          let k;
    
          
    |.(seq
    . k).| 
    =  
    |.((
    Partial_Sums ( 
    Conj (k,z,w))) 
    . k).| by 
    A1;
    
          hence
    |.(seq
    . k).| 
    <= (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . k) by 
    COMSEQ_3: 30;
    
        end;
    
        deffunc
    
    U(
    Nat) = ((
    Partial_Sums  
    |.(
    Conj ($1,z,w)).|) 
    . $1); 
    
        ex rseq be
    Real_Sequence st for k holds (rseq 
    . k) 
    =  
    U(k) from
    SEQ_1:sch 1;
    
        then
    
        consider rseq be
    Real_Sequence such that 
    
        
    
    A3: for k holds (rseq 
    . k) 
    = (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . k); 
    
        
    
    A4: 
    
        now
    
          let k;
    
          
    |.(seq
    . k).| 
    <= (( 
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . k) by 
    A2;
    
          hence
    |.(seq
    . k).| 
    <= (rseq 
    . k) by 
    A3;
    
        end;
    
        
    
    A5: 
    
        now
    
          let p be
    Real;
    
          assume p
    >  
    0 ; 
    
          then
    
          consider n such that
    
          
    
    A6: for k st n 
    <= k holds 
    |.((
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . k).| 
    < p by 
    Th21;
    
          take n;
    
          now
    
            let k such that
    
            
    
    A7: n 
    <= k; 
    
            
    |.((rseq
    . k) 
    -  
    0 ).| 
    =  
    |.((
    Partial_Sums  
    |.(
    Conj (k,z,w)).|) 
    . k).| by 
    A3;
    
            hence
    |.((rseq
    . k) 
    -  
    0 ).| 
    < p by 
    A6,
    A7;
    
          end;
    
          hence for k st n
    <= k holds 
    |.((rseq
    . k) 
    -  
    0 ).| 
    < p; 
    
        end;
    
        then
    
        
    
    A8: rseq is 
    convergent by 
    SEQ_2:def 6;
    
        then (
    lim rseq) 
    =  
    0 by 
    A5,
    SEQ_2:def 7;
    
        hence seq is
    convergent & ( 
    lim seq) 
    =  
    0c by 
    A4,
    A8,
    COMSEQ_3: 48;
    
      end;
    
      hence thesis;
    
    end;
    
    
    
    
    
    Lm2: for z,w be 
    Complex holds (( 
    Sum (z 
    ExpSeq )) 
    * ( 
    Sum (w 
    ExpSeq ))) 
    = ( 
    Sum ((z 
    + w) 
    ExpSeq )) 
    
    proof
    
      let z0,w0 be
    Complex;
    
      reconsider z = z0, w = w0 as
    Element of 
    COMPLEX by 
    XCMPLX_0:def 2;
    
      deffunc
    
    U(
    Nat) = ((
    Partial_Sums ( 
    Conj ($1,z,w))) 
    . $1); 
    
      ex seq st for k holds (seq
    . k) 
    =  
    U(k) from
    COMSEQ_1:sch 1;
    
      then
    
      consider seq such that
    
      
    
    A1: for k holds (seq 
    . k) 
    = (( 
    Partial_Sums ( 
    Conj (k,z,w))) 
    . k); 
    
      now
    
        let k be
    Element of 
    NAT ; 
    
        
    
        thus (seq
    . k) 
    = (( 
    Partial_Sums ( 
    Conj (k,z,w))) 
    . k) by 
    A1
    
        .= ((((
    Partial_Sums (z 
    ExpSeq )) 
    . k) 
    * (( 
    Partial_Sums (w 
    ExpSeq )) 
    . k)) 
    - (( 
    Partial_Sums ((z 
    + w) 
    ExpSeq )) 
    . k)) by 
    Th15
    
        .= ((((
    Partial_Sums (z 
    ExpSeq )) 
    (#) ( 
    Partial_Sums (w 
    ExpSeq ))) 
    . k) 
    - (( 
    Partial_Sums ((z 
    + w) 
    ExpSeq )) 
    . k)) by 
    VALUED_1: 5
    
        .= ((((
    Partial_Sums (z 
    ExpSeq )) 
    (#) ( 
    Partial_Sums (w 
    ExpSeq ))) 
    . k) 
    + (( 
    - ( 
    Partial_Sums ((z 
    + w) 
    ExpSeq ))) 
    . k)) by 
    VALUED_1: 8
    
        .= ((((
    Partial_Sums (z 
    ExpSeq )) 
    (#) ( 
    Partial_Sums (w 
    ExpSeq ))) 
    - ( 
    Partial_Sums ((z 
    + w) 
    ExpSeq ))) 
    . k) by 
    VALUED_1: 1;
    
      end;
    
      then
    
      
    
    A2: seq 
    = ((( 
    Partial_Sums (z 
    ExpSeq )) 
    (#) ( 
    Partial_Sums (w 
    ExpSeq ))) 
    - ( 
    Partial_Sums ((z 
    + w) 
    ExpSeq ))); 
    
      
    
      
    
    A3: (( 
    Partial_Sums (z 
    ExpSeq )) 
    (#) ( 
    Partial_Sums (w 
    ExpSeq ))) is 
    convergent & ( 
    lim (( 
    Partial_Sums (z 
    ExpSeq )) 
    (#) ( 
    Partial_Sums (w 
    ExpSeq )))) 
    = (( 
    lim ( 
    Partial_Sums (z 
    ExpSeq ))) 
    * ( 
    lim ( 
    Partial_Sums (w 
    ExpSeq )))) by 
    COMSEQ_2: 30;
    
      (
    lim seq) 
    =  
    0c by 
    A1,
    Th22;
    
      hence thesis by
    A2,
    A3,
    COMSEQ_3: 10;
    
    end;
    
    begin
    
    definition
    
      :: 
    
    SIN_COS:def14
    
      func
    
    exp -> 
    Function of 
    COMPLEX , 
    COMPLEX means 
    
      :
    
    Def14: for z be 
    Complex holds (it 
    . z) 
    = ( 
    Sum (z 
    ExpSeq )); 
    
      existence
    
      proof
    
        deffunc
    
    U(
    Element of 
    COMPLEX ) = ( 
    Sum ($1 
    ExpSeq )); 
    
        consider f be
    Function of 
    COMPLEX , 
    COMPLEX such that 
    
        
    
    A1: for x be 
    Element of 
    COMPLEX holds (f 
    . x) 
    =  
    U(x) from
    FUNCT_2:sch 4;
    
        take f;
    
        let z be
    Complex;
    
        z
    in  
    COMPLEX by 
    XCMPLX_0:def 2;
    
        hence thesis by
    A1;
    
      end;
    
      uniqueness
    
      proof
    
        let f1,f2 be
    Function of 
    COMPLEX , 
    COMPLEX ; 
    
        assume
    
        
    
    A2: for z be 
    Complex holds (f1 
    . z) 
    = ( 
    Sum (z 
    ExpSeq )); 
    
        assume
    
        
    
    A3: for z be 
    Complex holds (f2 
    . z) 
    = ( 
    Sum (z 
    ExpSeq )); 
    
        for z be
    Element of 
    COMPLEX holds (f1 
    . z) 
    = (f2 
    . z) 
    
        proof
    
          let z be
    Element of 
    COMPLEX ; 
    
          
    
          thus (f1
    . z) 
    = ( 
    Sum (z 
    ExpSeq )) by 
    A2
    
          .= (f2
    . z) by 
    A3;
    
        end;
    
        hence f1
    = f2; 
    
      end;
    
    end
    
    definition
    
      let z be
    Complex;
    
      :: 
    
    SIN_COS:def15
    
      func
    
    exp z -> 
    Complex equals ( 
    exp  
    . z); 
    
      coherence ;
    
    end
    
    definition
    
      let z be
    Complex;
    
      :: original:
    exp
    
      redefine
    
      func
    
    exp z -> 
    Element of 
    COMPLEX ; 
    
      coherence by
    XCMPLX_0:def 2;
    
    end
    
    theorem :: 
    
    SIN_COS:23
    
    for z1,z2 be
    Complex holds ( 
    exp (z1 
    + z2)) 
    = (( 
    exp z1) 
    * ( 
    exp z2)) 
    
    proof
    
      let z1,z2 be
    Complex;
    
      (
    exp (z1 
    + z2)) 
    = ( 
    Sum ((z1 
    + z2) 
    ExpSeq )) by 
    Def14
    
      .= ((
    Sum (z1 
    ExpSeq )) 
    * ( 
    Sum (z2 
    ExpSeq ))) by 
    Lm2
    
      .= ((
    exp z1) 
    * ( 
    Sum (z2 
    ExpSeq ))) by 
    Def14
    
      .= ((
    exp z1) 
    * ( 
    exp z2)) by 
    Def14;
    
      hence thesis;
    
    end;
    
    begin
    
    reserve d for
    Real;
    
    definition
    
      :: 
    
    SIN_COS:def16
    
      func
    
    sin -> 
    Function of 
    REAL , 
    REAL means 
    
      :
    
    Def16: for d holds (it 
    . d) 
    = ( 
    Im ( 
    Sum ((d 
    *  
    <i> ) 
    ExpSeq ))); 
    
      existence
    
      proof
    
        deffunc
    
    U(
    Real) = (
    Im ( 
    Sum (($1 
    *  
    <i> ) 
    ExpSeq ))); 
    
        consider f be
    Function of 
    REAL , 
    REAL such that 
    
        
    
    A1: for x be 
    Element of 
    REAL holds (f 
    . x) 
    =  
    U(x) from
    FUNCT_2:sch 4;
    
        take f;
    
        let x be
    Real;
    
        reconsider x as
    Element of 
    REAL by 
    XREAL_0:def 1;
    
        (f
    . x) 
    =  
    U(x) by
    A1;
    
        hence thesis;
    
      end;
    
      uniqueness
    
      proof
    
        let f1,f2 be
    Function of 
    REAL , 
    REAL ; 
    
        assume
    
        
    
    A2: for d holds (f1 
    . d) 
    = ( 
    Im ( 
    Sum ((d 
    *  
    <i> ) 
    ExpSeq ))); 
    
        assume
    
        
    
    A3: for d holds (f2 
    . d) 
    = ( 
    Im ( 
    Sum ((d 
    *  
    <i> ) 
    ExpSeq ))); 
    
        for d be
    Element of 
    REAL holds (f1 
    . d) 
    = (f2 
    . d) 
    
        proof
    
          let d be
    Element of 
    REAL ; 
    
          
    
          thus (f1
    . d) 
    = ( 
    Im ( 
    Sum ((d 
    *  
    <i> ) 
    ExpSeq ))) by 
    A2
    
          .= (f2
    . d) by 
    A3;
    
        end;
    
        hence f1
    = f2; 
    
      end;
    
    end
    
    definition
    
      let th be
    Real;
    
      :: 
    
    SIN_COS:def17
    
      func
    
    sin th -> 
    number equals ( 
    sin  
    . th); 
    
      coherence ;
    
    end
    
    registration
    
      let th be
    Real;
    
      cluster ( 
    sin th) -> 
    real;
    
      coherence ;
    
    end
    
    definition
    
      :: 
    
    SIN_COS:def18
    
      func
    
    cos -> 
    Function of 
    REAL , 
    REAL means 
    
      :
    
    Def18: for d holds (it 
    . d) 
    = ( 
    Re ( 
    Sum ((d 
    *  
    <i> ) 
    ExpSeq ))); 
    
      existence
    
      proof
    
        deffunc
    
    U(
    Real) = (
    Re ( 
    Sum (($1 
    *  
    <i> ) 
    ExpSeq ))); 
    
        consider f be
    Function of 
    REAL , 
    REAL such that 
    
        
    
    A1: for x be 
    Element of 
    REAL holds (f 
    . x) 
    =  
    U(x) from
    FUNCT_2:sch 4;
    
        take f;
    
        let d;
    
        reconsider d as
    Element of 
    REAL by 
    XREAL_0:def 1;
    
        (f
    . d) 
    =  
    U(d) by
    A1;
    
        hence thesis;
    
      end;
    
      uniqueness
    
      proof
    
        let f1,f2 be
    Function of 
    REAL , 
    REAL ; 
    
        assume
    
        
    
    A2: for d holds (f1 
    . d) 
    = ( 
    Re ( 
    Sum ((d 
    *  
    <i> ) 
    ExpSeq ))); 
    
        assume
    
        
    
    A3: for d holds (f2 
    . d) 
    = ( 
    Re ( 
    Sum ((d 
    *  
    <i> ) 
    ExpSeq ))); 
    
        for d be
    Element of 
    REAL holds (f1 
    . d) 
    = (f2 
    . d) 
    
        proof
    
          let d be
    Element of 
    REAL ; 
    
          
    
          thus (f1
    . d) 
    = ( 
    Re ( 
    Sum ((d 
    *  
    <i> ) 
    ExpSeq ))) by 
    A2
    
          .= (f2
    . d) by 
    A3;
    
        end;
    
        hence f1
    = f2; 
    
      end;
    
    end
    
    definition
    
      let th be
    Real;
    
      :: 
    
    SIN_COS:def19
    
      func
    
    cos th -> 
    number equals ( 
    cos  
    . th); 
    
      coherence ;
    
    end
    
    registration
    
      let th be
    Real;
    
      cluster ( 
    cos th) -> 
    real;
    
      coherence ;
    
    end
    
    theorem :: 
    
    SIN_COS:24
    
    
    
    
    
    Th24: ( 
    dom  
    sin ) 
    =  
    REAL & ( 
    dom  
    cos ) 
    =  
    REAL by 
    FUNCT_2:def 1;
    
    
    
    
    
    Lm3: ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )) 
    = (( 
    cos  
    . th) 
    + (( 
    sin  
    . th) 
    *  
    <i> )) 
    
    proof
    
      (
    Im ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    = ( 
    sin  
    . th) & ( 
    Re ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    = ( 
    cos  
    . th) by 
    Def16,
    Def18;
    
      hence thesis by
    COMPLEX1: 13;
    
    end;
    
    theorem :: 
    
    SIN_COS:25
    
    (
    exp (th 
    *  
    <i> )) 
    = (( 
    cos th) 
    + (( 
    sin th) 
    *  
    <i> )) 
    
    proof
    
      (
    exp (th 
    *  
    <i> )) 
    = ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )) by 
    Def14
    
      .= ((
    cos th) 
    + (( 
    sin th) 
    *  
    <i> )) by 
    Lm3;
    
      hence thesis;
    
    end;
    
    
    
    
    
    Lm4: (( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )) 
    *' ) 
    = ( 
    Sum (( 
    - (th 
    *  
    <i> )) 
    ExpSeq )) 
    
    proof
    
      ((
    Partial_Sums ((th 
    *  
    <i> ) 
    ExpSeq )) 
    *' ) 
    = ( 
    Partial_Sums (( 
    - (th 
    *  
    <i> )) 
    ExpSeq )) 
    
      proof
    
        
    
        
    
    A1: for n holds ((((th 
    *  
    <i> ) 
    ExpSeq ) 
    . n) 
    *' ) 
    = ((( 
    - (th 
    *  
    <i> )) 
    ExpSeq ) 
    . n) 
    
        proof
    
          defpred
    
    X[
    Nat] means ((((th
    *  
    <i> ) 
    ExpSeq ) 
    . $1) 
    *' ) 
    = ((( 
    - (th 
    *  
    <i> )) 
    ExpSeq ) 
    . $1); 
    
          ((((th
    *  
    <i> ) 
    ExpSeq ) 
    .  
    0 ) 
    *' ) 
    =  
    1r by 
    Th3,
    COMPLEX1: 30
    
          .= (((
    - (th 
    *  
    <i> )) 
    ExpSeq ) 
    .  
    0 ) by 
    Th3;
    
          then
    
          
    
    A2: 
    X[
    0 ]; 
    
          
    
          
    
    A3: for n st 
    X[n] holds
    X[(n
    + 1)] 
    
          proof
    
            let n;
    
            assume
    
            
    
    A4: ((((th 
    *  
    <i> ) 
    ExpSeq ) 
    . n) 
    *' ) 
    = ((( 
    - (th 
    *  
    <i> )) 
    ExpSeq ) 
    . n); 
    
            
    
            thus ((((th
    *  
    <i> ) 
    ExpSeq ) 
    . (n 
    + 1)) 
    *' ) 
    = ((((((th 
    *  
    <i> ) 
    ExpSeq ) 
    . n) 
    * (th 
    *  
    <i> )) 
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> ))) 
    *' ) by 
    Th3
    
            .= (((((th
    *  
    <i> ) 
    ExpSeq ) 
    . n) 
    * ((th 
    *  
    <i> ) 
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> )))) 
    *' ) 
    
            .= ((((
    - (th 
    *  
    <i> )) 
    ExpSeq ) 
    . n) 
    * (((th 
    *  
    <i> ) 
    / (n 
    + 1)) 
    *' )) by 
    A4,
    COMPLEX1: 35
    
            .= ((((
    - (th 
    *  
    <i> )) 
    ExpSeq ) 
    . n) 
    * ((( 
    0  
    + (th 
    *  
    <i> )) 
    *' ) 
    / ((n 
    + 1) 
    *' ))) by 
    COMPLEX1: 37
    
            .= ((((
    - (th 
    *  
    <i> )) 
    ExpSeq ) 
    . n) 
    * (( 
    0  
    + (( 
    - th) 
    *  
    <i> )) 
    / (((n 
    + 1) 
    + ( 
    0  
    *  
    <i> )) 
    *' ))) by 
    Lm1
    
            .= ((((
    - (th 
    *  
    <i> )) 
    ExpSeq ) 
    . n) 
    * (( 
    0  
    + (( 
    - th) 
    *  
    <i> )) 
    / ((n 
    + 1) 
    + (( 
    -  
    0 ) 
    *  
    <i> )))) by 
    Lm1
    
            .= (((((
    - (th 
    *  
    <i> )) 
    ExpSeq ) 
    . n) 
    * ( 
    - (th 
    *  
    <i> ))) 
    / ((n 
    + 1) 
    + ( 
    0  
    *  
    <i> ))) 
    
            .= (((
    - (th 
    *  
    <i> )) 
    ExpSeq ) 
    . (n 
    + 1)) by 
    Th3;
    
          end;
    
          thus for n holds
    X[n] from
    NAT_1:sch 2(
    A2,
    A3);
    
        end;
    
        defpred
    
    X[
    Nat] means (((
    Partial_Sums ((th 
    *  
    <i> ) 
    ExpSeq )) 
    *' ) 
    . $1) 
    = (( 
    Partial_Sums (( 
    - (th 
    *  
    <i> )) 
    ExpSeq )) 
    . $1); 
    
        (((
    Partial_Sums ((th 
    *  
    <i> ) 
    ExpSeq )) 
    *' ) 
    .  
    0 ) 
    = ((( 
    Partial_Sums ((th 
    *  
    <i> ) 
    ExpSeq )) 
    .  
    0 ) 
    *' ) by 
    COMSEQ_2:def 2
    
        .= ((((th
    *  
    <i> ) 
    ExpSeq ) 
    .  
    0 ) 
    *' ) by 
    SERIES_1:def 1
    
        .= 1 by
    Th3,
    COMPLEX1: 30
    
        .= (((
    - (th 
    *  
    <i> )) 
    ExpSeq ) 
    .  
    0 ) by 
    Th3
    
        .= ((
    Partial_Sums (( 
    - (th 
    *  
    <i> )) 
    ExpSeq )) 
    .  
    0 ) by 
    SERIES_1:def 1;
    
        then
    
        
    
    A5: 
    X[
    0 ]; 
    
        
    
        
    
    A6: for n be 
    Nat st 
    X[n] holds
    X[(n
    + 1)] 
    
        proof
    
          let n be
    Nat such that 
    
          
    
    A7: ((( 
    Partial_Sums ((th 
    *  
    <i> ) 
    ExpSeq )) 
    *' ) 
    . n) 
    = (( 
    Partial_Sums (( 
    - (th 
    *  
    <i> )) 
    ExpSeq )) 
    . n); 
    
          
    
          
    
    A8: n 
    in  
    NAT by 
    ORDINAL1:def 12;
    
          
    
          thus (((
    Partial_Sums ((th 
    *  
    <i> ) 
    ExpSeq )) 
    *' ) 
    . (n 
    + 1)) 
    = ((( 
    Partial_Sums ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . (n 
    + 1)) 
    *' ) by 
    COMSEQ_2:def 2
    
          .= ((((
    Partial_Sums ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . n) 
    + (((th 
    *  
    <i> ) 
    ExpSeq ) 
    . (n 
    + 1))) 
    *' ) by 
    SERIES_1:def 1
    
          .= ((((
    Partial_Sums ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . n) 
    *' ) 
    + ((((th 
    *  
    <i> ) 
    ExpSeq ) 
    . (n 
    + 1)) 
    *' )) by 
    COMPLEX1: 32
    
          .= (((
    Partial_Sums (( 
    - (th 
    *  
    <i> )) 
    ExpSeq )) 
    . n) 
    + ((((th 
    *  
    <i> ) 
    ExpSeq ) 
    . (n 
    + 1)) 
    *' )) by 
    A7,
    COMSEQ_2:def 2,
    A8
    
          .= (((
    Partial_Sums (( 
    - (th 
    *  
    <i> )) 
    ExpSeq )) 
    . n) 
    + ((( 
    - (th 
    *  
    <i> )) 
    ExpSeq ) 
    . (n 
    + 1))) by 
    A1
    
          .= ((
    Partial_Sums (( 
    - (th 
    *  
    <i> )) 
    ExpSeq )) 
    . (n 
    + 1)) by 
    SERIES_1:def 1;
    
        end;
    
        for n be
    Nat holds 
    X[n] from
    NAT_1:sch 2(
    A5,
    A6);
    
        hence thesis;
    
      end;
    
      hence thesis by
    COMSEQ_2: 12;
    
    end;
    
    theorem :: 
    
    SIN_COS:26
    
    ((
    exp (th 
    *  
    <i> )) 
    *' ) 
    = ( 
    exp ( 
    - (th 
    *  
    <i> ))) 
    
    proof
    
      ((
    exp (th 
    *  
    <i> )) 
    *' ) 
    = (( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )) 
    *' ) by 
    Def14
    
      .= (
    Sum (( 
    - (th 
    *  
    <i> )) 
    ExpSeq )) by 
    Lm4
    
      .= (
    exp ( 
    - (th 
    *  
    <i> ))) by 
    Def14;
    
      hence thesis;
    
    end;
    
    
    
    
    
    Lm5: for th1 be 
    Real st th 
    = th1 holds 
    |.(
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )).| 
    = 1 & 
    |.(
    sin  
    . th1).| 
    <= 1 & 
    |.(
    cos  
    . th1).| 
    <= 1 
    
    proof
    
      let th1 be
    Real such that 
    
      
    
    A1: th 
    = th1; 
    
      
    
      
    
    A2: (( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )) 
    * ( 
    Sum (( 
    - (th 
    *  
    <i> )) 
    ExpSeq ))) 
    = ( 
    Sum (((th 
    *  
    <i> ) 
    + ( 
    - (th 
    *  
    <i> ))) 
    ExpSeq )) by 
    Lm2
    
      .=
    1r by 
    Th9;
    
      (
    |.(
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )).| 
    *  
    |.(
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )).|) 
    =  
    |.((
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )) 
    * ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))).| by 
    COMPLEX1: 65
    
      .=
    |.((
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )) 
    * (( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )) 
    *' )).| by 
    COMPLEX1: 69
    
      .= 1 by
    A2,
    Lm4,
    COMPLEX1: 48;
    
      then
    
      
    
    A3: 
    |.(
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )).| 
    = (1 
    /  
    |.(
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )).|) & 
    |.(
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )).| 
    <>  
    0 by 
    XCMPLX_1: 73;
    
      
    |.(
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )).| 
    <> ( 
    - 1) by 
    COMPLEX1: 46;
    
      hence
    
      
    
    A4: 
    |.(
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )).| 
    = 1 by 
    A3,
    XCMPLX_1: 199;
    
      
    |.(
    sin  
    . th).| 
    =  
    |.(
    Im ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))).| & 
    |.(
    cos  
    . th).| 
    =  
    |.(
    Re ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))).| by 
    Def16,
    Def18;
    
      hence thesis by
    A1,
    A4,
    COMSEQ_3: 13;
    
    end;
    
    theorem :: 
    
    SIN_COS:27
    
    
    |.(
    exp (th 
    *  
    <i> )).| 
    = 1 & for th be 
    Real holds 
    |.(
    sin th).| 
    <= 1 & 
    |.(
    cos th).| 
    <= 1 
    
    proof
    
      
    
      thus
    |.(
    exp (th 
    *  
    <i> )).| 
    =  
    |.(
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )).| by 
    Def14
    
      .= 1 by
    Lm5;
    
      let th be
    Real;
    
      thus
    |.(
    sin th).| 
    <= 1 by 
    Lm5;
    
      thus thesis by
    Lm5;
    
    end;
    
    reserve th,th1,th2 for
    Real;
    
    theorem :: 
    
    SIN_COS:28
    
    
    
    
    
    Th28: ((( 
    cos  
    . th) 
    ^2 ) 
    + (( 
    sin  
    . th) 
    ^2 )) 
    = 1 & ((( 
    cos  
    . th) 
    * ( 
    cos  
    . th)) 
    + (( 
    sin  
    . th) 
    * ( 
    sin  
    . th))) 
    = 1 
    
    proof
    
      reconsider th1 = th as
    Real;
    
      
    
      
    
    A1: (( 
    Sum ((th1 
    *  
    <i> ) 
    ExpSeq )) 
    * ( 
    Sum (( 
    - (th1 
    *  
    <i> )) 
    ExpSeq ))) 
    = ( 
    Sum (((th1 
    *  
    <i> ) 
    + ( 
    - (th1 
    *  
    <i> ))) 
    ExpSeq )) by 
    Lm2
    
      .=
    1r by 
    Th9;
    
      
    
      thus (((
    cos  
    . th) 
    ^2 ) 
    + (( 
    sin  
    . th) 
    ^2 )) 
    = ((( 
    Re ( 
    Sum ((th1 
    *  
    <i> ) 
    ExpSeq ))) 
    ^2 ) 
    + (( 
    sin  
    . th) 
    ^2 )) by 
    Def18
    
      .= (((
    Re ( 
    Sum ((th1 
    *  
    <i> ) 
    ExpSeq ))) 
    ^2 ) 
    + (( 
    Im ( 
    Sum ((th1 
    *  
    <i> ) 
    ExpSeq ))) 
    ^2 )) by 
    Def16
    
      .=
    |.((
    Sum ((th1 
    *  
    <i> ) 
    ExpSeq )) 
    * ( 
    Sum ((th1 
    *  
    <i> ) 
    ExpSeq ))).| by 
    COMPLEX1: 68
    
      .=
    |.((
    Sum ((th1 
    *  
    <i> ) 
    ExpSeq )) 
    * (( 
    Sum ((th1 
    *  
    <i> ) 
    ExpSeq )) 
    *' )).| by 
    COMPLEX1: 69
    
      .= 1 by
    A1,
    Lm4,
    COMPLEX1: 48;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:29
    
    (((
    cos th) 
    ^2 ) 
    + (( 
    sin th) 
    ^2 )) 
    = 1 & ((( 
    cos th) 
    * ( 
    cos th)) 
    + (( 
    sin th) 
    * ( 
    sin th))) 
    = 1 by 
    Th28;
    
    theorem :: 
    
    SIN_COS:30
    
    
    
    
    
    Th30: ( 
    cos  
    .  
    0 ) 
    = 1 & ( 
    sin  
    .  
    0 ) 
    =  
    0 & ( 
    cos  
    . ( 
    - th)) 
    = ( 
    cos  
    . th) & ( 
    sin  
    . ( 
    - th)) 
    = ( 
    - ( 
    sin  
    . th)) 
    
    proof
    
      
    
      thus (
    cos  
    .  
    0 ) 
    = ( 
    Re ( 
    Sum (( 
    0  
    *  
    <i> ) 
    ExpSeq ))) by 
    Def18
    
      .= 1 by
    Th9,
    COMPLEX1: 6;
    
      
    
      thus (
    sin  
    .  
    0 ) 
    = ( 
    Im ( 
    Sum (( 
    0  
    *  
    <i> ) 
    ExpSeq ))) by 
    Def16
    
      .=
    0 by 
    Th9,
    COMPLEX1: 6;
    
      reconsider th1 = th as
    Real;
    
      
    
      thus (
    cos  
    . ( 
    - th)) 
    = ( 
    Re ( 
    Sum ((( 
    -  
    0 ) 
    + (( 
    - th1) 
    *  
    <i> )) 
    ExpSeq ))) by 
    Def18
    
      .= (
    Re ( 
    Sum (( 
    - (th1 
    *  
    <i> )) 
    ExpSeq ))) 
    
      .= (
    Re (( 
    Sum ((th1 
    *  
    <i> ) 
    ExpSeq )) 
    *' )) by 
    Lm4
    
      .= (
    Re ((( 
    cos  
    . th) 
    + (( 
    sin  
    . th) 
    *  
    <i> )) 
    *' )) by 
    Lm3
    
      .= (
    Re (( 
    cos  
    . th) 
    + (( 
    - ( 
    sin  
    . th)) 
    *  
    <i> ))) by 
    Lm1
    
      .= (
    cos  
    . th) by 
    COMPLEX1: 12;
    
      
    
      thus (
    sin  
    . ( 
    - th)) 
    = ( 
    Im ( 
    Sum ((( 
    -  
    0 ) 
    + (( 
    - th1) 
    *  
    <i> )) 
    ExpSeq ))) by 
    Def16
    
      .= (
    Im ( 
    Sum (( 
    - (th1 
    *  
    <i> )) 
    ExpSeq ))) 
    
      .= (
    Im (( 
    Sum ((th1 
    *  
    <i> ) 
    ExpSeq )) 
    *' )) by 
    Lm4
    
      .= (
    Im ((( 
    cos  
    . th) 
    + (( 
    sin  
    . th) 
    *  
    <i> )) 
    *' )) by 
    Lm3
    
      .= (
    Im (( 
    cos  
    . th) 
    + (( 
    - ( 
    sin  
    . th)) 
    *  
    <i> ))) by 
    Lm1
    
      .= (
    - ( 
    sin  
    . th)) by 
    COMPLEX1: 12;
    
    end;
    
    theorem :: 
    
    SIN_COS:31
    
    (
    cos  
    0 ) 
    = 1 & ( 
    sin  
    0 ) 
    =  
    0 & ( 
    cos ( 
    - th)) 
    = ( 
    cos th) & ( 
    sin ( 
    - th)) 
    = ( 
    - ( 
    sin th)) by 
    Th30;
    
    definition
    
      let th be
    Real;
    
      deffunc
    
    U(
    Nat) = ((((
    - 1) 
    |^ $1) 
    * (th 
    |^ ((2 
    * $1) 
    + 1))) 
    / (((2 
    * $1) 
    + 1) 
    ! )); 
    
      :: 
    
    SIN_COS:def20
    
      func th
    
    P_sin -> 
    Real_Sequence means 
    
      :
    
    Def20: for n holds (it 
    . n) 
    = (((( 
    - 1) 
    |^ n) 
    * (th 
    |^ ((2 
    * n) 
    + 1))) 
    / (((2 
    * n) 
    + 1) 
    ! )); 
    
      existence
    
      proof
    
        thus ex s be
    Real_Sequence st for n holds (s 
    . n) 
    =  
    U(n) from
    SEQ_1:sch 1;
    
      end;
    
      uniqueness
    
      proof
    
        let s1,s2 be
    Real_Sequence such that 
    
        
    
    A1: for x be 
    Nat holds (s1 
    . x) 
    =  
    U(x) and
    
        
    
    A2: for x be 
    Nat holds (s2 
    . x) 
    =  
    U(x);
    
        let x be
    Element of 
    NAT ; 
    
        
    
        thus (s1
    . x) 
    =  
    U(x) by
    A1
    
        .= (s2
    . x) by 
    A2;
    
      end;
    
      deffunc
    
    U(
    Nat) = ((((
    - 1) 
    |^ $1) 
    * (th 
    |^ (2 
    * $1))) 
    / ((2 
    * $1) 
    ! )); 
    
      :: 
    
    SIN_COS:def21
    
      func th
    
    P_cos -> 
    Real_Sequence means 
    
      :
    
    Def21: for n holds (it 
    . n) 
    = (((( 
    - 1) 
    |^ n) 
    * (th 
    |^ (2 
    * n))) 
    / ((2 
    * n) 
    ! )); 
    
      existence
    
      proof
    
        thus ex s be
    Real_Sequence st for n holds (s 
    . n) 
    =  
    U(n) from
    SEQ_1:sch 1;
    
      end;
    
      uniqueness
    
      proof
    
        let s1,s2 be
    Real_Sequence such that 
    
        
    
    A3: for x be 
    Nat holds (s1 
    . x) 
    =  
    U(x) and
    
        
    
    A4: for x be 
    Nat holds (s2 
    . x) 
    =  
    U(x);
    
        let x be
    Element of 
    NAT ; 
    
        
    
        thus (s1
    . x) 
    =  
    U(x) by
    A3
    
        .= (s2
    . x) by 
    A4;
    
      end;
    
    end
    
    theorem :: 
    
    SIN_COS:32
    
    
    
    
    
    Th32: for z be 
    Complex, k holds (z 
    |^ (2 
    * k)) 
    = ((z 
    |^ k) 
    |^ 2) & (z 
    |^ (2 
    * k)) 
    = ((z 
    |^ 2) 
    |^ k) 
    
    proof
    
      let z be
    Complex, k; 
    
      defpred
    
    X[
    Nat] means (z
    |^ (2 
    * $1)) 
    = ((z 
    |^ $1) 
    |^ 2) & (z 
    |^ (2 
    * $1)) 
    = ((z 
    |^ 2) 
    |^ $1); 
    
      
    
      
    
    A1: (z 
    |^ (2 
    *  
    0 )) 
    = (1 
    * 1) by 
    NEWTON: 4
    
      .= ((1
    |^ 1) 
    * 1) 
    
      .= (1
    |^ (1 
    + 1)) 
    
      .= ((z
    |^  
    0 ) 
    |^ 2) by 
    NEWTON: 4;
    
      (z
    |^ (2 
    *  
    0 )) 
    = 1 by 
    NEWTON: 4
    
      .= ((z
    |^ 2) 
    |^  
    0 ) by 
    NEWTON: 4;
    
      then
    
      
    
    A2: 
    X[
    0 ] by 
    A1;
    
      
    
      
    
    A3: for k st 
    X[k] holds
    X[(k
    + 1)] 
    
      proof
    
        let k;
    
        assume that
    
        
    
    A4: (z 
    |^ (2 
    * k)) 
    = ((z 
    |^ k) 
    |^ 2) and 
    
        
    
    A5: (z 
    |^ (2 
    * k)) 
    = ((z 
    |^ 2) 
    |^ k); 
    
        
    
        
    
    A6: (z 
    |^ (2 
    * (k 
    + 1))) 
    = ((z 
    GeoSeq ) 
    . (((2 
    * k) 
    + 1) 
    + 1)) 
    
        .= (((z
    GeoSeq ) 
    . ((2 
    * k) 
    + 1)) 
    * z) by 
    COMSEQ_3:def 1
    
        .= (((z
    |^ (2 
    * k)) 
    * z) 
    * z) by 
    COMSEQ_3:def 1;
    
        
    
        then
    
        
    
    A7: (z 
    |^ (2 
    * (k 
    + 1))) 
    = (((((z 
    |^ k) 
    GeoSeq ) 
    . (1 
    + 1)) 
    * z) 
    * z) by 
    A4
    
        .= ((((((z
    |^ k) 
    GeoSeq ) 
    . ( 
    0  
    + 1)) 
    * (z 
    |^ k)) 
    * z) 
    * z) by 
    COMSEQ_3:def 1
    
        .= (((((((z
    |^ k) 
    GeoSeq ) 
    .  
    0 ) 
    * (z 
    |^ k)) 
    * (z 
    |^ k)) 
    * z) 
    * z) by 
    COMSEQ_3:def 1
    
        .= ((((
    1r  
    * (z 
    |^ k)) 
    * (z 
    |^ k)) 
    * z) 
    * z) by 
    COMSEQ_3:def 1
    
        .= ((
    1r  
    * (((z 
    GeoSeq ) 
    . k) 
    * z)) 
    * ((z 
    |^ k) 
    * z)) 
    
        .= ((
    1r  
    * ((z 
    GeoSeq ) 
    . (k 
    + 1))) 
    * (((z 
    GeoSeq ) 
    . k) 
    * z)) by 
    COMSEQ_3:def 1
    
        .= ((
    1r  
    * (z 
    |^ (k 
    + 1))) 
    * ((z 
    GeoSeq ) 
    . (k 
    + 1))) by 
    COMSEQ_3:def 1
    
        .= (((((z
    |^ (k 
    + 1)) 
    GeoSeq ) 
    .  
    0 ) 
    * (z 
    |^ (k 
    + 1))) 
    * (z 
    |^ (k 
    + 1))) by 
    COMSEQ_3:def 1
    
        .= ((((z
    |^ (k 
    + 1)) 
    GeoSeq ) 
    . ( 
    0  
    + 1)) 
    * (z 
    |^ (k 
    + 1))) by 
    COMSEQ_3:def 1
    
        .= (((z
    |^ (k 
    + 1)) 
    GeoSeq ) 
    . (( 
    0  
    + 1) 
    + 1)) by 
    COMSEQ_3:def 1
    
        .= ((z
    |^ (k 
    + 1)) 
    |^ 2); 
    
        (z
    |^ (2 
    * (k 
    + 1))) 
    = (((z 
    |^ 2) 
    |^ k) 
    * (( 
    1r  
    * z) 
    * z)) by 
    A5,
    A6
    
        .= (((z
    |^ 2) 
    |^ k) 
    * ((((z 
    GeoSeq ) 
    .  
    0 ) 
    * z) 
    * z)) by 
    COMSEQ_3:def 1
    
        .= (((z
    |^ 2) 
    |^ k) 
    * (((z 
    GeoSeq ) 
    . ( 
    0  
    + 1)) 
    * z)) by 
    COMSEQ_3:def 1
    
        .= (((z
    |^ 2) 
    |^ k) 
    * ((z 
    GeoSeq ) 
    . (( 
    0  
    + 1) 
    + 1))) by 
    COMSEQ_3:def 1
    
        .= ((z
    |^ 2) 
    |^ (k 
    + 1)) by 
    COMSEQ_3:def 1;
    
        hence thesis by
    A7;
    
      end;
    
      for k holds
    X[k] from
    NAT_1:sch 2(
    A2,
    A3);
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:33
    
    
    
    
    
    Th33: for th holds ((th 
    *  
    <i> ) 
    |^ (2 
    * k)) 
    = ((( 
    - 1) 
    |^ k) 
    * (th 
    |^ (2 
    * k))) & ((th 
    *  
    <i> ) 
    |^ ((2 
    * k) 
    + 1)) 
    = (((( 
    - 1) 
    |^ k) 
    * (th 
    |^ ((2 
    * k) 
    + 1))) 
    *  
    <i> ) 
    
    proof
    
      let th;
    
      
    
      
    
    A1: (((( 
    - 1) 
    |^  
    0 ) 
    * (th 
    |^ (2 
    *  
    0 ))) 
    *  
    <i> ) 
    = (((( 
    - 1) 
    |^  
    0 ) 
    * ((th 
    GeoSeq ) 
    .  
    0 )) 
    *  
    <i> ) by 
    PREPOWER:def 1
    
      .= ((((
    - 1) 
    |^  
    0 ) 
    * 1) 
    *  
    <i> ) by 
    PREPOWER: 3
    
      .= ((((
    - 1) 
    GeoSeq ) 
    .  
    0 ) 
    *  
    <i> ) by 
    PREPOWER:def 1
    
      .= (1
    *  
    <i> ) by 
    PREPOWER: 3;
    
      defpred
    
    X[
    Nat] means ((th
    *  
    <i> ) 
    |^ (2 
    * $1)) 
    = ((( 
    - 1) 
    |^ $1) 
    * (th 
    |^ (2 
    * $1))) & ((th 
    *  
    <i> ) 
    |^ ((2 
    * $1) 
    + 1)) 
    = (((( 
    - 1) 
    |^ $1) 
    * (th 
    |^ ((2 
    * $1) 
    + 1))) 
    *  
    <i> ); 
    
      ((((
    - 1) 
    |^  
    0 ) 
    * (th 
    |^ ((2 
    *  
    0 ) 
    + 1))) 
    *  
    <i> ) 
    = (((( 
    - 1) 
    |^  
    0 ) 
    * ((th 
    GeoSeq ) 
    . ((2 
    *  
    0 ) 
    + 1))) 
    *  
    <i> ) by 
    PREPOWER:def 1
    
      .= ((((
    - 1) 
    |^  
    0 ) 
    * (((th 
    GeoSeq ) 
    .  
    0 ) 
    * th)) 
    *  
    <i> ) by 
    PREPOWER: 3
    
      .= ((((
    - 1) 
    |^  
    0 ) 
    * (1 
    * th)) 
    *  
    <i> ) by 
    PREPOWER: 3
    
      .= (((((
    - 1) 
    GeoSeq ) 
    .  
    0 ) 
    * th) 
    *  
    <i> ) by 
    PREPOWER:def 1
    
      .= ((1
    * th) 
    *  
    <i> ) by 
    PREPOWER: 3
    
      .= (th
    *  
    <i> ); 
    
      then
    
      
    
    A2: 
    X[
    0 ] by 
    A1,
    COMSEQ_3:def 1;
    
      
    
      
    
    A3: for k st 
    X[k] holds
    X[(k
    + 1)] 
    
      proof
    
        let k;
    
        assume that
    
        
    
    A4: ((th 
    *  
    <i> ) 
    |^ (2 
    * k)) 
    = ((( 
    - 1) 
    |^ k) 
    * (th 
    |^ (2 
    * k))) and 
    
        
    
    A5: ((th 
    *  
    <i> ) 
    |^ ((2 
    * k) 
    + 1)) 
    = (((( 
    - 1) 
    |^ k) 
    * (th 
    |^ ((2 
    * k) 
    + 1))) 
    *  
    <i> ); 
    
        
    
        
    
    A6: ((th 
    *  
    <i> ) 
    |^ (2 
    * (k 
    + 1))) 
    = (((th 
    *  
    <i> ) 
    |^ 2) 
    |^ (k 
    + 1)) by 
    Th32
    
        .= ((((th
    *  
    <i> ) 
    |^ 2) 
    |^ k) 
    * ((th 
    *  
    <i> ) 
    |^ 2)) by 
    COMSEQ_3:def 1
    
        .= ((((
    - 1) 
    |^ k) 
    * (th 
    |^ (2 
    * k))) 
    * (((th 
    *  
    <i> ) 
    GeoSeq ) 
    . (1 
    + 1))) by 
    A4,
    Th32
    
        .= ((((
    - 1) 
    |^ k) 
    * (th 
    |^ (2 
    * k))) 
    * ((((th 
    *  
    <i> ) 
    GeoSeq ) 
    . ( 
    0  
    + 1)) 
    * (th 
    *  
    <i> ))) by 
    COMSEQ_3:def 1
    
        .= ((((
    - 1) 
    |^ k) 
    * (th 
    |^ (2 
    * k))) 
    * (((((th 
    *  
    <i> ) 
    GeoSeq ) 
    .  
    0 ) 
    * (th 
    *  
    <i> )) 
    * (th 
    *  
    <i> ))) by 
    COMSEQ_3:def 1
    
        .= ((((
    - 1) 
    |^ k) 
    * (th 
    |^ (2 
    * k))) 
    * (( 
    1r  
    * (th 
    *  
    <i> )) 
    * (th 
    *  
    <i> ))) by 
    COMSEQ_3:def 1
    
        .= ((((((
    - 1) 
    |^ k) 
    * ( 
    - 1)) 
    * (th 
    |^ (2 
    * k))) 
    * th) 
    * th) 
    
        .= (((((((
    - 1) 
    GeoSeq ) 
    . k) 
    * ( 
    - 1)) 
    * (th 
    |^ (2 
    * k))) 
    * th) 
    * th) by 
    PREPOWER:def 1
    
        .= ((((((
    - 1) 
    GeoSeq ) 
    . (k 
    + 1)) 
    * (th 
    |^ (2 
    * k))) 
    * th) 
    * th) by 
    PREPOWER: 3
    
        .= (((((
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ (2 
    * k))) 
    * th) 
    * th) by 
    PREPOWER:def 1
    
        .= (((((
    - 1) 
    |^ (k 
    + 1)) 
    * ((th 
    GeoSeq ) 
    . (2 
    * k))) 
    * th) 
    * th) by 
    PREPOWER:def 1
    
        .= ((((
    - 1) 
    |^ (k 
    + 1)) 
    * (((th 
    GeoSeq ) 
    . (2 
    * k)) 
    * th)) 
    * th) 
    
        .= ((((
    - 1) 
    |^ (k 
    + 1)) 
    * ((th 
    GeoSeq ) 
    . ((2 
    * k) 
    + 1))) 
    * th) by 
    PREPOWER: 3
    
        .= (((
    - 1) 
    |^ (k 
    + 1)) 
    * (((th 
    GeoSeq ) 
    . ((2 
    * k) 
    + 1)) 
    * th)) 
    
        .= (((
    - 1) 
    |^ (k 
    + 1)) 
    * ((th 
    GeoSeq ) 
    . (((2 
    * k) 
    + 1) 
    + 1))) by 
    PREPOWER: 3
    
        .= (((
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ (2 
    * (k 
    + 1)))) by 
    PREPOWER:def 1;
    
        ((th
    *  
    <i> ) 
    |^ ((2 
    * (k 
    + 1)) 
    + 1)) 
    = ((((th 
    *  
    <i> ) 
    GeoSeq ) 
    . (((2 
    * k) 
    + 1) 
    + 1)) 
    * (th 
    *  
    <i> )) by 
    COMSEQ_3:def 1
    
        .= (((((th
    *  
    <i> ) 
    GeoSeq ) 
    . ((2 
    * k) 
    + 1)) 
    * (th 
    *  
    <i> )) 
    * (th 
    *  
    <i> )) by 
    COMSEQ_3:def 1
    
        .= (((((((
    - 1) 
    |^ k) 
    * ( 
    - 1)) 
    * (th 
    |^ ((2 
    * k) 
    + 1))) 
    * th) 
    * th) 
    *  
    <i> ) by 
    A5
    
        .= ((((((((
    - 1) 
    GeoSeq ) 
    . k) 
    * ( 
    - 1)) 
    * (th 
    |^ ((2 
    * k) 
    + 1))) 
    * th) 
    * th) 
    *  
    <i> ) by 
    PREPOWER:def 1
    
        .= (((((((
    - 1) 
    GeoSeq ) 
    . (k 
    + 1)) 
    * (th 
    |^ ((2 
    * k) 
    + 1))) 
    * th) 
    * th) 
    *  
    <i> ) by 
    PREPOWER: 3
    
        .= ((((((
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ ((2 
    * k) 
    + 1))) 
    * th) 
    * th) 
    *  
    <i> ) by 
    PREPOWER:def 1
    
        .= ((((((
    - 1) 
    |^ (k 
    + 1)) 
    * ((th 
    GeoSeq ) 
    . ((2 
    * k) 
    + 1))) 
    * th) 
    * th) 
    *  
    <i> ) by 
    PREPOWER:def 1
    
        .= (((((
    - 1) 
    |^ (k 
    + 1)) 
    * (((th 
    GeoSeq ) 
    . ((2 
    * k) 
    + 1)) 
    * th)) 
    * th) 
    *  
    <i> ) 
    
        .= (((((
    - 1) 
    |^ (k 
    + 1)) 
    * ((th 
    GeoSeq ) 
    . (((2 
    * k) 
    + 1) 
    + 1))) 
    * th) 
    *  
    <i> ) by 
    PREPOWER: 3
    
        .= ((((
    - 1) 
    |^ (k 
    + 1)) 
    * (((th 
    GeoSeq ) 
    . (((2 
    * k) 
    + 1) 
    + 1)) 
    * th)) 
    *  
    <i> ) 
    
        .= ((((
    - 1) 
    |^ (k 
    + 1)) 
    * ((th 
    GeoSeq ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) 
    *  
    <i> ) by 
    PREPOWER: 3
    
        .= ((((
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ ((2 
    * (k 
    + 1)) 
    + 1))) 
    *  
    <i> ) by 
    PREPOWER:def 1;
    
        hence thesis by
    A6;
    
      end;
    
      for k holds
    X[k] from
    NAT_1:sch 2(
    A2,
    A3);
    
      hence thesis;
    
    end;
    
    ::$Canceled
    
    theorem :: 
    
    SIN_COS:35
    
    
    
    
    
    Th34: for th holds (( 
    Partial_Sums (th 
    P_sin )) 
    . n) 
    = (( 
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . ((2 
    * n) 
    + 1)) & (( 
    Partial_Sums (th 
    P_cos )) 
    . n) 
    = (( 
    Partial_Sums ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . (2 
    * n)) 
    
    proof
    
      let th;
    
      now
    
        
    
        
    
    A1: (( 
    Partial_Sums (th 
    P_sin )) 
    .  
    0 ) 
    = ((th 
    P_sin ) 
    .  
    0 ) by 
    SERIES_1:def 1
    
        .= ((((
    - 1) 
    |^  
    0 ) 
    * (th 
    |^ ((2 
    *  
    0 ) 
    + 1))) 
    / (((2 
    *  
    0 ) 
    + 1) 
    ! )) by 
    Def20;
    
        
    
        
    
    A2: (((2 
    *  
    0 ) 
    + 1) 
    ! ) 
    = (( 
    0  
    ! ) 
    * 1) by 
    NEWTON: 15
    
        .= 1 by
    NEWTON: 12;
    
        
    
        
    
    A3: (( 
    - 1) 
    |^  
    0 ) 
    = ((( 
    - 1) 
    GeoSeq ) 
    .  
    0 ) by 
    PREPOWER:def 1
    
        .= 1 by
    PREPOWER: 3;
    
        
    
        
    
    A4: (( 
    Partial_Sums (th 
    P_cos )) 
    .  
    0 ) 
    = ((th 
    P_cos ) 
    .  
    0 ) by 
    SERIES_1:def 1
    
        .= ((((
    - 1) 
    |^  
    0 ) 
    * (th 
    |^ (2 
    *  
    0 ))) 
    / ((2 
    *  
    0 ) 
    ! )) by 
    Def21
    
        .= ((1
    * ((th 
    GeoSeq ) 
    .  
    0 )) 
    / 1) by 
    A3,
    NEWTON: 12,
    PREPOWER:def 1
    
        .= 1 by
    PREPOWER: 3;
    
        
    
        
    
    A5: (( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq )) 
    .  
    0 ) 
    = ( 
    Im (((th 
    *  
    <i> ) 
    ExpSeq ) 
    .  
    0 )) & (( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . 1) 
    = ( 
    Im (((th 
    *  
    <i> ) 
    ExpSeq ) 
    . 1)) by 
    COMSEQ_3:def 6;
    
        
    
        
    
    A6: (th 
    *  
    <i> ) 
    = ( 
    0  
    + (th 
    *  
    <i> )); 
    
        
    
        
    
    A7: (( 
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . ((2 
    *  
    0 ) 
    + 1)) 
    = ((( 
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    .  
    0 ) 
    + (( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . 1)) by 
    SERIES_1:def 1
    
        .= (((
    Im ((th 
    *  
    <i> ) 
    ExpSeq )) 
    .  
    0 ) 
    + (( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . 1)) by 
    SERIES_1:def 1
    
        .= (
    0  
    + ( 
    Im (((th 
    *  
    <i> ) 
    ExpSeq ) 
    . ( 
    0  
    + 1)))) by 
    A5,
    Th3,
    COMPLEX1: 6
    
        .= (
    0  
    + ( 
    Im (((((th 
    *  
    <i> ) 
    ExpSeq ) 
    .  
    0 ) 
    * (th 
    *  
    <i> )) 
    / (( 
    0  
    + 1) 
    + ( 
    0  
    *  
    <i> ))))) by 
    Th3
    
        .= (
    Im ((1 
    * (th 
    *  
    <i> )) 
    / 1)) by 
    Th3
    
        .= th by
    A6,
    COMPLEX1: 12;
    
        defpred
    
    X[
    Nat] means ((
    Partial_Sums (th 
    P_sin )) 
    . $1) 
    = (( 
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . ((2 
    * $1) 
    + 1)) & (( 
    Partial_Sums (th 
    P_cos )) 
    . $1) 
    = (( 
    Partial_Sums ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . (2 
    * $1)); 
    
        ((
    Partial_Sums ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . (2 
    *  
    0 )) 
    = (( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq )) 
    .  
    0 ) by 
    SERIES_1:def 1
    
        .= (
    Re (((th 
    *  
    <i> ) 
    ExpSeq ) 
    .  
    0 )) by 
    COMSEQ_3:def 5
    
        .= 1 by
    Th3,
    COMPLEX1: 6;
    
        then
    
        
    
    A8: 
    X[
    0 ] by 
    A1,
    A2,
    A3,
    A4,
    A7;
    
        
    
        
    
    A9: for k st 
    X[k] holds
    X[(k
    + 1)] 
    
        proof
    
          let k be
    Nat;
    
          assume that
    
          
    
    A10: (( 
    Partial_Sums (th 
    P_sin )) 
    . k) 
    = (( 
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . ((2 
    * k) 
    + 1)) and 
    
          
    
    A11: (( 
    Partial_Sums (th 
    P_cos )) 
    . k) 
    = (( 
    Partial_Sums ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . (2 
    * k)); 
    
          ((
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . ((2 
    * (k 
    + 1)) 
    + 1)) 
    = ((( 
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . (((2 
    * k) 
    + 1) 
    + 1)) 
    + (( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    SERIES_1:def 1
    
          .= ((((
    Partial_Sums (th 
    P_sin )) 
    . k) 
    + (( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . (2 
    * (k 
    + 1)))) 
    + (( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    A10,
    SERIES_1:def 1
    
          .= ((((
    Partial_Sums (th 
    P_sin )) 
    . k) 
    + ( 
    Im (((th 
    *  
    <i> ) 
    ExpSeq ) 
    . (2 
    * (k 
    + 1))))) 
    + (( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    COMSEQ_3:def 6
    
          .= ((((
    Partial_Sums (th 
    P_sin )) 
    . k) 
    + ( 
    Im (((th 
    *  
    <i> ) 
    ExpSeq ) 
    . (2 
    * (k 
    + 1))))) 
    + ( 
    Im (((th 
    *  
    <i> ) 
    ExpSeq ) 
    . ((2 
    * (k 
    + 1)) 
    + 1)))) by 
    COMSEQ_3:def 6
    
          .= ((((
    Partial_Sums (th 
    P_sin )) 
    . k) 
    + ( 
    Im (((th 
    *  
    <i> ) 
    |^ (2 
    * (k 
    + 1))) 
    / ((2 
    * (k 
    + 1)) 
    ! )))) 
    + ( 
    Im (((th 
    *  
    <i> ) 
    ExpSeq ) 
    . ((2 
    * (k 
    + 1)) 
    + 1)))) by 
    Def4
    
          .= ((((
    Partial_Sums (th 
    P_sin )) 
    . k) 
    + ( 
    Im (((th 
    *  
    <i> ) 
    |^ (2 
    * (k 
    + 1))) 
    / ((2 
    * (k 
    + 1)) 
    ! )))) 
    + ( 
    Im (((th 
    *  
    <i> ) 
    |^ ((2 
    * (k 
    + 1)) 
    + 1)) 
    / (((2 
    * (k 
    + 1)) 
    + 1) 
    ! )))) by 
    Def4
    
          .= ((((
    Partial_Sums (th 
    P_sin )) 
    . k) 
    + ( 
    Im (((( 
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ (2 
    * (k 
    + 1)))) 
    / ((2 
    * (k 
    + 1)) 
    ! )))) 
    + ( 
    Im (((th 
    *  
    <i> ) 
    |^ ((2 
    * (k 
    + 1)) 
    + 1)) 
    / (((2 
    * (k 
    + 1)) 
    + 1) 
    ! )))) by 
    Th33
    
          .= ((((
    Partial_Sums (th 
    P_sin )) 
    . k) 
    + ( 
    Im (((( 
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ (2 
    * (k 
    + 1)))) 
    / ((2 
    * (k 
    + 1)) 
    ! )))) 
    + ( 
    Im ((((( 
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ ((2 
    * (k 
    + 1)) 
    + 1))) 
    *  
    <i> ) 
    / (((2 
    * (k 
    + 1)) 
    + 1) 
    ! )))) by 
    Th33;
    
          then ((
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . ((2 
    * (k 
    + 1)) 
    + 1)) 
    = (((( 
    Partial_Sums (th 
    P_sin )) 
    . k) 
    + ( 
    Im ((((( 
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ (2 
    * (k 
    + 1)))) 
    / ((2 
    * (k 
    + 1)) 
    ! )) 
    + (( 
    0  
    / ((2 
    * (k 
    + 1)) 
    ! )) 
    *  
    <i> )))) 
    + ( 
    Im ((((( 
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ ((2 
    * (k 
    + 1)) 
    + 1))) 
    *  
    <i> ) 
    / (((2 
    * (k 
    + 1)) 
    + 1) 
    ! )))); 
    
          
    
          then ((
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . ((2 
    * (k 
    + 1)) 
    + 1)) 
    = (((( 
    Partial_Sums (th 
    P_sin )) 
    . k) 
    +  
    0 ) 
    + ( 
    Im (( 
    0  
    / (((2 
    * (k 
    + 1)) 
    + 1) 
    ! )) 
    + ((((( 
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ ((2 
    * (k 
    + 1)) 
    + 1))) 
    / (((2 
    * (k 
    + 1)) 
    + 1) 
    ! )) 
    *  
    <i> )))) by 
    COMPLEX1: 12
    
          .= ((((
    Partial_Sums (th 
    P_sin )) 
    . k) 
    + ( 
    0  
    / ((2 
    * (k 
    + 1)) 
    ! ))) 
    + (((( 
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ ((2 
    * (k 
    + 1)) 
    + 1))) 
    / (((2 
    * (k 
    + 1)) 
    + 1) 
    ! ))) by 
    COMPLEX1: 12;
    
          
    
          then
    
          
    
    A12: (( 
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . ((2 
    * (k 
    + 1)) 
    + 1)) 
    = ((( 
    Partial_Sums (th 
    P_sin )) 
    . k) 
    + ((th 
    P_sin ) 
    . (k 
    + 1))) by 
    Def20
    
          .= ((
    Partial_Sums (th 
    P_sin )) 
    . (k 
    + 1)) by 
    SERIES_1:def 1;
    
          ((
    Partial_Sums ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . (2 
    * (k 
    + 1))) 
    = ((( 
    Partial_Sums ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . ((2 
    * k) 
    + 1)) 
    + (( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . (((2 
    * k) 
    + 1) 
    + 1))) by 
    SERIES_1:def 1
    
          .= ((((
    Partial_Sums (th 
    P_cos )) 
    . k) 
    + (( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . ((2 
    * k) 
    + 1))) 
    + (( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . (((2 
    * k) 
    + 1) 
    + 1))) by 
    A11,
    SERIES_1:def 1
    
          .= ((((
    Partial_Sums (th 
    P_cos )) 
    . k) 
    + ( 
    Re (((th 
    *  
    <i> ) 
    ExpSeq ) 
    . ((2 
    * k) 
    + 1)))) 
    + (( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq )) 
    . (((2 
    * k) 
    + 1) 
    + 1))) by 
    COMSEQ_3:def 5
    
          .= ((((
    Partial_Sums (th 
    P_cos )) 
    . k) 
    + ( 
    Re (((th 
    *  
    <i> ) 
    ExpSeq ) 
    . ((2 
    * k) 
    + 1)))) 
    + ( 
    Re (((th 
    *  
    <i> ) 
    ExpSeq ) 
    . (((2 
    * k) 
    + 1) 
    + 1)))) by 
    COMSEQ_3:def 5
    
          .= ((((
    Partial_Sums (th 
    P_cos )) 
    . k) 
    + ( 
    Re (((th 
    *  
    <i> ) 
    |^ ((2 
    * k) 
    + 1)) 
    / (((2 
    * k) 
    + 1) 
    ! )))) 
    + ( 
    Re (((th 
    *  
    <i> ) 
    ExpSeq ) 
    . (((2 
    * k) 
    + 1) 
    + 1)))) by 
    Def4
    
          .= ((((
    Partial_Sums (th 
    P_cos )) 
    . k) 
    + ( 
    Re (((th 
    *  
    <i> ) 
    |^ ((2 
    * k) 
    + 1)) 
    / (((2 
    * k) 
    + 1) 
    ! )))) 
    + ( 
    Re (((th 
    *  
    <i> ) 
    |^ (2 
    * (k 
    + 1))) 
    / ((((2 
    * k) 
    + 1) 
    + 1) 
    ! )))) by 
    Def4
    
          .= ((((
    Partial_Sums (th 
    P_cos )) 
    . k) 
    + ( 
    Re ((((( 
    - 1) 
    |^ k) 
    * (th 
    |^ ((2 
    * k) 
    + 1))) 
    *  
    <i> ) 
    / (((2 
    * k) 
    + 1) 
    ! )))) 
    + ( 
    Re (((th 
    *  
    <i> ) 
    |^ (2 
    * (k 
    + 1))) 
    / ((2 
    * (k 
    + 1)) 
    ! )))) by 
    Th33
    
          .= ((((
    Partial_Sums (th 
    P_cos )) 
    . k) 
    + ( 
    Re ((((( 
    - 1) 
    |^ k) 
    * (th 
    |^ ((2 
    * k) 
    + 1))) 
    *  
    <i> ) 
    / (((2 
    * k) 
    + 1) 
    ! )))) 
    + ( 
    Re (((( 
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ (2 
    * (k 
    + 1)))) 
    / ((2 
    * (k 
    + 1)) 
    ! )))) by 
    Th33;
    
          then ((
    Partial_Sums ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . (2 
    * (k 
    + 1))) 
    = (((( 
    Partial_Sums (th 
    P_cos )) 
    . k) 
    + ( 
    Re (( 
    0  
    / (((2 
    * k) 
    + 1) 
    ! )) 
    + ((((( 
    - 1) 
    |^ k) 
    * (th 
    |^ ((2 
    * k) 
    + 1))) 
    / (((2 
    * k) 
    + 1) 
    ! )) 
    *  
    <i> )))) 
    + ( 
    Re (((( 
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ (2 
    * (k 
    + 1)))) 
    / ((2 
    * (k 
    + 1)) 
    ! )))); 
    
          
    
          then ((
    Partial_Sums ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . (2 
    * (k 
    + 1))) 
    = (((( 
    Partial_Sums (th 
    P_cos )) 
    . k) 
    + ( 
    0  
    / (((2 
    * k) 
    + 1) 
    ! ))) 
    + ( 
    Re ((((( 
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ (2 
    * (k 
    + 1)))) 
    / ((2 
    * (k 
    + 1)) 
    ! )) 
    + (( 
    0  
    / ((2 
    * (k 
    + 1)) 
    ! )) 
    *  
    <i> )))) by 
    COMPLEX1: 12
    
          .= ((((
    Partial_Sums (th 
    P_cos )) 
    . k) 
    + ( 
    0  
    / (((2 
    * k) 
    + 1) 
    ! ))) 
    + (((( 
    - 1) 
    |^ (k 
    + 1)) 
    * (th 
    |^ (2 
    * (k 
    + 1)))) 
    / ((2 
    * (k 
    + 1)) 
    ! ))) by 
    COMPLEX1: 12;
    
          
    
          then ((
    Partial_Sums ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . (2 
    * (k 
    + 1))) 
    = ((( 
    Partial_Sums (th 
    P_cos )) 
    . k) 
    + ((th 
    P_cos ) 
    . (k 
    + 1))) by 
    Def21
    
          .= ((
    Partial_Sums (th 
    P_cos )) 
    . (k 
    + 1)) by 
    SERIES_1:def 1;
    
          hence thesis by
    A12;
    
        end;
    
        thus for n holds
    X[n] from
    NAT_1:sch 2(
    A8,
    A9);
    
      end;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:36
    
    
    
    
    
    Th35: for th holds ( 
    Partial_Sums (th 
    P_sin )) is 
    convergent & ( 
    Sum (th 
    P_sin )) 
    = ( 
    Im ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))) & ( 
    Partial_Sums (th 
    P_cos )) is 
    convergent & ( 
    Sum (th 
    P_cos )) 
    = ( 
    Re ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    
    proof
    
      let th;
    
      
    
      
    
    A1: ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )) 
    = (( 
    Sum ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    + (( 
    Sum ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    *  
    <i> )) by 
    COMSEQ_3: 53;
    
      then
    
      
    
    A2: ( 
    Sum ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    = ( 
    Re ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))) by 
    COMPLEX1: 12;
    
      
    
      
    
    A3: ( 
    Sum ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    = ( 
    Im ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))) by 
    A1,
    COMPLEX1: 12;
    
      
    
      
    
    A4: ( 
    Partial_Sums ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) is 
    convergent & ( 
    lim ( 
    Partial_Sums ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq )))) 
    = ( 
    Re ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))) by 
    A2,
    SERIES_1:def 2,
    SERIES_1:def 3;
    
      
    
      
    
    A5: ( 
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) is 
    convergent & ( 
    lim ( 
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq )))) 
    = ( 
    Im ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))) by 
    A3,
    SERIES_1:def 2,
    SERIES_1:def 3;
    
      
    
    A6: 
    
      now
    
        let p be
    Real;
    
        assume p
    >  
    0 ; 
    
        then
    
        consider n such that
    
        
    
    A7: for k st n 
    <= k holds 
    |.(((
    Partial_Sums ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . k) 
    - ( 
    Re ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )))).| 
    < p by 
    A4,
    SEQ_2:def 7;
    
        take n;
    
        now
    
          let k such that
    
          
    
    A8: n 
    <= k; 
    
          
    |.(((
    Partial_Sums (th 
    P_cos )) 
    . k) 
    - ( 
    Re ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )))).| 
    =  
    |.(((
    Partial_Sums ( 
    Re ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . (2 
    * k)) 
    - ( 
    Re ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )))).| & (2 
    * k) 
    = (k 
    + k) by 
    Th34;
    
          hence
    |.(((
    Partial_Sums (th 
    P_cos )) 
    . k) 
    - ( 
    Re ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )))).| 
    < p by 
    A7,
    A8,
    NAT_1: 12;
    
        end;
    
        hence for k st n
    <= k holds 
    |.(((
    Partial_Sums (th 
    P_cos )) 
    . k) 
    - ( 
    Re ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )))).| 
    < p; 
    
      end;
    
      then (
    Partial_Sums (th 
    P_cos )) is 
    convergent by 
    SEQ_2:def 6;
    
      then
    
      
    
    A9: ( 
    lim ( 
    Partial_Sums (th 
    P_cos ))) 
    = ( 
    Re ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))) by 
    A6,
    SEQ_2:def 7;
    
      
    
    A10: 
    
      now
    
        let p be
    Real;
    
        assume p
    >  
    0 ; 
    
        then
    
        consider n such that
    
        
    
    A11: for k st n 
    <= k holds 
    |.(((
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . k) 
    - ( 
    Im ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )))).| 
    < p by 
    A5,
    SEQ_2:def 7;
    
        take n;
    
        now
    
          let k such that
    
          
    
    A12: n 
    <= k; 
    
          
    
          
    
    A13: 
    |.(((
    Partial_Sums (th 
    P_sin )) 
    . k) 
    - ( 
    Im ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )))).| 
    =  
    |.(((
    Partial_Sums ( 
    Im ((th 
    *  
    <i> ) 
    ExpSeq ))) 
    . ((2 
    * k) 
    + 1)) 
    - ( 
    Im ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )))).| by 
    Th34;
    
          (2
    * k) 
    = (k 
    + k); 
    
          then n
    <= (2 
    * k) by 
    A12,
    NAT_1: 12;
    
          then n
    < ((2 
    * k) 
    + 1) by 
    NAT_1: 13;
    
          hence
    |.(((
    Partial_Sums (th 
    P_sin )) 
    . k) 
    - ( 
    Im ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )))).| 
    < p by 
    A11,
    A13;
    
        end;
    
        hence for k st n
    <= k holds 
    |.(((
    Partial_Sums (th 
    P_sin )) 
    . k) 
    - ( 
    Im ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq )))).| 
    < p; 
    
      end;
    
      then (
    Partial_Sums (th 
    P_sin )) is 
    convergent by 
    SEQ_2:def 6;
    
      then (
    lim ( 
    Partial_Sums (th 
    P_sin ))) 
    = ( 
    Im ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))) by 
    A10,
    SEQ_2:def 7;
    
      hence thesis by
    A6,
    A9,
    A10,
    SEQ_2:def 6,
    SERIES_1:def 3;
    
    end;
    
    theorem :: 
    
    SIN_COS:37
    
    
    
    
    
    Th36: ( 
    cos  
    . th) 
    = ( 
    Sum (th 
    P_cos )) & ( 
    sin  
    . th) 
    = ( 
    Sum (th 
    P_sin )) 
    
    proof
    
      reconsider th as
    Real;
    
      (
    sin  
    . th) 
    = ( 
    Im ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))) & ( 
    cos  
    . th) 
    = ( 
    Re ( 
    Sum ((th 
    *  
    <i> ) 
    ExpSeq ))) by 
    Def16,
    Def18;
    
      hence thesis by
    Th35;
    
    end;
    
    theorem :: 
    
    SIN_COS:38
    
    for p, th, rseq st rseq is
    convergent & ( 
    lim rseq) 
    = th & (for n holds (rseq 
    . n) 
    >= p) holds th 
    >= p by 
    PREPOWER: 1;
    
    deffunc
    
    U(
    Real) = ((2
    * $1) 
    + 1); 
    
    consider bq be
    Real_Sequence such that 
    
    
    
    Lm6: for n holds (bq 
    . n) 
    =  
    U(n) from
    SEQ_1:sch 1;
    
    bq is
    increasing  
    sequence of 
    NAT  
    
    proof
    
      
    
      
    
    A1: for n, k st n 
    < k holds (bq 
    . n) 
    < (bq 
    . k) 
    
      proof
    
        let n, k;
    
        assume n
    < k; 
    
        then (2
    * n) 
    < (2 
    * k) by 
    XREAL_1: 68;
    
        then ((2
    * n) 
    + 1) 
    < ((2 
    * k) 
    + 1) by 
    XREAL_1: 6;
    
        then (bq
    . n) 
    < ((2 
    * k) 
    + 1) by 
    Lm6;
    
        hence thesis by
    Lm6;
    
      end;
    
      for n holds (bq
    . n) is 
    Element of 
    NAT  
    
      proof
    
        let n;
    
        ((2
    * n) 
    + 1) is 
    Element of 
    NAT ; 
    
        hence thesis by
    Lm6;
    
      end;
    
      hence thesis by
    A1,
    SEQM_3: 1,
    SEQM_3: 13;
    
    end;
    
    then
    
    reconsider bq as
    increasing  
    sequence of 
    NAT ; 
    
    
    
    
    
    Lm7: for th,th1,th2,th3 be 
    Real holds (th 
    |^ (2 
    * n)) 
    = ((th 
    |^ n) 
    |^ 2) & (( 
    - 1) 
    |^ (2 
    * n)) 
    = 1 & (( 
    - 1) 
    |^ ((2 
    * n) 
    + 1)) 
    = ( 
    - 1) 
    
    proof
    
      let th,th1,th2,th3 be
    Real;
    
      reconsider 2n = (2
    * n) as 
    Element of 
    NAT by 
    ORDINAL1:def 12;
    
      thus (th
    |^ (2 
    * n)) 
    = ((th 
    |^ n) 
    |^ 2) by 
    NEWTON: 9;
    
      ((
    - 1) 
    |^ 2n) 
    = (1 
    |^ 2n) by 
    POWER: 1
    
      .= 1;
    
      hence
    
      
    
    A1: (( 
    - 1) 
    |^ (2 
    * n)) 
    = 1; 
    
      
    
      thus ((
    - 1) 
    |^ ((2 
    * n) 
    + 1)) 
    = ((( 
    - 1) 
    |^ (2 
    * n)) 
    * ( 
    - 1)) by 
    NEWTON: 6
    
      .= (
    - 1) by 
    A1;
    
    end;
    
    theorem :: 
    
    SIN_COS:39
    
    
    
    
    
    Th38: n 
    <= k implies (n 
    ! ) 
    <= (k 
    ! ) 
    
    proof
    
      assume
    
      
    
    A1: n 
    <= k; 
    
      
    
      
    
    A2: for m holds 1 
    <= (m 
    + 1) 
    
      proof
    
        let m;
    
        (
    0  
    + 1) 
    <= (m 
    + 1) by 
    XREAL_1: 6;
    
        hence thesis;
    
      end;
    
      deffunc
    
    U(
    Nat) = ($1
    ! ); 
    
      consider rseq such that
    
      
    
    A3: for l holds (rseq 
    . l) 
    =  
    U(l) from
    SEQ_1:sch 1;
    
      for l holds (rseq
    . l) 
    <= (rseq 
    . (l 
    + 1)) & (rseq 
    . l) 
    >  
    0  
    
      proof
    
        let l;
    
        defpred
    
    X[
    Nat] means (rseq
    . $1) 
    <= (rseq 
    . ($1 
    + 1)) & (rseq 
    . $1) 
    >  
    0 ; 
    
        (rseq
    . ( 
    0  
    + 1)) 
    = (( 
    0  
    + 1) 
    ! ) by 
    A3
    
        .= ((
    0  
    ! ) 
    * 1) by 
    NEWTON: 15
    
        .= 1 by
    NEWTON: 12;
    
        then
    
        
    
    A4: 
    X[
    0 ] by 
    A3,
    NEWTON: 12;
    
        
    
        
    
    A5: for l st 
    X[l] holds
    X[(l
    + 1)] 
    
        proof
    
          let l;
    
          assume
    
          
    
    A6: (rseq 
    . l) 
    <= (rseq 
    . (l 
    + 1)) & (rseq 
    . l) 
    >  
    0 ; 
    
          (rseq
    . ((l 
    + 1) 
    + 1)) 
    = (((l 
    + 1) 
    + 1) 
    ! ) by 
    A3
    
          .= (((l
    + 1) 
    ! ) 
    * ((l 
    + 1) 
    + 1)) by 
    NEWTON: 15
    
          .= ((rseq
    . (l 
    + 1)) 
    * ((l 
    + 1) 
    + 1)) by 
    A3;
    
          hence thesis by
    A2,
    A6,
    XREAL_1: 151;
    
        end;
    
        for l holds
    X[l] from
    NAT_1:sch 2(
    A4,
    A5);
    
        hence thesis;
    
      end;
    
      then
    
      
    
    A7: rseq is 
    non-decreasing;
    
      (n
    ! ) 
    = (rseq 
    . n) & (k 
    ! ) 
    = (rseq 
    . k) by 
    A3;
    
      hence thesis by
    A1,
    A7,
    SEQM_3: 6;
    
    end;
    
    theorem :: 
    
    SIN_COS:40
    
    
    
    
    
    Th39: 
    0  
    <= th & th 
    <= 1 & n 
    <= k implies (th 
    |^ k) 
    <= (th 
    |^ n) 
    
    proof
    
      assume that
    
      
    
    A1: 
    0  
    <= th and 
    
      
    
    A2: th 
    <= 1 and 
    
      
    
    A3: n 
    <= k; 
    
      for m holds ((th
    GeoSeq ) 
    . (m 
    + 1)) 
    <= ((th 
    GeoSeq ) 
    . m) & ((th 
    GeoSeq ) 
    . m) 
    >=  
    0  
    
      proof
    
        let m;
    
        defpred
    
    X[
    Nat] means ((th
    GeoSeq ) 
    . ($1 
    + 1)) 
    <= ((th 
    GeoSeq ) 
    . $1) & ((th 
    GeoSeq ) 
    . $1) 
    >=  
    0 ; 
    
        ((th
    GeoSeq ) 
    . ( 
    0  
    + 1)) 
    = (((th 
    GeoSeq ) 
    .  
    0 ) 
    * th) by 
    PREPOWER: 3
    
        .= (1
    * th) by 
    PREPOWER: 3
    
        .= th;
    
        then
    
        
    
    A4: 
    X[
    0 ] by 
    A2,
    PREPOWER: 3;
    
        
    
        
    
    A5: for m st 
    X[m] holds
    X[(m
    + 1)] 
    
        proof
    
          let m;
    
          assume that ((th
    GeoSeq ) 
    . (m 
    + 1)) 
    <= ((th 
    GeoSeq ) 
    . m) and 
    
          
    
    A6: ((th 
    GeoSeq ) 
    . m) 
    >=  
    0 ; 
    
          ((th
    GeoSeq ) 
    . ((m 
    + 1) 
    + 1)) 
    = (((th 
    GeoSeq ) 
    . (m 
    + 1)) 
    * th) & ((th 
    GeoSeq ) 
    . (m 
    + 1)) 
    = (((th 
    GeoSeq ) 
    . m) 
    * th) by 
    PREPOWER: 3;
    
          hence thesis by
    A1,
    A2,
    A6,
    XREAL_1: 153;
    
        end;
    
        for m holds
    X[m] from
    NAT_1:sch 2(
    A4,
    A5);
    
        hence thesis;
    
      end;
    
      then
    
      
    
    A7: (th 
    GeoSeq ) is 
    non-increasing;
    
      (th
    |^ k) 
    = ((th 
    GeoSeq ) 
    . k) & (th 
    |^ n) 
    = ((th 
    GeoSeq ) 
    . n) by 
    PREPOWER:def 1;
    
      hence thesis by
    A3,
    A7,
    SEQM_3: 8;
    
    end;
    
    ::$Canceled
    
    theorem :: 
    
    SIN_COS:42
    
    
    
    
    
    Th41: for p be 
    Real holds ( 
    Im ( 
    Sum (p 
    ExpSeq ))) 
    =  
    0  
    
    proof
    
      let p be
    Real;
    
      
    
      
    
    A1: for n holds (( 
    Partial_Sums ( 
    Im (p 
    ExpSeq ))) 
    . n) 
    =  
    0  
    
      proof
    
        let n;
    
        defpred
    
    X[
    Nat] means ((
    Partial_Sums ( 
    Im (p 
    ExpSeq ))) 
    . $1) 
    =  
    0 ; 
    
        ((
    Partial_Sums ( 
    Im (p 
    ExpSeq ))) 
    .  
    0 ) 
    = (( 
    Im (p 
    ExpSeq )) 
    .  
    0 ) by 
    SERIES_1:def 1
    
        .= (
    Im ((p 
    ExpSeq ) 
    .  
    0 )) by 
    COMSEQ_3:def 6
    
        .=
    0 by 
    Th3,
    COMPLEX1: 6;
    
        then
    
        
    
    A2: 
    X[
    0 ]; 
    
        
    
        
    
    A3: for k st 
    X[k] holds
    X[(k
    + 1)] 
    
        proof
    
          let k;
    
          assume ((
    Partial_Sums ( 
    Im (p 
    ExpSeq ))) 
    . k) 
    =  
    0 ; 
    
          
    
          then ((
    Partial_Sums ( 
    Im (p 
    ExpSeq ))) 
    . (k 
    + 1)) 
    = ( 
    0  
    + (( 
    Im (p 
    ExpSeq )) 
    . (k 
    + 1))) by 
    SERIES_1:def 1
    
          .= (
    Im ((p 
    ExpSeq ) 
    . (k 
    + 1))) by 
    COMSEQ_3:def 6
    
          .= (
    Im ((p 
    |^ (k 
    + 1)) 
    / ((k 
    + 1) 
    ! ))) by 
    Def4
    
          .= (
    Im (((p 
    |^ (k 
    + 1)) 
    / ((k 
    + 1) 
    ! )) 
    + ( 
    0  
    *  
    <i> ))) 
    
          .=
    0 by 
    COMPLEX1: 12;
    
          hence thesis;
    
        end;
    
        for n holds
    X[n] from
    NAT_1:sch 2(
    A2,
    A3);
    
        hence thesis;
    
      end;
    
      for n,m be
    Nat holds (( 
    Partial_Sums ( 
    Im (p 
    ExpSeq ))) 
    . n) 
    = (( 
    Partial_Sums ( 
    Im (p 
    ExpSeq ))) 
    . m) 
    
      proof
    
        let n,m be
    Nat;
    
        m
    in  
    NAT & (( 
    Partial_Sums ( 
    Im (p 
    ExpSeq ))) 
    . n) 
    =  
    0 by 
    A1,
    ORDINAL1:def 12;
    
        hence thesis by
    A1;
    
      end;
    
      
    
      then
    
      
    
    A4: ( 
    lim ( 
    Partial_Sums ( 
    Im (p 
    ExpSeq )))) 
    = (( 
    Partial_Sums ( 
    Im (p 
    ExpSeq ))) 
    .  
    0 ) by 
    SEQ_4: 26,
    VALUED_0: 24
    
      .=
    0 by 
    A1;
    
      (
    Im ( 
    Sum (p 
    ExpSeq ))) 
    = ( 
    Im (( 
    Sum ( 
    Re (p 
    ExpSeq ))) 
    + (( 
    Sum ( 
    Im (p 
    ExpSeq ))) 
    *  
    <i> ))) by 
    COMSEQ_3: 53
    
      .= (
    Sum ( 
    Im (p 
    ExpSeq ))) by 
    COMPLEX1: 12;
    
      hence thesis by
    A4,
    SERIES_1:def 3;
    
    end;
    
    theorem :: 
    
    SIN_COS:43
    
    
    
    
    
    Th42: ( 
    cos  
    . 1) 
    >  
    0 & ( 
    sin  
    . 1) 
    >  
    0 & ( 
    cos  
    . 1) 
    < ( 
    sin  
    . 1) 
    
    proof
    
      
    
      
    
    A1: ( 
    Partial_Sums (1 
    P_cos )) is 
    convergent by 
    Th35;
    
      
    
      
    
    A2: ( 
    cos  
    . 1) 
    = ( 
    Sum (1 
    P_cos )) by 
    Th36;
    
      (
    lim (( 
    Partial_Sums (1 
    P_cos )) 
    * bq)) 
    = ( 
    lim ( 
    Partial_Sums (1 
    P_cos ))) by 
    A1,
    SEQ_4: 17;
    
      then
    
      
    
    A3: ( 
    lim (( 
    Partial_Sums (1 
    P_cos )) 
    * bq)) 
    = ( 
    cos  
    . 1) by 
    A2,
    SERIES_1:def 3;
    
      for n holds (((
    Partial_Sums (1 
    P_cos )) 
    * bq) 
    . n) 
    >= (1 
    / 2) 
    
      proof
    
        let n;
    
        defpred
    
    X[
    Nat] means (((
    Partial_Sums (1 
    P_cos )) 
    * bq) 
    . $1) 
    >= (1 
    / 2); 
    
        (((
    Partial_Sums (1 
    P_cos )) 
    * bq) 
    .  
    0 ) 
    = (( 
    Partial_Sums (1 
    P_cos )) 
    . (bq 
    .  
    0 )) by 
    FUNCT_2: 15
    
        .= ((
    Partial_Sums (1 
    P_cos )) 
    . ((2 
    *  
    0 ) 
    + 1)) by 
    Lm6
    
        .= (((
    Partial_Sums (1 
    P_cos )) 
    .  
    0 ) 
    + ((1 
    P_cos ) 
    . ( 
    0  
    + 1))) by 
    SERIES_1:def 1
    
        .= (((1
    P_cos ) 
    .  
    0 ) 
    + ((1 
    P_cos ) 
    . ( 
    0  
    + 1))) by 
    SERIES_1:def 1
    
        .= (((((
    - 1) 
    |^  
    0 ) 
    * (1 
    |^ (2 
    *  
    0 ))) 
    / ((2 
    *  
    0 ) 
    ! )) 
    + ((1 
    P_cos ) 
    . 1)) by 
    Def21
    
        .= (((((
    - 1) 
    |^  
    0 ) 
    * (1 
    |^ (2 
    *  
    0 ))) 
    / ((2 
    *  
    0 ) 
    ! )) 
    + (((( 
    - 1) 
    |^ 1) 
    * (1 
    |^ (2 
    * 1))) 
    / ((2 
    * 1) 
    ! ))) by 
    Def21
    
        .= (((1
    * (1 
    |^ (2 
    *  
    0 ))) 
    / ((2 
    *  
    0 ) 
    ! )) 
    + (((( 
    - 1) 
    |^ 1) 
    * (1 
    |^ (2 
    * 1))) 
    / ((2 
    * 1) 
    ! ))) by 
    Lm7
    
        .= ((1
    / 1) 
    + (((( 
    - 1) 
    |^ 1) 
    * (1 
    |^ (2 
    * 1))) 
    / ((2 
    * 1) 
    ! ))) by 
    NEWTON: 12
    
        .= (1
    + ((( 
    - 1) 
    * (1 
    |^ (2 
    * 1))) 
    / ((2 
    * 1) 
    ! ))) 
    
        .= (1
    + ((( 
    - 1) 
    * 1) 
    / ((2 
    * 1) 
    ! ))) 
    
        .= (1
    + (( 
    - 1) 
    / ((1 
    ! ) 
    * (1 
    + 1)))) by 
    NEWTON: 15
    
        .= (1
    + (( 
    - 1) 
    / ((( 
    0  
    ! ) 
    * ( 
    0  
    + 1)) 
    * 2))) by 
    NEWTON: 15
    
        .= (1
    / 2) by 
    NEWTON: 12;
    
        then
    
        
    
    A4: 
    X[
    0 ]; 
    
        
    
        
    
    A5: for k st 
    X[k] holds
    X[(k
    + 1)] 
    
        proof
    
          let k;
    
          
    
          
    
    A6: k 
    in  
    NAT by 
    ORDINAL1:def 12;
    
          assume
    
          
    
    A7: ((( 
    Partial_Sums (1 
    P_cos )) 
    * bq) 
    . k) 
    >= (1 
    / 2); 
    
          (((
    Partial_Sums (1 
    P_cos )) 
    * bq) 
    . (k 
    + 1)) 
    = (( 
    Partial_Sums (1 
    P_cos )) 
    . (bq 
    . (k 
    + 1))) by 
    FUNCT_2: 15
    
          .= ((
    Partial_Sums (1 
    P_cos )) 
    . ((2 
    * (k 
    + 1)) 
    + 1)) by 
    Lm6
    
          .= (((
    Partial_Sums (1 
    P_cos )) 
    . (((2 
    * k) 
    + 1) 
    + 1)) 
    + ((1 
    P_cos ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    SERIES_1:def 1
    
          .= ((((
    Partial_Sums (1 
    P_cos )) 
    . ((2 
    * k) 
    + 1)) 
    + ((1 
    P_cos ) 
    . (((2 
    * k) 
    + 1) 
    + 1))) 
    + ((1 
    P_cos ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    SERIES_1:def 1
    
          .= ((((
    Partial_Sums (1 
    P_cos )) 
    . (bq 
    . k)) 
    + ((1 
    P_cos ) 
    . (((2 
    * k) 
    + 1) 
    + 1))) 
    + ((1 
    P_cos ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    Lm6
    
          .= (((((
    Partial_Sums (1 
    P_cos )) 
    * bq) 
    . k) 
    + ((1 
    P_cos ) 
    . (((2 
    * k) 
    + 1) 
    + 1))) 
    + ((1 
    P_cos ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    FUNCT_2: 15,
    A6;
    
          then
    
          
    
    A8: (((( 
    Partial_Sums (1 
    P_cos )) 
    * bq) 
    . (k 
    + 1)) 
    - ((( 
    Partial_Sums (1 
    P_cos )) 
    * bq) 
    . k)) 
    = (((1 
    P_cos ) 
    . (((2 
    * k) 
    + 1) 
    + 1)) 
    + ((1 
    P_cos ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))); 
    
          
    
          
    
    A9: ((1 
    P_cos ) 
    . (((2 
    * k) 
    + 1) 
    + 1)) 
    = (((( 
    - 1) 
    |^ (2 
    * (k 
    + 1))) 
    * (1 
    |^ (2 
    * (2 
    * (k 
    + 1))))) 
    / ((2 
    * (2 
    * (k 
    + 1))) 
    ! )) by 
    Def21
    
          .= ((1
    * (1 
    |^ (2 
    * (2 
    * (k 
    + 1))))) 
    / ((2 
    * (2 
    * (k 
    + 1))) 
    ! )) by 
    Lm7
    
          .= (1
    / ((2 
    * (2 
    * (k 
    + 1))) 
    ! )); 
    
          
    
          
    
    A10: ((1 
    P_cos ) 
    . ((2 
    * (k 
    + 1)) 
    + 1)) 
    = (((( 
    - 1) 
    |^ ((2 
    * (k 
    + 1)) 
    + 1)) 
    * (1 
    |^ (2 
    * ((2 
    * (k 
    + 1)) 
    + 1)))) 
    / ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! )) by 
    Def21
    
          .= (((
    - 1) 
    * (1 
    |^ (2 
    * ((2 
    * (k 
    + 1)) 
    + 1)))) 
    / ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! )) by 
    Lm7
    
          .= (((
    - 1) 
    * 1) 
    / ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! )) 
    
          .= ((
    - 1) 
    / ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! )); 
    
          (2
    * (2 
    * (k 
    + 1))) 
    < (2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) by 
    XREAL_1: 29,
    XREAL_1: 68;
    
          then ((2
    * (2 
    * (k 
    + 1))) 
    ! ) 
    <= ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! ) by 
    Th38;
    
          then (1
    / ((2 
    * (2 
    * (k 
    + 1))) 
    ! )) 
    >= (1 
    / ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! )) by 
    XREAL_1: 85;
    
          then ((1
    / ((2 
    * (2 
    * (k 
    + 1))) 
    ! )) 
    - (1 
    / ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! ))) 
    >=  
    0 by 
    XREAL_1: 48;
    
          then (((
    Partial_Sums (1 
    P_cos )) 
    * bq) 
    . (k 
    + 1)) 
    >= ((( 
    Partial_Sums (1 
    P_cos )) 
    * bq) 
    . k) by 
    A8,
    A9,
    A10,
    XREAL_1: 49;
    
          hence thesis by
    A7,
    XXREAL_0: 2;
    
        end;
    
        for n holds
    X[n] from
    NAT_1:sch 2(
    A4,
    A5);
    
        hence thesis;
    
      end;
    
      then
    
      
    
    A11: ( 
    cos  
    . 1) 
    >= (1 
    / 2) by 
    A1,
    A3,
    PREPOWER: 1,
    SEQ_4: 16;
    
      
    
      
    
    A12: ( 
    Partial_Sums (1 
    P_sin )) is 
    convergent by 
    Th35;
    
      
    
      
    
    A13: ( 
    sin  
    . 1) 
    = ( 
    Sum (1 
    P_sin )) by 
    Th36;
    
      (
    lim (( 
    Partial_Sums (1 
    P_sin )) 
    * bq)) 
    = ( 
    lim ( 
    Partial_Sums (1 
    P_sin ))) by 
    A12,
    SEQ_4: 17;
    
      then
    
      
    
    A14: ( 
    lim (( 
    Partial_Sums (1 
    P_sin )) 
    * bq)) 
    = ( 
    sin  
    . 1) by 
    A13,
    SERIES_1:def 3;
    
      for n holds (((
    Partial_Sums (1 
    P_sin )) 
    * bq) 
    . n) 
    >= (5 
    / 6) 
    
      proof
    
        let n;
    
        defpred
    
    X[
    Nat] means (((
    Partial_Sums (1 
    P_sin )) 
    * bq) 
    . $1) 
    >= (5 
    / 6); 
    
        (((
    Partial_Sums (1 
    P_sin )) 
    * bq) 
    .  
    0 ) 
    = (( 
    Partial_Sums (1 
    P_sin )) 
    . (bq 
    .  
    0 )) by 
    FUNCT_2: 15
    
        .= ((
    Partial_Sums (1 
    P_sin )) 
    . ((2 
    *  
    0 ) 
    + 1)) by 
    Lm6
    
        .= (((
    Partial_Sums (1 
    P_sin )) 
    .  
    0 ) 
    + ((1 
    P_sin ) 
    . ( 
    0  
    + 1))) by 
    SERIES_1:def 1
    
        .= (((1
    P_sin ) 
    .  
    0 ) 
    + ((1 
    P_sin ) 
    . ( 
    0  
    + 1))) by 
    SERIES_1:def 1
    
        .= (((((
    - 1) 
    |^  
    0 ) 
    * (1 
    |^ ((2 
    *  
    0 ) 
    + 1))) 
    / (((2 
    *  
    0 ) 
    + 1) 
    ! )) 
    + ((1 
    P_sin ) 
    . 1)) by 
    Def20
    
        .= (((((
    - 1) 
    |^  
    0 ) 
    * (1 
    |^ ((2 
    *  
    0 ) 
    + 1))) 
    / (((2 
    *  
    0 ) 
    + 1) 
    ! )) 
    + (((( 
    - 1) 
    |^ 1) 
    * (1 
    |^ ((2 
    * 1) 
    + 1))) 
    / (((2 
    * 1) 
    + 1) 
    ! ))) by 
    Def20
    
        .= (((1
    * (1 
    |^ ((2 
    *  
    0 ) 
    + 1))) 
    / (((2 
    *  
    0 ) 
    + 1) 
    ! )) 
    + (((( 
    - 1) 
    |^ 1) 
    * (1 
    |^ ((2 
    * 1) 
    + 1))) 
    / (((2 
    * 1) 
    + 1) 
    ! ))) by 
    Lm7
    
        .= ((1
    / (( 
    0  
    + 1) 
    ! )) 
    + (((( 
    - 1) 
    |^ 1) 
    * (1 
    |^ ((2 
    * 1) 
    + 1))) 
    / (((2 
    * 1) 
    + 1) 
    ! ))) 
    
        .= ((1
    / (( 
    0  
    ! ) 
    * 1)) 
    + (((( 
    - 1) 
    |^ 1) 
    * (1 
    |^ ((2 
    * 1) 
    + 1))) 
    / (((2 
    * 1) 
    + 1) 
    ! ))) by 
    NEWTON: 15
    
        .= (1
    + ((( 
    - 1) 
    * (1 
    |^ ((2 
    * 1) 
    + 1))) 
    / (((2 
    * 1) 
    + 1) 
    ! ))) by 
    NEWTON: 12
    
        .= (1
    + ((( 
    - 1) 
    * 1) 
    / (((2 
    * 1) 
    + 1) 
    ! ))) 
    
        .= (1
    + (( 
    - 1) 
    / (((2 
    * 1) 
    ! ) 
    * ((2 
    * 1) 
    + 1)))) by 
    NEWTON: 15
    
        .= (1
    + (( 
    - 1) 
    / (((1 
    ! ) 
    * (1 
    + 1)) 
    * 3))) by 
    NEWTON: 15
    
        .= (1
    + (( 
    - 1) 
    / ((( 
    0  
    + 1) 
    ! ) 
    * (2 
    * 3)))) 
    
        .= (1
    + (( 
    - 1) 
    / ((1 
    * 1) 
    * 6))) by 
    NEWTON: 12,
    NEWTON: 15
    
        .= (5
    / 6); 
    
        then
    
        
    
    A15: 
    X[
    0 ]; 
    
        
    
        
    
    A16: for k st 
    X[k] holds
    X[(k
    + 1)] 
    
        proof
    
          let k;
    
          
    
          
    
    A17: k 
    in  
    NAT by 
    ORDINAL1:def 12;
    
          assume
    
          
    
    A18: ((( 
    Partial_Sums (1 
    P_sin )) 
    * bq) 
    . k) 
    >= (5 
    / 6); 
    
          (((
    Partial_Sums (1 
    P_sin )) 
    * bq) 
    . (k 
    + 1)) 
    = (( 
    Partial_Sums (1 
    P_sin )) 
    . (bq 
    . (k 
    + 1))) by 
    FUNCT_2: 15
    
          .= ((
    Partial_Sums (1 
    P_sin )) 
    . ((2 
    * (k 
    + 1)) 
    + 1)) by 
    Lm6
    
          .= (((
    Partial_Sums (1 
    P_sin )) 
    . (((2 
    * k) 
    + 1) 
    + 1)) 
    + ((1 
    P_sin ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    SERIES_1:def 1
    
          .= ((((
    Partial_Sums (1 
    P_sin )) 
    . ((2 
    * k) 
    + 1)) 
    + ((1 
    P_sin ) 
    . (((2 
    * k) 
    + 1) 
    + 1))) 
    + ((1 
    P_sin ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    SERIES_1:def 1
    
          .= ((((
    Partial_Sums (1 
    P_sin )) 
    . (bq 
    . k)) 
    + ((1 
    P_sin ) 
    . (((2 
    * k) 
    + 1) 
    + 1))) 
    + ((1 
    P_sin ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    Lm6
    
          .= (((((
    Partial_Sums (1 
    P_sin )) 
    * bq) 
    . k) 
    + ((1 
    P_sin ) 
    . (((2 
    * k) 
    + 1) 
    + 1))) 
    + ((1 
    P_sin ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    FUNCT_2: 15,
    A17;
    
          then
    
          
    
    A19: (((( 
    Partial_Sums (1 
    P_sin )) 
    * bq) 
    . (k 
    + 1)) 
    - ((( 
    Partial_Sums (1 
    P_sin )) 
    * bq) 
    . k)) 
    = (((1 
    P_sin ) 
    . (((2 
    * k) 
    + 1) 
    + 1)) 
    + ((1 
    P_sin ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))); 
    
          
    
          
    
    A20: ((1 
    P_sin ) 
    . (((2 
    * k) 
    + 1) 
    + 1)) 
    = (((( 
    - 1) 
    |^ (2 
    * (k 
    + 1))) 
    * (1 
    |^ ((2 
    * (2 
    * (k 
    + 1))) 
    + 1))) 
    / (((2 
    * (2 
    * (k 
    + 1))) 
    + 1) 
    ! )) by 
    Def20
    
          .= ((1
    * (1 
    |^ ((2 
    * (2 
    * (k 
    + 1))) 
    + 1))) 
    / (((2 
    * (2 
    * (k 
    + 1))) 
    + 1) 
    ! )) by 
    Lm7
    
          .= (1
    / (((2 
    * (2 
    * (k 
    + 1))) 
    + 1) 
    ! )); 
    
          
    
          
    
    A21: ((1 
    P_sin ) 
    . ((2 
    * (k 
    + 1)) 
    + 1)) 
    = (((( 
    - 1) 
    |^ ((2 
    * (k 
    + 1)) 
    + 1)) 
    * (1 
    |^ ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    + 1))) 
    / (((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    + 1) 
    ! )) by 
    Def20
    
          .= (((
    - 1) 
    * (1 
    |^ ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    + 1))) 
    / (((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    + 1) 
    ! )) by 
    Lm7
    
          .= (((
    - 1) 
    * 1) 
    / (((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    + 1) 
    ! )) 
    
          .= ((
    - 1) 
    / (((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    + 1) 
    ! )); 
    
          (2
    * (2 
    * (k 
    + 1))) 
    < (2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) by 
    XREAL_1: 29,
    XREAL_1: 68;
    
          then ((2
    * (2 
    * (k 
    + 1))) 
    + 1) 
    < ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    + 1) by 
    XREAL_1: 6;
    
          then (((2
    * (2 
    * (k 
    + 1))) 
    + 1) 
    ! ) 
    <= (((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    + 1) 
    ! ) by 
    Th38;
    
          then (1
    / (((2 
    * (2 
    * (k 
    + 1))) 
    + 1) 
    ! )) 
    >= (1 
    / (((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    + 1) 
    ! )) by 
    XREAL_1: 85;
    
          then ((1
    / (((2 
    * (2 
    * (k 
    + 1))) 
    + 1) 
    ! )) 
    - (1 
    / (((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    + 1) 
    ! ))) 
    >=  
    0 by 
    XREAL_1: 48;
    
          then (((
    Partial_Sums (1 
    P_sin )) 
    * bq) 
    . (k 
    + 1)) 
    >= ((( 
    Partial_Sums (1 
    P_sin )) 
    * bq) 
    . k) by 
    A19,
    A20,
    A21,
    XREAL_1: 49;
    
          hence thesis by
    A18,
    XXREAL_0: 2;
    
        end;
    
        for n holds
    X[n] from
    NAT_1:sch 2(
    A15,
    A16);
    
        hence thesis;
    
      end;
    
      then
    
      
    
    A22: ( 
    sin  
    . 1) 
    >= (5 
    / 6) by 
    A12,
    A14,
    PREPOWER: 1,
    SEQ_4: 16;
    
      
    
      
    
    A23: ((( 
    cos  
    . 1) 
    ^2 ) 
    + (( 
    sin  
    . 1) 
    ^2 )) 
    = 1 by 
    Th28;
    
      
    
      
    
    A24: (( 
    sin  
    . 1) 
    ^2 ) 
    >= ((5 
    / 6) 
    ^2 ) by 
    A22,
    SQUARE_1: 15;
    
      then (1
    - (1 
    - (( 
    cos  
    . 1) 
    ^2 ))) 
    <= (1 
    - (25 
    / 36)) by 
    A23,
    XREAL_1: 10;
    
      then ((
    cos  
    . 1) 
    ^2 ) 
    < (25 
    / 36) by 
    XXREAL_0: 2;
    
      then ((
    sin  
    . 1) 
    ^2 ) 
    > (( 
    cos  
    . 1) 
    ^2 ) by 
    A24,
    XXREAL_0: 2;
    
      then
    
      
    
    A25: ( 
    sqrt (( 
    cos  
    . 1) 
    ^2 )) 
    < ( 
    sqrt (( 
    sin  
    . 1) 
    ^2 )) by 
    SQUARE_1: 27,
    XREAL_1: 63;
    
      (
    sqrt (( 
    cos  
    . 1) 
    ^2 )) 
    = ( 
    cos  
    . 1) by 
    A11,
    SQUARE_1: 22;
    
      hence thesis by
    A11,
    A22,
    A25,
    SQUARE_1: 22;
    
    end;
    
    theorem :: 
    
    SIN_COS:44
    
    
    
    
    
    Th43: for th holds (th 
    rExpSeq ) 
    = ( 
    Re (th 
    ExpSeq )) 
    
    proof
    
      let th;
    
      for n be
    Element of 
    NAT holds ((th 
    rExpSeq ) 
    . n) 
    = (( 
    Re (th 
    ExpSeq )) 
    . n) 
    
      proof
    
        let n be
    Element of 
    NAT ; 
    
        ((
    Re (th 
    ExpSeq )) 
    . n) 
    = ( 
    Re ((th 
    ExpSeq ) 
    . n)) by 
    COMSEQ_3:def 5
    
        .= (
    Re ((th 
    |^ n) 
    / ((n 
    ! ) 
    + ( 
    0  
    *  
    <i> )))) by 
    Def4
    
        .= (
    Re (((th 
    |^ n) 
    / (n 
    ! )) 
    + ( 
    0  
    *  
    <i> ))) 
    
        .= ((th
    |^ n) 
    / (n 
    ! )) by 
    COMPLEX1: 12
    
        .= ((th
    rExpSeq ) 
    . n) by 
    Def5;
    
        hence thesis;
    
      end;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:45
    
    
    
    
    
    Th44: for th holds (th 
    rExpSeq ) is 
    summable & ( 
    Sum (th 
    rExpSeq )) 
    = ( 
    Re ( 
    Sum (th 
    ExpSeq ))) 
    
    proof
    
      let th;
    
      (
    Sum (th 
    ExpSeq )) 
    = (( 
    Sum ( 
    Re (th 
    ExpSeq ))) 
    + (( 
    Sum ( 
    Im (th 
    ExpSeq ))) 
    *  
    <i> )) & ( 
    Sum (th 
    rExpSeq )) 
    = ( 
    Sum ( 
    Re (th 
    ExpSeq ))) by 
    Th43,
    COMSEQ_3: 53;
    
      hence thesis by
    Th43,
    COMPLEX1: 12;
    
    end;
    
    
    
    
    
    Lm8: for z be 
    Complex holds ((z 
    ExpSeq ) 
    . 1) 
    = z & ((z 
    ExpSeq ) 
    .  
    0 ) 
    =  
    1r & 
    |.(z
    |^ n).| 
    = ( 
    |.z.|
    |^ n) 
    
    proof
    
      let z be
    Complex;
    
      (z
    |^ 1) 
    = z; 
    
      
    
      then
    
      
    
    A1: ((z 
    ExpSeq ) 
    . 1) 
    = (z 
    / (1 
    ! )) by 
    Def4
    
      .= z by
    NEWTON: 13;
    
      
    
      
    
    A2: ((z 
    ExpSeq ) 
    .  
    0 ) 
    = ((z 
    |^  
    0 ) 
    / ( 
    0  
    ! )) by 
    Def4
    
      .=
    1r by 
    Th1,
    COMSEQ_3: 11;
    
      
    |.(z
    |^ n).| 
    = ( 
    |.z.|
    |^ n) 
    
      proof
    
        defpred
    
    X[
    Nat] means
    |.(z
    |^ $1).| 
    = ( 
    |.z.|
    |^ $1); 
    
        
    |.(z
    |^  
    0 ).| 
    = 1 by 
    COMPLEX1: 48,
    COMSEQ_3:def 1;
    
        then
    
        
    
    A3: 
    X[
    0 ] by 
    NEWTON: 4;
    
        
    
        
    
    A4: for k st 
    X[k] holds
    X[(k
    + 1)] 
    
        proof
    
          let k such that
    
          
    
    A5: 
    |.(z
    |^ k).| 
    = ( 
    |.z.|
    |^ k); 
    
          
    |.(z
    |^ (k 
    + 1)).| 
    =  
    |.(z
    * ((z 
    GeoSeq ) 
    . k)).| by 
    COMSEQ_3:def 1
    
          .= ((
    |.z.|
    |^ k) 
    *  
    |.z.|) by
    A5,
    COMPLEX1: 65
    
          .= (
    |.z.|
    |^ (k 
    + 1)) by 
    NEWTON: 6;
    
          hence thesis;
    
        end;
    
        for n holds
    X[n] from
    NAT_1:sch 2(
    A3,
    A4);
    
        hence thesis;
    
      end;
    
      hence thesis by
    A1,
    A2;
    
    end;
    
    
    
    
    
    Lm9: for th holds ( 
    Sum (th 
    ExpSeq )) 
    = ( 
    Sum (th 
    rExpSeq )) 
    
    proof
    
      let th;
    
      
    
      
    
    A1: for n be 
    Nat holds (( 
    Im ( 
    Partial_Sums (th 
    ExpSeq ))) 
    . n) 
    = ( 
    In ( 
    0 , 
    REAL )) 
    
      proof
    
        defpred
    
    X[
    Nat] means ((
    Im ( 
    Partial_Sums (th 
    ExpSeq ))) 
    . $1) 
    =  
    0 ; 
    
        ((
    Im ( 
    Partial_Sums (th 
    ExpSeq ))) 
    .  
    0 ) 
    = ( 
    Im (( 
    Partial_Sums (th 
    ExpSeq )) 
    .  
    0 )) by 
    COMSEQ_3:def 6
    
        .= (
    Im ((th 
    ExpSeq ) 
    .  
    0 )) by 
    SERIES_1:def 1
    
        .=
    0 by 
    Lm8,
    COMPLEX1: 6;
    
        then
    
        
    
    A2: 
    X[
    0 ]; 
    
        
    
        
    
    A3: for n be 
    Nat st 
    X[n] holds
    X[(n
    + 1)] 
    
        proof
    
          let n be
    Nat such that 
    
          
    
    A4: (( 
    Im ( 
    Partial_Sums (th 
    ExpSeq ))) 
    . n) 
    =  
    0 ; 
    
          ((
    Im ( 
    Partial_Sums (th 
    ExpSeq ))) 
    . (n 
    + 1)) 
    = ( 
    Im (( 
    Partial_Sums (th 
    ExpSeq )) 
    . (n 
    + 1))) by 
    COMSEQ_3:def 6
    
          .= (
    Im ((( 
    Partial_Sums (th 
    ExpSeq )) 
    . n) 
    + ((th 
    ExpSeq ) 
    . (n 
    + 1)))) by 
    SERIES_1:def 1
    
          .= ((
    Im (( 
    Partial_Sums (th 
    ExpSeq )) 
    . n)) 
    + ( 
    Im ((th 
    ExpSeq ) 
    . (n 
    + 1)))) by 
    COMPLEX1: 8
    
          .= (
    0  
    + ( 
    Im ((th 
    ExpSeq ) 
    . (n 
    + 1)))) by 
    A4,
    COMSEQ_3:def 6
    
          .= (
    Im (((th 
    |^ (n 
    + 1)) 
    / ((n 
    + 1) 
    ! )) 
    + ( 
    0  
    *  
    <i> ))) by 
    Def4
    
          .=
    0 by 
    COMPLEX1: 12;
    
          hence thesis;
    
        end;
    
        for n be
    Nat holds 
    X[n] from
    NAT_1:sch 2(
    A2,
    A3);
    
        hence thesis;
    
      end;
    
      then (
    Im ( 
    Partial_Sums (th 
    ExpSeq ))) is 
    constant by 
    VALUED_0:def 18;
    
      
    
      then (
    lim ( 
    Im ( 
    Partial_Sums (th 
    ExpSeq )))) 
    = (( 
    Im ( 
    Partial_Sums (th 
    ExpSeq ))) 
    .  
    0 ) by 
    SEQ_4: 26
    
      .=
    0 by 
    A1;
    
      then (
    Im ( 
    Sum (th 
    ExpSeq ))) 
    =  
    0 by 
    COMSEQ_3: 41;
    
      
    
      then (
    Sum (th 
    ExpSeq )) 
    = (( 
    Re ( 
    Sum (th 
    ExpSeq ))) 
    + ( 
    0  
    *  
    <i> )) by 
    COMPLEX1: 13
    
      .= (
    Sum (th 
    rExpSeq )) by 
    Th44;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:46
    
    
    
    
    
    Th45: for p,q be 
    Real holds ( 
    Sum ((p 
    + q) 
    rExpSeq )) 
    = (( 
    Sum (p 
    rExpSeq )) 
    * ( 
    Sum (q 
    rExpSeq ))) 
    
    proof
    
      let p,q be
    Real;
    
      reconsider p, q as
    Real;
    
      (
    Sum ((p 
    + q) 
    rExpSeq )) 
    = ( 
    Re ( 
    Sum ((p 
    + q) 
    ExpSeq ))) by 
    Th44
    
      .= (
    Re (( 
    Sum (p 
    ExpSeq )) 
    * ( 
    Sum (q 
    ExpSeq )))) by 
    Lm2
    
      .= (
    Re ((( 
    Re ( 
    Sum (p 
    ExpSeq ))) 
    + (( 
    Im ( 
    Sum (p 
    ExpSeq ))) 
    *  
    <i> )) 
    * ( 
    Sum (q 
    ExpSeq )))) by 
    COMPLEX1: 13
    
      .= (
    Re ((( 
    Re ( 
    Sum (p 
    ExpSeq ))) 
    + (( 
    Im ( 
    Sum (p 
    ExpSeq ))) 
    *  
    <i> )) 
    * (( 
    Re ( 
    Sum (q 
    ExpSeq ))) 
    + (( 
    Im ( 
    Sum (q 
    ExpSeq ))) 
    *  
    <i> )))) by 
    COMPLEX1: 13
    
      .= (
    Re ((( 
    Sum (p 
    rExpSeq )) 
    + (( 
    Im ( 
    Sum (p 
    ExpSeq ))) 
    *  
    <i> )) 
    * (( 
    Re ( 
    Sum (q 
    ExpSeq ))) 
    + (( 
    Im ( 
    Sum (q 
    ExpSeq ))) 
    *  
    <i> )))) by 
    Th44
    
      .= (
    Re ((( 
    Sum (p 
    rExpSeq )) 
    + ( 
    0  
    *  
    <i> )) 
    * (( 
    Re ( 
    Sum (q 
    ExpSeq ))) 
    + (( 
    Im ( 
    Sum (q 
    ExpSeq ))) 
    *  
    <i> )))) by 
    Th41
    
      .= (
    Re (( 
    Sum (p 
    rExpSeq )) 
    * (( 
    Sum (q 
    rExpSeq )) 
    + (( 
    Im ( 
    Sum (q 
    ExpSeq ))) 
    *  
    <i> )))) by 
    Th44
    
      .= (
    Re (( 
    Sum (p 
    rExpSeq )) 
    * (( 
    Sum (q 
    rExpSeq )) 
    + ( 
    0  
    *  
    <i> )))) by 
    Th41
    
      .= (
    Re ((( 
    Sum (p 
    rExpSeq )) 
    * ( 
    Sum (q 
    rExpSeq ))) 
    + ( 
    0  
    *  
    <i> ))) 
    
      .= ((
    Sum (p 
    rExpSeq )) 
    * ( 
    Sum (q 
    rExpSeq ))) by 
    COMPLEX1: 12;
    
      hence thesis;
    
    end;
    
    definition
    
      :: 
    
    SIN_COS:def22
    
      func
    
    exp_R -> 
    Function of 
    REAL , 
    REAL means 
    
      :
    
    Def22: for d be 
    Real holds (it 
    . d) 
    = ( 
    Sum (d 
    rExpSeq )); 
    
      existence
    
      proof
    
        deffunc
    
    U(
    Real) = (
    In (( 
    Sum ($1 
    rExpSeq )), 
    REAL )); 
    
        consider f be
    Function of 
    REAL , 
    REAL such that 
    
        
    
    A1: for d be 
    Element of 
    REAL holds (f 
    . d) 
    =  
    U(d) from
    FUNCT_2:sch 4;
    
        take f;
    
        let d be
    Real;
    
        d
    in  
    REAL by 
    XREAL_0:def 1;
    
        then (f
    . d) 
    =  
    U(d) by
    A1;
    
        hence thesis;
    
      end;
    
      uniqueness
    
      proof
    
        let f1,f2 be
    Function of 
    REAL , 
    REAL ; 
    
        assume
    
        
    
    A2: for d be 
    Real holds (f1 
    . d) 
    = ( 
    Sum (d 
    rExpSeq )); 
    
        assume
    
        
    
    A3: for d be 
    Real holds (f2 
    . d) 
    = ( 
    Sum (d 
    rExpSeq )); 
    
        for d be
    Element of 
    REAL holds (f1 
    . d) 
    = (f2 
    . d) 
    
        proof
    
          let d be
    Element of 
    REAL ; 
    
          
    
          thus (f1
    . d) 
    = ( 
    Sum (d 
    rExpSeq )) by 
    A2
    
          .= (f2
    . d) by 
    A3;
    
        end;
    
        hence f1
    = f2; 
    
      end;
    
    end
    
    definition
    
      let th be
    Real;
    
      :: 
    
    SIN_COS:def23
    
      func
    
    exp_R th -> 
    number equals ( 
    exp_R  
    . th); 
    
      coherence ;
    
    end
    
    registration
    
      let th be
    Real;
    
      cluster ( 
    exp_R th) -> 
    real;
    
      coherence ;
    
    end
    
    theorem :: 
    
    SIN_COS:47
    
    
    
    
    
    Th46: ( 
    dom  
    exp_R ) 
    =  
    REAL by 
    FUNCT_2:def 1;
    
    theorem :: 
    
    SIN_COS:48
    
    
    
    
    
    Th47: for th holds ( 
    exp_R  
    . th) 
    = ( 
    Re ( 
    Sum (th 
    ExpSeq ))) 
    
    proof
    
      let th;
    
      (
    exp_R  
    . th) 
    = ( 
    Sum (th 
    rExpSeq )) by 
    Def22;
    
      hence thesis by
    Th44;
    
    end;
    
    theorem :: 
    
    SIN_COS:49
    
    for th holds (
    exp th) 
    = ( 
    exp_R th) 
    
    proof
    
      let th;
    
      
    
      thus (
    exp th) 
    = ( 
    Sum (th 
    ExpSeq )) by 
    Def14
    
      .= (
    Sum (th 
    rExpSeq )) by 
    Lm9
    
      .= (
    exp_R th) by 
    Def22;
    
    end;
    
    
    
    
    
    Lm10: for p,q be 
    Real holds ( 
    exp_R  
    . (p 
    + q)) 
    = (( 
    exp_R  
    . p) 
    * ( 
    exp_R  
    . q)) 
    
    proof
    
      let p,q be
    Real;
    
      (
    exp_R  
    . (p 
    + q)) 
    = ( 
    Sum ((p 
    + q) 
    rExpSeq )) by 
    Def22
    
      .= ((
    Sum (p 
    rExpSeq )) 
    * ( 
    Sum (q 
    rExpSeq ))) by 
    Th45
    
      .= ((
    exp_R  
    . p) 
    * ( 
    Sum (q 
    rExpSeq ))) by 
    Def22
    
      .= ((
    exp_R  
    . p) 
    * ( 
    exp_R  
    . q)) by 
    Def22;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:50
    
    for p,q be
    Real holds ( 
    exp_R (p 
    + q)) 
    = (( 
    exp_R p) 
    * ( 
    exp_R q)) by 
    Lm10;
    
    
    
    
    
    Lm11: ( 
    exp_R  
    .  
    0 ) 
    = 1 
    
    proof
    
      (
    exp_R  
    .  
    0 ) 
    = ( 
    Sum ( 
    0  
    rExpSeq )) by 
    Def22
    
      .= 1 by
    Th9,
    Th44,
    COMPLEX1: 6;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:51
    
    (
    exp_R  
    0 ) 
    = 1 by 
    Lm11;
    
    theorem :: 
    
    SIN_COS:52
    
    
    
    
    
    Th51: th 
    >  
    0 implies ( 
    exp_R  
    . th) 
    >= 1 
    
    proof
    
      assume
    
      
    
    A1: th 
    >  
    0 ; 
    
      
    
      
    
    A2: for n holds (( 
    Partial_Sums (th 
    rExpSeq )) 
    . n) 
    >= 1 
    
      proof
    
        defpred
    
    X[
    Nat] means ((
    Partial_Sums (th 
    rExpSeq )) 
    . $1) 
    >= 1; 
    
        ((
    Partial_Sums (th 
    rExpSeq )) 
    .  
    0 ) 
    = ((th 
    rExpSeq ) 
    .  
    0 ) by 
    SERIES_1:def 1
    
        .= ((th
    |^  
    0 ) 
    / ( 
    0  
    ! )) by 
    Def5
    
        .= 1 by
    NEWTON: 4,
    NEWTON: 12;
    
        then
    
        
    
    A3: 
    X[
    0 ]; 
    
        
    
        
    
    A4: for n st 
    X[n] holds
    X[(n
    + 1)] 
    
        proof
    
          let n;
    
          assume
    
          
    
    A5: (( 
    Partial_Sums (th 
    rExpSeq )) 
    . n) 
    >= 1; 
    
          
    
          
    
    A6: (( 
    Partial_Sums (th 
    rExpSeq )) 
    . (n 
    + 1)) 
    = ((( 
    Partial_Sums (th 
    rExpSeq )) 
    . n) 
    + ((th 
    rExpSeq ) 
    . (n 
    + 1))) by 
    SERIES_1:def 1
    
          .= (((
    Partial_Sums (th 
    rExpSeq )) 
    . n) 
    + ((th 
    |^ (n 
    + 1)) 
    / ((n 
    + 1) 
    ! ))) by 
    Def5;
    
          (th
    |^ (n 
    + 1)) 
    >  
    0 & ((n 
    + 1) 
    ! ) 
    >  
    0 by 
    A1,
    PREPOWER: 6;
    
          then (((
    Partial_Sums (th 
    rExpSeq )) 
    . n) 
    + ((th 
    |^ (n 
    + 1)) 
    / ((n 
    + 1) 
    ! ))) 
    > (( 
    Partial_Sums (th 
    rExpSeq )) 
    . n) by 
    XREAL_1: 29;
    
          hence thesis by
    A5,
    A6,
    XXREAL_0: 2;
    
        end;
    
        for n holds
    X[n] from
    NAT_1:sch 2(
    A3,
    A4);
    
        hence thesis;
    
      end;
    
      (th
    rExpSeq ) is 
    summable by 
    Th44;
    
      then
    
      
    
    A7: ( 
    Partial_Sums (th 
    rExpSeq )) is 
    convergent by 
    SERIES_1:def 2;
    
      (
    lim ( 
    Partial_Sums (th 
    rExpSeq ))) 
    = ( 
    Sum (th 
    rExpSeq )) by 
    SERIES_1:def 3;
    
      then (
    Sum (th 
    rExpSeq )) 
    >= 1 by 
    A2,
    A7,
    PREPOWER: 1;
    
      hence thesis by
    Def22;
    
    end;
    
    theorem :: 
    
    SIN_COS:53
    
    
    
    
    
    Th52: th 
    <  
    0 implies 
    0  
    < ( 
    exp_R  
    . th) & ( 
    exp_R  
    . th) 
    <= 1 
    
    proof
    
      assume th
    <  
    0 ; 
    
      then
    
      
    
    A1: ( 
    exp_R  
    . ( 
    - th)) 
    >= 1 by 
    Th51;
    
      
    
      
    
    A2: (( 
    exp_R  
    . ( 
    - th)) 
    * ( 
    exp_R  
    . th)) 
    = ( 
    exp_R  
    . (( 
    - th) 
    + th)) by 
    Lm10
    
      .= 1 by
    Lm11;
    
      then
    
      
    
    A3: ( 
    exp_R  
    . th) 
    = (1 
    / ( 
    exp_R  
    . ( 
    - th))) by 
    XCMPLX_1: 73;
    
      thus
    0  
    < ( 
    exp_R  
    . th) by 
    A1,
    A2;
    
      thus thesis by
    A1,
    A3,
    XREAL_1: 211;
    
    end;
    
    theorem :: 
    
    SIN_COS:54
    
    
    
    
    
    Th53: ( 
    exp_R  
    . th) 
    >  
    0  
    
    proof
    
      now
    
        per cases ;
    
          suppose th
    =  
    0 ; 
    
          hence thesis by
    Lm11;
    
        end;
    
          suppose
    
          
    
    A1: th 
    <>  
    0 ; 
    
          now
    
            per cases by
    A1;
    
              suppose th
    <  
    0 ; 
    
              hence thesis by
    Th52;
    
            end;
    
              suppose th
    >  
    0 ; 
    
              hence thesis by
    Th51;
    
            end;
    
          end;
    
          hence thesis;
    
        end;
    
      end;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:55
    
    (
    exp_R th) 
    >  
    0 by 
    Th53;
    
    begin
    
    definition
    
      let z be
    Complex;
    
      deffunc
    
    U(
    Nat) = ((z
    |^ ($1 
    + 1)) 
    / (($1 
    + 2) 
    ! )); 
    
      :: 
    
    SIN_COS:def24
    
      func z
    
    P_dt -> 
    Complex_Sequence means 
    
      :
    
    Def24: for n holds (it 
    . n) 
    = ((z 
    |^ (n 
    + 1)) 
    / ((n 
    + 2) 
    ! )); 
    
      existence
    
      proof
    
        thus ex s be
    Complex_Sequence st for n holds (s 
    . n) 
    =  
    U(n) from
    COMSEQ_1:sch 1;
    
      end;
    
      uniqueness
    
      proof
    
        let s1,s2 be
    Complex_Sequence such that 
    
        
    
    A1: for x be 
    Nat holds (s1 
    . x) 
    =  
    U(x) and
    
        
    
    A2: for x be 
    Nat holds (s2 
    . x) 
    =  
    U(x);
    
        let x be
    Element of 
    NAT ; 
    
        
    
        thus (s1
    . x) 
    =  
    U(x) by
    A1
    
        .= (s2
    . x) by 
    A2;
    
      end;
    
      deffunc
    
    U(
    Nat) = ((z
    |^ $1) 
    / (($1 
    + 2) 
    ! )); 
    
      :: 
    
    SIN_COS:def25
    
      func z
    
    P_t -> 
    Complex_Sequence means for n holds (it 
    . n) 
    = ((z 
    |^ n) 
    / ((n 
    + 2) 
    ! )); 
    
      existence
    
      proof
    
        thus ex s be
    Complex_Sequence st for n holds (s 
    . n) 
    =  
    U(n) from
    COMSEQ_1:sch 1;
    
      end;
    
      uniqueness
    
      proof
    
        let s1,s2 be
    Complex_Sequence such that 
    
        
    
    A3: for x be 
    Nat holds (s1 
    . x) 
    =  
    U(x) and
    
        
    
    A4: for x be 
    Nat holds (s2 
    . x) 
    =  
    U(x);
    
        let x be
    Element of 
    NAT ; 
    
        
    
        thus (s1
    . x) 
    =  
    U(x) by
    A3
    
        .= (s2
    . x) by 
    A4;
    
      end;
    
    end
    
    
    
    
    
    Lm12: for p be 
    Real, z be 
    Complex holds ( 
    Re ((p 
    *  
    <i> ) 
    * z)) 
    = ( 
    - (p 
    * ( 
    Im z))) & ( 
    Im ((p 
    *  
    <i> ) 
    * z)) 
    = (p 
    * ( 
    Re z)) & ( 
    Re (p 
    * z)) 
    = (p 
    * ( 
    Re z)) & ( 
    Im (p 
    * z)) 
    = (p 
    * ( 
    Im z)) 
    
    proof
    
      let p be
    Real, z be 
    Complex;
    
      
    
      
    
    A1: ((p 
    *  
    <i> ) 
    * z) 
    = ((p 
    *  
    <i> ) 
    * (( 
    Re z) 
    + (( 
    Im z) 
    *  
    <i> ))) by 
    COMPLEX1: 13
    
      .= ((
    - (p 
    * ( 
    Im z))) 
    + ((p 
    * ( 
    Re z)) 
    *  
    <i> )); 
    
      (p
    * z) 
    = (p 
    * (( 
    Re z) 
    + (( 
    Im z) 
    *  
    <i> ))) by 
    COMPLEX1: 13
    
      .= ((p
    * ( 
    Re z)) 
    + ((p 
    * ( 
    Im z)) 
    *  
    <i> )); 
    
      hence thesis by
    A1,
    COMPLEX1: 12;
    
    end;
    
    
    
    
    
    Lm13: for p be 
    Real, z be 
    Complex st p 
    >  
    0 holds ( 
    Re (z 
    / (p 
    *  
    <i> ))) 
    = (( 
    Im z) 
    / p) & ( 
    Im (z 
    / (p 
    *  
    <i> ))) 
    = ( 
    - (( 
    Re z) 
    / p)) & 
    |.(z
    / p).| 
    = ( 
    |.z.|
    / p) 
    
    proof
    
      let p be
    Real, z be 
    Complex such that 
    
      
    
    A1: p 
    >  
    0 ; 
    
      
    
      
    
    A2: ( 
    Re ( 
    0  
    + (p 
    *  
    <i> ))) 
    =  
    0 & ( 
    Im ( 
    0  
    + (p 
    *  
    <i> ))) 
    = p by 
    COMPLEX1: 12;
    
      
    
      
    
    A3: ( 
    Im (p 
    + ( 
    0  
    *  
    <i> ))) 
    =  
    0 by 
    COMPLEX1: 12;
    
      
    
      
    
    A4: (z 
    / (p 
    *  
    <i> )) 
    = ((((( 
    Re z) 
    *  
    0 ) 
    + (( 
    Im z) 
    * p)) 
    / (( 
    0  
    ^2 ) 
    + (p 
    ^2 ))) 
    + (((( 
    0  
    * ( 
    Im z)) 
    - (( 
    Re z) 
    * p)) 
    / (( 
    0  
    ^2 ) 
    + (p 
    ^2 ))) 
    *  
    <i> )) by 
    A2,
    COMPLEX1: 86
    
      .= ((((
    Im z) 
    * p) 
    / (p 
    * p)) 
    + (((( 
    - ( 
    Re z)) 
    * p) 
    / (p 
    * p)) 
    *  
    <i> )) 
    
      .= ((((
    Im z) 
    * p) 
    / (p 
    * p)) 
    + ((( 
    - ( 
    Re z)) 
    / p) 
    *  
    <i> )) by 
    A1,
    XCMPLX_1: 91
    
      .= (((
    Im z) 
    / p) 
    + (( 
    - (( 
    Re z) 
    / p)) 
    *  
    <i> )) by 
    A1,
    XCMPLX_1: 91;
    
      
    |.(z
    / p).| 
    = ( 
    |.z.|
    /  
    |.p.|) by
    COMPLEX1: 67
    
      .= (
    |.z.|
    / ( 
    sqrt (p 
    ^2 ))) by 
    A3,
    COMPLEX1: 12;
    
      hence thesis by
    A1,
    A4,
    COMPLEX1: 12,
    SQUARE_1: 22;
    
    end;
    
    theorem :: 
    
    SIN_COS:56
    
    
    
    
    
    Th55: for z be 
    Complex holds (z 
    P_dt ) is 
    absolutely_summable
    
    proof
    
      let z be
    Complex;
    
      ex r st for n holds ((
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . n) 
    < r 
    
      proof
    
        
    
        
    
    A1: for n holds (( 
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . n) 
    < (( 
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . (n 
    + 1)) 
    
        proof
    
          let n;
    
          ((
    Partial_Sums  
    |.(z
    P_dt ).|) 
    .  
    0 ) 
    = ( 
    |.(z
    P_dt ).| 
    .  
    0 ) by 
    SERIES_1:def 1
    
          .=
    |.((z
    P_dt ) 
    .  
    0 ).| by 
    VALUED_1: 18
    
          .=
    |.((z
    |^ ( 
    0  
    + 1)) 
    / (( 
    0  
    + 2) 
    ! )).| by 
    Def24
    
          .=
    |.(z
    / 2).| by 
    NEWTON: 14;
    
          then
    
          
    
    A2: (( 
    Partial_Sums  
    |.(z
    P_dt ).|) 
    .  
    0 ) 
    = ( 
    |.z.|
    / 2) by 
    Lm13;
    
          ((
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . ( 
    0  
    + 1)) 
    = ((( 
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    .  
    0 ) 
    + ( 
    |.(z
    ExpSeq ).| 
    . ( 
    0  
    + 1))) by 
    SERIES_1:def 1
    
          .= ((
    |.(z
    ExpSeq ).| 
    .  
    0 ) 
    + ( 
    |.(z
    ExpSeq ).| 
    . 1)) by 
    SERIES_1:def 1
    
          .= ((
    |.(z
    ExpSeq ).| 
    .  
    0 ) 
    +  
    |.((z
    ExpSeq ) 
    . 1).|) by 
    VALUED_1: 18
    
          .= (
    |.((z
    ExpSeq ) 
    .  
    0 ).| 
    +  
    |.((z
    ExpSeq ) 
    . 1).|) by 
    VALUED_1: 18
    
          .= (
    |.((z
    ExpSeq ) 
    .  
    0 ).| 
    +  
    |.z.|) by
    Lm8
    
          .= (1
    +  
    |.z.|) by
    Lm8,
    COMPLEX1: 48;
    
          then
    
          
    
    A3: ((( 
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . ( 
    0  
    + 1)) 
    - (( 
    Partial_Sums  
    |.(z
    P_dt ).|) 
    .  
    0 )) 
    = (1 
    + ( 
    |.z.|
    - ( 
    |.z.|
    / 2))) by 
    A2;
    
          defpred
    
    X[
    Nat] means ((
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . $1) 
    < (( 
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . ($1 
    + 1)); 
    
          
    0  
    <=  
    |.z.| by
    COMPLEX1: 46;
    
          then
    
          
    
    A4: 
    X[
    0 ] by 
    A3,
    XREAL_1: 47;
    
          
    
          
    
    A5: for n st 
    X[n] holds
    X[(n
    + 1)] 
    
          proof
    
            let n such that
    
            
    
    A6: (( 
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . n) 
    < (( 
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . (n 
    + 1)); 
    
            ((
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . (n 
    + 1)) 
    = ((( 
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . n) 
    + ( 
    |.(z
    P_dt ).| 
    . (n 
    + 1))) by 
    SERIES_1:def 1
    
            .= (((
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . n) 
    +  
    |.((z
    P_dt ) 
    . (n 
    + 1)).|) by 
    VALUED_1: 18
    
            .= (((
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . n) 
    +  
    |.((z
    |^ ((n 
    + 1) 
    + 1)) 
    / (((n 
    + 1) 
    + 2) 
    ! )).|) by 
    Def24
    
            .= (((
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . n) 
    +  
    |.((z
    |^ (n 
    + 2)) 
    / ((n 
    + 3) 
    ! )).|); 
    
            then
    
            
    
    A7: (( 
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . (n 
    + 1)) 
    = ((( 
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . n) 
    + ( 
    |.(z
    |^ (n 
    + 2)).| 
    / ((n 
    + 3) 
    ! ))) by 
    Lm13;
    
            ((
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . ((n 
    + 1) 
    + 1)) 
    = ((( 
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . (n 
    + 1)) 
    + ( 
    |.(z
    ExpSeq ).| 
    . (n 
    + (1 
    + 1)))) by 
    SERIES_1:def 1
    
            .= (((
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . (n 
    + 1)) 
    +  
    |.((z
    ExpSeq ) 
    . (n 
    + 2)).|) by 
    VALUED_1: 18
    
            .= (((
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . (n 
    + 1)) 
    +  
    |.((z
    |^ (n 
    + 2)) 
    / ((n 
    + 2) 
    ! )).|) by 
    Def4
    
            .= (((
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . (n 
    + 1)) 
    +  
    |.((z
    |^ (n 
    + 2)) 
    / ((n 
    + 2) 
    ! )).|); 
    
            then
    
            
    
    A8: (( 
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . ((n 
    + 1) 
    + 1)) 
    = ((( 
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . (n 
    + 1)) 
    + ( 
    |.(z
    |^ (n 
    + 2)).| 
    / ((n 
    + 2) 
    ! ))) by 
    Lm13;
    
            (n
    + 2) 
    < (n 
    + 3) by 
    XREAL_1: 6;
    
            then
    
            
    
    A9: ((n 
    + 2) 
    ! ) 
    <= ((n 
    + 3) 
    ! ) by 
    Th38;
    
            
    |.(z
    |^ (n 
    + 2)).| 
    >=  
    0 by 
    COMPLEX1: 46;
    
            then (
    |.(z
    |^ (n 
    + 2)).| 
    / ((n 
    + 2) 
    ! )) 
    >= ( 
    |.(z
    |^ (n 
    + 2)).| 
    / ((n 
    + 3) 
    ! )) by 
    A9,
    XREAL_1: 118;
    
            then
    
            
    
    A10: ((( 
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . n) 
    + ( 
    |.(z
    |^ (n 
    + 2)).| 
    / ((n 
    + 3) 
    ! ))) 
    <= ((( 
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . n) 
    + ( 
    |.(z
    |^ (n 
    + 2)).| 
    / ((n 
    + 2) 
    ! ))) by 
    XREAL_1: 6;
    
            (((
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . n) 
    + ( 
    |.(z
    |^ (n 
    + 2)).| 
    / ((n 
    + 2) 
    ! ))) 
    < ((( 
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . (n 
    + 1)) 
    + ( 
    |.(z
    |^ (n 
    + 2)).| 
    / ((n 
    + 2) 
    ! ))) by 
    A6,
    XREAL_1: 6;
    
            hence thesis by
    A7,
    A8,
    A10,
    XXREAL_0: 2;
    
          end;
    
          for n holds
    X[n] from
    NAT_1:sch 2(
    A4,
    A5);
    
          hence thesis;
    
        end;
    
        consider r be
    Real such that 
    
        
    
    A11: for n holds (( 
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . n) 
    < r by 
    SEQ_2:def 3;
    
        
    
        
    
    A12: for n holds (( 
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . n) 
    < r 
    
        proof
    
          let n;
    
          ((
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . n) 
    < (( 
    Partial_Sums  
    |.(z
    ExpSeq ).|) 
    . (n 
    + 1)) by 
    A1;
    
          hence thesis by
    A11,
    XXREAL_0: 2;
    
        end;
    
        take r;
    
        thus thesis by
    A12;
    
      end;
    
      then (
    Partial_Sums  
    |.(z
    P_dt ).|) is 
    bounded_above by 
    SEQ_2:def 3;
    
      hence thesis by
    COMSEQ_3: 61;
    
    end;
    
    theorem :: 
    
    SIN_COS:57
    
    
    
    
    
    Th56: for z be 
    Complex holds (z 
    * ( 
    Sum (z 
    P_dt ))) 
    = ((( 
    Sum (z 
    ExpSeq )) 
    -  
    1r ) 
    - z) 
    
    proof
    
      let z be
    Complex;
    
      
    
      
    
    A1: for z be 
    Complex holds (z 
    (#) (z 
    P_dt )) 
    = ((z 
    ExpSeq ) 
    ^\ 2) 
    
      proof
    
        let z be
    Complex;
    
        for n be
    Element of 
    NAT holds ((z 
    (#) (z 
    P_dt )) 
    . n) 
    = (((z 
    ExpSeq ) 
    ^\ 2) 
    . n) 
    
        proof
    
          let n be
    Element of 
    NAT ; 
    
          ((z
    (#) (z 
    P_dt )) 
    . n) 
    = (z 
    * ((z 
    P_dt ) 
    . n)) by 
    VALUED_1: 6
    
          .= (z
    * ((z 
    |^ (n 
    + 1)) 
    / ((n 
    + 2) 
    ! ))) by 
    Def24;
    
          
    
          then ((z
    (#) (z 
    P_dt )) 
    . n) 
    = ((z 
    * (z 
    |^ (n 
    + 1))) 
    / ((n 
    + 2) 
    ! )) 
    
          .= ((z
    |^ ((n 
    + 1) 
    + 1)) 
    / ((n 
    + 2) 
    ! )) by 
    NEWTON: 6
    
          .= ((z
    ExpSeq ) 
    . (n 
    + 2)) by 
    Def4
    
          .= (((z
    ExpSeq ) 
    ^\ 2) 
    . n) by 
    NAT_1:def 3;
    
          hence thesis;
    
        end;
    
        hence thesis;
    
      end;
    
      (
    Sum (z 
    ExpSeq )) 
    = ((( 
    Partial_Sums (z 
    ExpSeq )) 
    . 1) 
    + ( 
    Sum ((z 
    ExpSeq ) 
    ^\ (1 
    + 1)))) by 
    COMSEQ_3: 60
    
      .= (((
    Partial_Sums (z 
    ExpSeq )) 
    . 1) 
    + ( 
    Sum ((z 
    ExpSeq ) 
    ^\ 2))); 
    
      
    
      then
    
      
    
    A2: ( 
    Sum (z 
    (#) (z 
    P_dt ))) 
    = (( 
    Sum (z 
    ExpSeq )) 
    - (( 
    Partial_Sums (z 
    ExpSeq )) 
    . ( 
    0  
    + 1))) by 
    A1
    
      .= ((
    Sum (z 
    ExpSeq )) 
    - ((( 
    Partial_Sums (z 
    ExpSeq )) 
    .  
    0 ) 
    + ((z 
    ExpSeq ) 
    . 1))) by 
    SERIES_1:def 1
    
      .= ((
    Sum (z 
    ExpSeq )) 
    - (((z 
    ExpSeq ) 
    .  
    0 ) 
    + ((z 
    ExpSeq ) 
    . 1))) by 
    SERIES_1:def 1
    
      .= ((
    Sum (z 
    ExpSeq )) 
    - ( 
    1r  
    + ((z 
    ExpSeq ) 
    . 1))) by 
    Lm8
    
      .= ((
    Sum (z 
    ExpSeq )) 
    - ( 
    1r  
    + z)) by 
    Lm8
    
      .= (((
    Sum (z 
    ExpSeq )) 
    -  
    1r ) 
    - z); 
    
      reconsider BBB = (z
    P_dt ) as 
    absolutely_summable  
    Complex_Sequence by 
    Th55;
    
      BBB is
    summable;
    
      hence thesis by
    A2,
    COMSEQ_3: 56;
    
    end;
    
    theorem :: 
    
    SIN_COS:58
    
    
    
    
    
    Th57: for p st p 
    >  
    0 holds ex q st q 
    >  
    0 & for z be 
    Complex st 
    |.z.|
    < q holds 
    |.(
    Sum (z 
    P_dt )).| 
    < p 
    
    proof
    
      
    
      
    
    A1: for z holds 
    |.(
    Sum (z 
    P_dt )).| 
    <= ( 
    Sum  
    |.(z
    P_dt ).|) 
    
      proof
    
        let z;
    
        
    
        
    
    A2: for k holds ( 
    |.(
    Partial_Sums (z 
    P_dt )).| 
    . k) 
    <= (( 
    Partial_Sums  
    |.(z
    P_dt ).|) 
    . k) 
    
        proof
    
          let k;
    
          
    |.((
    Partial_Sums (z 
    P_dt )) 
    . k).| 
    = ( 
    |.(
    Partial_Sums (z 
    P_dt )).| 
    . k) by 
    VALUED_1: 18;
    
          hence thesis by
    COMSEQ_3: 30;
    
        end;
    
        
    
        
    
    A3: (z 
    P_dt ) is 
    absolutely_summable by 
    Th55;
    
        
    
        
    
    A4: (z 
    P_dt ) is 
    summable by 
    Th55,
    COMSEQ_3: 63;
    
        
    
        
    
    A5: ( 
    lim  
    |.(
    Partial_Sums (z 
    P_dt )).|) 
    =  
    |.(
    lim ( 
    Partial_Sums (z 
    P_dt ))).| by 
    A4,
    SEQ_2: 27;
    
        (
    lim  
    |.(
    Partial_Sums (z 
    P_dt )).|) 
    <= ( 
    lim ( 
    Partial_Sums  
    |.(z
    P_dt ).|)) by 
    A2,
    A3,
    SEQ_2: 18;
    
        hence thesis by
    A5,
    SERIES_1:def 3;
    
      end;
    
      
    
      
    
    A6: for z, n holds ( 
    |.(z
    P_dt ).| 
    . n) 
    <= ( 
    |.z.|
    * (( 
    |.z.|
    GeoSeq ) 
    . n)) 
    
      proof
    
        let z, n;
    
        (
    |.(z
    P_dt ).| 
    . n) 
    =  
    |.((z
    P_dt ) 
    . n).| by 
    VALUED_1: 18
    
        .=
    |.((z
    |^ (n 
    + 1)) 
    / ((n 
    + 2) 
    ! )).| by 
    Def24
    
        .=
    |.((z
    |^ (n 
    + 1)) 
    / ((n 
    + 2) 
    ! )).|; 
    
        
    
        then
    
        
    
    A7: ( 
    |.(z
    P_dt ).| 
    . n) 
    = ( 
    |.(z
    |^ (n 
    + 1)).| 
    / ((n 
    + 2) 
    ! )) by 
    Lm13
    
        .= ((
    |.z.|
    |^ (n 
    + 1)) 
    / ((n 
    + 2) 
    ! )) by 
    Lm8;
    
        
    
        
    
    A8: ( 
    |.z.|
    * (( 
    |.z.|
    GeoSeq ) 
    . n)) 
    = ( 
    |.z.|
    * ( 
    |.z.|
    |^ n)) by 
    PREPOWER:def 1
    
        .= (
    |.z.|
    |^ (n 
    + 1)) by 
    NEWTON: 6;
    
        ((n
    + 2) 
    ! ) 
    >= 1 & ( 
    |.z.|
    |^ (n 
    + 1)) 
    >=  
    0 by 
    Th38,
    COMPLEX1: 46,
    NEWTON: 12,
    POWER: 3;
    
        then ((
    |.z.|
    |^ (n 
    + 1)) 
    / 1) 
    >= (( 
    |.z.|
    |^ (n 
    + 1)) 
    / ((n 
    + 2) 
    ! )) by 
    XREAL_1: 118;
    
        hence thesis by
    A7,
    A8;
    
      end;
    
      let p0 be
    Real;
    
      assume
    
      
    
    A9: p0 
    >  
    0 ; 
    
      reconsider p = p0 as
    Real;
    
      consider q such that
    
      
    
    A10: q 
    = (p 
    / (p 
    + 1)); 
    
      (p
    + 1) 
    > p by 
    XREAL_1: 29;
    
      then
    
      
    
    A11: q 
    < 1 by 
    A9,
    A10,
    XREAL_1: 189;
    
      
    
      
    
    A12: for z st 
    |.z.|
    < q holds 
    |.(
    Sum (z 
    P_dt )).| 
    < p 
    
      proof
    
        let z;
    
        assume
    
        
    
    A13: 
    |.z.|
    < q; 
    
        then
    
        
    
    A14: 
    |.z.|
    < 1 by 
    A11,
    XXREAL_0: 2;
    
        
    
        
    
    A15: 
    |.
    |.z.|.|
    < 1 by 
    A11,
    A13,
    XXREAL_0: 2;
    
        then
    
        
    
    A16: ( 
    |.z.|
    GeoSeq ) is 
    summable by 
    SERIES_1: 24;
    
        
    
        
    
    A17: ( 
    Sum ( 
    |.z.|
    GeoSeq )) 
    = (1 
    / (1 
    -  
    |.z.|)) by
    A15,
    SERIES_1: 24;
    
        
    
        
    
    A18: ( 
    |.z.|
    (#) ( 
    |.z.|
    GeoSeq )) is 
    summable by 
    A16,
    SERIES_1: 10;
    
        
    
        
    
    A19: for n holds ( 
    |.(z
    P_dt ).| 
    . n) 
    <= (( 
    |.z.|
    (#) ( 
    |.z.|
    GeoSeq )) 
    . n) 
    
        proof
    
          let n;
    
          (
    |.(z
    P_dt ).| 
    . n) 
    <= ( 
    |.z.|
    * (( 
    |.z.|
    GeoSeq ) 
    . n)) by 
    A6;
    
          hence thesis by
    SEQ_1: 9;
    
        end;
    
        for n holds
    0  
    <= ( 
    |.(z
    P_dt ).| 
    . n) 
    
        proof
    
          let n;
    
          (
    |.(z
    P_dt ).| 
    . n) 
    =  
    |.((z
    P_dt ) 
    . n).| by 
    VALUED_1: 18;
    
          hence thesis by
    COMPLEX1: 46;
    
        end;
    
        then
    
        
    
    A20: ( 
    Sum  
    |.(z
    P_dt ).|) 
    <= ( 
    Sum ( 
    |.z.|
    (#) ( 
    |.z.|
    GeoSeq ))) by 
    A18,
    A19,
    SERIES_1: 20;
    
        
    
        
    
    A21: ( 
    Sum ( 
    |.z.|
    (#) ( 
    |.z.|
    GeoSeq ))) 
    = ( 
    |.z.|
    / (1 
    -  
    |.z.|)) by
    A16,
    A17,
    SERIES_1: 10;
    
        
    
        
    
    A22: ( 
    |.z.|
    * (p 
    + 1)) 
    < ((p 
    / (p 
    + 1)) 
    * (p 
    + 1)) by 
    A9,
    A10,
    A13,
    XREAL_1: 68;
    
        ((p
    / (p 
    + 1)) 
    * (p 
    + 1)) 
    = p by 
    A9,
    XCMPLX_1: 87;
    
        then
    
        
    
    A23: (((p 
    *  
    |.z.|)
    +  
    |.z.|)
    - (p 
    *  
    |.z.|))
    < (p 
    - (p 
    *  
    |.z.|)) by
    A22,
    XREAL_1: 9;
    
        
    
        
    
    A24: (1 
    -  
    |.z.|)
    >  
    0 by 
    A14,
    XREAL_1: 50;
    
        then (
    |.z.|
    / (1 
    -  
    |.z.|))
    < ((p 
    * (1 
    -  
    |.z.|))
    / (1 
    -  
    |.z.|)) by
    A23,
    XREAL_1: 74;
    
        then (
    |.z.|
    / (1 
    -  
    |.z.|))
    < p by 
    A24,
    XCMPLX_1: 89;
    
        then
    
        
    
    A25: ( 
    Sum  
    |.(z
    P_dt ).|) 
    < p by 
    A20,
    A21,
    XXREAL_0: 2;
    
        
    |.(
    Sum (z 
    P_dt )).| 
    <= ( 
    Sum  
    |.(z
    P_dt ).|) by 
    A1;
    
        hence thesis by
    A25,
    XXREAL_0: 2;
    
      end;
    
      take q;
    
      thus q
    >  
    0 by 
    A9,
    A10;
    
      let z be
    Complex;
    
      thus thesis by
    A12;
    
    end;
    
    theorem :: 
    
    SIN_COS:59
    
    
    
    
    
    Th58: for z,z1 be 
    Complex holds (( 
    Sum ((z1 
    + z) 
    ExpSeq )) 
    - ( 
    Sum (z1 
    ExpSeq ))) 
    = ((( 
    Sum (z1 
    ExpSeq )) 
    * z) 
    + ((z 
    * ( 
    Sum (z 
    P_dt ))) 
    * ( 
    Sum (z1 
    ExpSeq )))) 
    
    proof
    
      let z,z1 be
    Complex;
    
      ((
    Sum ((z1 
    + z) 
    ExpSeq )) 
    - ( 
    Sum (z1 
    ExpSeq ))) 
    = ((( 
    Sum (z1 
    ExpSeq )) 
    * ( 
    Sum (z 
    ExpSeq ))) 
    - (( 
    Sum (z1 
    ExpSeq )) 
    *  
    1r )) by 
    Lm2
    
      .= ((
    Sum (z1 
    ExpSeq )) 
    * (((( 
    Sum (z 
    ExpSeq )) 
    -  
    1r ) 
    - z) 
    + z)) 
    
      .= ((
    Sum (z1 
    ExpSeq )) 
    * ((z 
    * ( 
    Sum (z 
    P_dt ))) 
    + z)) by 
    Th56
    
      .= (((
    Sum (z1 
    ExpSeq )) 
    * z) 
    + ((z 
    * ( 
    Sum (z 
    P_dt ))) 
    * ( 
    Sum (z1 
    ExpSeq )))); 
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:60
    
    
    
    
    
    Th59: for p,q be 
    Real holds (( 
    cos  
    . (p 
    + q)) 
    - ( 
    cos  
    . p)) 
    = (( 
    - (q 
    * ( 
    sin  
    . p))) 
    - (q 
    * ( 
    Im (( 
    Sum ((q 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))))) 
    
    proof
    
      let p,q be
    Real;
    
      ((
    cos  
    . (p 
    + q)) 
    - ( 
    cos  
    . p)) 
    = (( 
    cos  
    . (p 
    + q)) 
    - ( 
    Re ( 
    Sum ((p 
    *  
    <i> ) 
    ExpSeq )))) by 
    Def18
    
      .= ((
    Re ( 
    Sum (((p 
    + q) 
    *  
    <i> ) 
    ExpSeq ))) 
    - ( 
    Re ( 
    Sum ((p 
    *  
    <i> ) 
    ExpSeq )))) by 
    Def18
    
      .= (
    Re (( 
    Sum (((p 
    *  
    <i> ) 
    + (q 
    *  
    <i> )) 
    ExpSeq )) 
    - ( 
    Sum ((p 
    *  
    <i> ) 
    ExpSeq )))) by 
    COMPLEX1: 19
    
      .= (
    Re ((( 
    Sum ((p 
    *  
    <i> ) 
    ExpSeq )) 
    * (q 
    *  
    <i> )) 
    + (((q 
    *  
    <i> ) 
    * ( 
    Sum ((q 
    *  
    <i> ) 
    P_dt ))) 
    * ( 
    Sum ((p 
    *  
    <i> ) 
    ExpSeq ))))) by 
    Th58
    
      .= (
    Re (((( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )) 
    * (q 
    *  
    <i> )) 
    + (((q 
    *  
    <i> ) 
    * ( 
    Sum ((q 
    *  
    <i> ) 
    P_dt ))) 
    * ( 
    Sum ((p 
    *  
    <i> ) 
    ExpSeq ))))) by 
    Lm3
    
      .= (
    Re (((( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )) 
    * (q 
    *  
    <i> )) 
    + (((q 
    *  
    <i> ) 
    * ( 
    Sum ((q 
    *  
    <i> ) 
    P_dt ))) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))) by 
    Lm3
    
      .= ((
    Re (( 
    - (q 
    * ( 
    sin  
    . p))) 
    + ((q 
    * ( 
    cos  
    . p)) 
    *  
    <i> ))) 
    + ( 
    Re (((q 
    *  
    <i> ) 
    * ( 
    Sum ((q 
    *  
    <i> ) 
    P_dt ))) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))) by 
    COMPLEX1: 8
    
      .= ((
    - (q 
    * ( 
    sin  
    . p))) 
    + ( 
    Re ((q 
    *  
    <i> ) 
    * (( 
    Sum ((q 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))))) by 
    COMPLEX1: 12
    
      .= ((
    - (q 
    * ( 
    sin  
    . p))) 
    - (q 
    * ( 
    Im (( 
    Sum ((q 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))))) by 
    Lm12;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:61
    
    
    
    
    
    Th60: for p,q be 
    Real holds (( 
    sin  
    . (p 
    + q)) 
    - ( 
    sin  
    . p)) 
    = ((q 
    * ( 
    cos  
    . p)) 
    + (q 
    * ( 
    Re (( 
    Sum ((q 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))))) 
    
    proof
    
      let p,q be
    Real;
    
      ((
    sin  
    . (p 
    + q)) 
    - ( 
    sin  
    . p)) 
    = (( 
    sin  
    . (p 
    + q)) 
    - ( 
    Im ( 
    Sum ((p 
    *  
    <i> ) 
    ExpSeq )))) by 
    Def16
    
      .= ((
    Im ( 
    Sum (((p 
    + q) 
    *  
    <i> ) 
    ExpSeq ))) 
    - ( 
    Im ( 
    Sum ((p 
    *  
    <i> ) 
    ExpSeq )))) by 
    Def16
    
      .= (
    Im (( 
    Sum (((p 
    *  
    <i> ) 
    + (q 
    *  
    <i> )) 
    ExpSeq )) 
    - ( 
    Sum ((p 
    *  
    <i> ) 
    ExpSeq )))) by 
    COMPLEX1: 19
    
      .= (
    Im ((( 
    Sum ((p 
    *  
    <i> ) 
    ExpSeq )) 
    * (q 
    *  
    <i> )) 
    + (((q 
    *  
    <i> ) 
    * ( 
    Sum ((q 
    *  
    <i> ) 
    P_dt ))) 
    * ( 
    Sum ((p 
    *  
    <i> ) 
    ExpSeq ))))) by 
    Th58
    
      .= (
    Im (((( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )) 
    * (q 
    *  
    <i> )) 
    + (((q 
    *  
    <i> ) 
    * ( 
    Sum ((q 
    *  
    <i> ) 
    P_dt ))) 
    * ( 
    Sum ((p 
    *  
    <i> ) 
    ExpSeq ))))) by 
    Lm3
    
      .= (
    Im (((( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )) 
    * (q 
    *  
    <i> )) 
    + (((q 
    *  
    <i> ) 
    * ( 
    Sum ((q 
    *  
    <i> ) 
    P_dt ))) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))) by 
    Lm3
    
      .= ((
    Im (( 
    - (q 
    * ( 
    sin  
    . p))) 
    + ((q 
    * ( 
    cos  
    . p)) 
    *  
    <i> ))) 
    + ( 
    Im (((q 
    *  
    <i> ) 
    * ( 
    Sum ((q 
    *  
    <i> ) 
    P_dt ))) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))) by 
    COMPLEX1: 8
    
      .= ((q
    * ( 
    cos  
    . p)) 
    + ( 
    Im ((q 
    *  
    <i> ) 
    * (( 
    Sum ((q 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))))) by 
    COMPLEX1: 12
    
      .= ((q
    * ( 
    cos  
    . p)) 
    + (q 
    * ( 
    Re (( 
    Sum ((q 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))))) by 
    Lm12;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:62
    
    
    
    
    
    Th61: for p,q be 
    Real holds (( 
    exp_R  
    . (p 
    + q)) 
    - ( 
    exp_R  
    . p)) 
    = ((q 
    * ( 
    exp_R  
    . p)) 
    + ((q 
    * ( 
    exp_R  
    . p)) 
    * ( 
    Re ( 
    Sum (q 
    P_dt ))))) 
    
    proof
    
      let p,q be
    Real;
    
      ((
    exp_R  
    . (p 
    + q)) 
    - ( 
    exp_R  
    . p)) 
    = (( 
    exp_R  
    . (p 
    + q)) 
    - ( 
    Re ( 
    Sum (p 
    ExpSeq )))) by 
    Th47
    
      .= ((
    Re ( 
    Sum ((p 
    + q) 
    ExpSeq ))) 
    - ( 
    Re ( 
    Sum (p 
    ExpSeq )))) by 
    Th47
    
      .= (
    Re (( 
    Sum ((p 
    + q) 
    ExpSeq )) 
    - ( 
    Sum (p 
    ExpSeq )))) by 
    COMPLEX1: 19
    
      .= (
    Re ((( 
    Sum (p 
    ExpSeq )) 
    * q) 
    + ((q 
    * ( 
    Sum (q 
    P_dt ))) 
    * ( 
    Sum (p 
    ExpSeq ))))) by 
    Th58
    
      .= ((
    Re (( 
    Sum (p 
    ExpSeq )) 
    * q)) 
    + ( 
    Re ((q 
    * ( 
    Sum (q 
    P_dt ))) 
    * ( 
    Sum (p 
    ExpSeq ))))) by 
    COMPLEX1: 8
    
      .= ((q
    * ( 
    Re ( 
    Sum (p 
    ExpSeq )))) 
    + ( 
    Re ((q 
    * ( 
    Sum (q 
    P_dt ))) 
    * ( 
    Sum (p 
    ExpSeq ))))) by 
    Lm12
    
      .= ((q
    * ( 
    exp_R  
    . p)) 
    + ( 
    Re (q 
    * (( 
    Sum (q 
    P_dt )) 
    * ( 
    Sum (p 
    ExpSeq )))))) by 
    Th47
    
      .= ((q
    * ( 
    exp_R  
    . p)) 
    + (q 
    * ( 
    Re (( 
    Sum (q 
    P_dt )) 
    * ( 
    Sum (p 
    ExpSeq )))))) by 
    Lm12
    
      .= ((q
    * ( 
    exp_R  
    . p)) 
    + (q 
    * ( 
    Re (( 
    Sum (q 
    P_dt )) 
    * ( 
    Sum (p 
    rExpSeq )))))) by 
    Lm9
    
      .= ((q
    * ( 
    exp_R  
    . p)) 
    + (q 
    * ( 
    Re (( 
    Sum (q 
    P_dt )) 
    * (( 
    exp_R  
    . p) 
    + ( 
    0  
    *  
    <i> )))))) by 
    Def22
    
      .= ((q
    * ( 
    exp_R  
    . p)) 
    + (q 
    * (( 
    exp_R  
    . p) 
    * ( 
    Re ( 
    Sum (q 
    P_dt )))))) by 
    Lm12
    
      .= ((q
    * ( 
    exp_R  
    . p)) 
    + ((q 
    * ( 
    exp_R  
    . p)) 
    * ( 
    Re ( 
    Sum (q 
    P_dt ))))); 
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    SIN_COS:63
    
    
    
    
    
    Th62: 
    cos  
    is_differentiable_in p & ( 
    diff ( 
    cos ,p)) 
    = ( 
    - ( 
    sin  
    . p)) 
    
    proof
    
      reconsider p as
    Element of 
    REAL by 
    XREAL_0:def 1;
    
      deffunc
    
    U(
    Real) = (
    In (( 
    - ($1 
    * ( 
    Im (( 
    Sum (($1 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))))), 
    REAL )); 
    
      consider Cr be
    Function of 
    REAL , 
    REAL such that 
    
      
    
    A1: for th be 
    Element of 
    REAL holds (Cr 
    . th) 
    =  
    U(th) from
    FUNCT_2:sch 4;
    
      for hy1 holds ((hy1
    " ) 
    (#) (Cr 
    /* hy1)) is 
    convergent & ( 
    lim ((hy1 
    " ) 
    (#) (Cr 
    /* hy1))) 
    =  
    0  
    
      proof
    
        let hy1;
    
        
    
        
    
    A2: for n holds (((hy1 
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    = ( 
    - ( 
    Im (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))) 
    
        proof
    
          let n;
    
          
    
          
    
    A3: n 
    in  
    NAT by 
    ORDINAL1:def 12;
    
          
    
          
    
    A4: (((hy1 
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    = (((hy1 
    " ) 
    . n) 
    * ((Cr 
    /* hy1) 
    . n)) by 
    SEQ_1: 8
    
          .= (((hy1
    . n) 
    " ) 
    * ((Cr 
    /* hy1) 
    . n)) by 
    VALUED_1: 10;
    
          (
    dom Cr) 
    =  
    REAL by 
    FUNCT_2:def 1;
    
          then (
    rng hy1) 
    c= ( 
    dom Cr); 
    
          
    
          then
    
          
    
    A5: (((hy1 
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    = (((hy1 
    . n) 
    " ) 
    * (Cr 
    . (hy1 
    . n))) by 
    A4,
    FUNCT_2: 108,
    A3
    
          .= (((hy1
    . n) 
    " ) 
    *  
    U(.)) by
    A1
    
          .= (
    - ((((hy1 
    . n) 
    " ) 
    * (hy1 
    . n)) 
    * ( 
    Im (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))))); 
    
          (hy1
    . n) 
    <>  
    0 by 
    SEQ_1: 5;
    
          
    
          then (((hy1
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    = ( 
    - (1 
    * ( 
    Im (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))))) by 
    A5,
    XCMPLX_0:def 7
    
          .= (
    - ( 
    Im (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))); 
    
          hence thesis;
    
        end;
    
        deffunc
    
    U(
    Real) = (
    - ( 
    Im (( 
    Sum (((hy1 
    . $1) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))); 
    
        consider rseq such that
    
        
    
    A6: for n holds (rseq 
    . n) 
    =  
    U(n) from
    SEQ_1:sch 1;
    
        deffunc
    
    U(
    Nat) = ((
    Sum (((hy1 
    . $1) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))); 
    
        consider cq1 such that
    
        
    
    A7: for n holds (cq1 
    . n) 
    =  
    U(n) from
    COMSEQ_1:sch 1;
    
        
    
        
    
    A8: for q be 
    Real st q 
    >  
    0 holds ex k st for m st k 
    <= m holds 
    |.((cq1
    . m) 
    -  
    0c ).| 
    < q 
    
        proof
    
          let q be
    Real such that 
    
          
    
    A9: q 
    >  
    0 ; 
    
          ex k st for m st k
    <= m holds 
    |.((cq1
    . m) 
    -  
    0c ).| 
    < q 
    
          proof
    
            consider r such that
    
            
    
    A10: r 
    >  
    0 and 
    
            
    
    A11: for z be 
    Complex st 
    |.z.|
    < r holds 
    |.(
    Sum (z 
    P_dt )).| 
    < q by 
    A9,
    Th57;
    
            hy1 is
    convergent & ( 
    lim hy1) 
    =  
    0 ; 
    
            then
    
            consider k such that
    
            
    
    A12: for m st k 
    <= m holds 
    |.((hy1
    . m) 
    -  
    0 ).| 
    < r by 
    A10,
    SEQ_2:def 7;
    
            
    
    A13: 
    
            now
    
              let m such that
    
              
    
    A14: k 
    <= m; 
    
              
    
              
    
    A15: 
    |.((cq1
    . m) 
    -  
    0c ).| 
    =  
    |.((
    Sum (((hy1 
    . m) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))).| by 
    A7
    
              .= (
    |.(
    Sum (((hy1 
    . m) 
    *  
    <i> ) 
    P_dt )).| 
    *  
    |.((
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )).|) by 
    COMPLEX1: 65
    
              .= (
    |.(
    Sum (((hy1 
    . m) 
    *  
    <i> ) 
    P_dt )).| 
    *  
    |.(
    Sum ((p 
    *  
    <i> ) 
    ExpSeq )).|) by 
    Lm3
    
              .= (
    |.(
    Sum (((hy1 
    . m) 
    *  
    <i> ) 
    P_dt )).| 
    * 1) by 
    Lm5
    
              .=
    |.(
    Sum (((hy1 
    . m) 
    *  
    <i> ) 
    P_dt )).|; 
    
              
    
              
    
    A16: 
    |.((hy1
    . m) 
    -  
    0 ).| 
    < r by 
    A12,
    A14;
    
              ((hy1
    . m) 
    *  
    <i> ) 
    = ( 
    0  
    + ((hy1 
    . m) 
    *  
    <i> )); 
    
              then (
    Re ((hy1 
    . m) 
    *  
    <i> )) 
    =  
    0 & ( 
    Im ((hy1 
    . m) 
    *  
    <i> )) 
    = (hy1 
    . m) by 
    COMPLEX1: 12;
    
              then
    |.((hy1
    . m) 
    *  
    <i> ).| 
    =  
    |.(hy1
    . m).| by 
    COMPLEX1: 72;
    
              hence
    |.((cq1
    . m) 
    -  
    0c ).| 
    < q by 
    A11,
    A15,
    A16;
    
            end;
    
            take k;
    
            thus thesis by
    A13;
    
          end;
    
          hence thesis;
    
        end;
    
        then
    
        
    
    A17: cq1 is 
    convergent by 
    COMSEQ_2:def 5;
    
        then (
    lim cq1) 
    =  
    0c by 
    A8,
    COMSEQ_2:def 6;
    
        then
    
        
    
    A18: ( 
    lim ( 
    - cq1)) 
    = ( 
    -  
    0c ) by 
    A17,
    COMSEQ_2: 22;
    
        
    
        
    
    A19: for n be 
    Element of 
    NAT holds (( 
    Im ( 
    - cq1)) 
    . n) 
    = (rseq 
    . n) 
    
        proof
    
          
    
          
    
    A20: for n holds (( 
    Im ( 
    - cq1)) 
    . n) 
    = ( 
    - ( 
    Im (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))) 
    
          proof
    
            let n;
    
            ((
    Im ( 
    - cq1)) 
    . n) 
    = ( 
    Im (( 
    - cq1) 
    . n)) by 
    COMSEQ_3:def 6
    
            .= (
    Im ( 
    - (cq1 
    . n))) by 
    VALUED_1: 8
    
            .= (
    Im ( 
    - (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))) by 
    A7
    
            .= (
    - ( 
    Im (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))) by 
    COMPLEX1: 17;
    
            hence thesis;
    
          end;
    
          let n;
    
          (rseq
    . n) 
    = ( 
    - ( 
    Im (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))) by 
    A6;
    
          hence thesis by
    A20;
    
        end;
    
        for n be
    Element of 
    NAT holds (rseq 
    . n) 
    = (((hy1 
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    
        proof
    
          let n be
    Element of 
    NAT ; 
    
          (rseq
    . n) 
    = ( 
    - ( 
    Im (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))) by 
    A6;
    
          hence thesis by
    A2;
    
        end;
    
        then rseq
    = ((hy1 
    " ) 
    (#) (Cr 
    /* hy1)); 
    
        then ((hy1
    " ) 
    (#) (Cr 
    /* hy1)) 
    = ( 
    Im ( 
    - cq1)) by 
    A19;
    
        hence thesis by
    A17,
    A18,
    COMPLEX1: 4,
    COMSEQ_3: 41;
    
      end;
    
      then
    
      reconsider PR = Cr as
    RestFunc by 
    FDIFF_1:def 2;
    
      deffunc
    
    U1(
    Real) = (
    In (( 
    - ($1 
    * ( 
    sin  
    . p))), 
    REAL )); 
    
      consider CL be
    Function of 
    REAL , 
    REAL such that 
    
      
    
    A21: for th be 
    Element of 
    REAL holds (CL 
    . th) 
    =  
    U1(th) from
    FUNCT_2:sch 4;
    
      ex r st for q holds (CL
    . q) 
    = (r 
    * q) 
    
      proof
    
        
    
        
    
    A22: for q holds (CL 
    . q) 
    = (( 
    - ( 
    sin  
    . p)) 
    * q) 
    
        proof
    
          let q;
    
          reconsider qq = q as
    Element of 
    REAL by 
    XREAL_0:def 1;
    
          (CL
    . qq) 
    =  
    U1(q) by
    A21
    
          .= ((
    - ( 
    sin  
    . p)) 
    * q); 
    
          hence thesis;
    
        end;
    
        take (
    - ( 
    sin  
    . p)); 
    
        thus thesis by
    A22;
    
      end;
    
      then
    
      reconsider PL = CL as
    LinearFunc by 
    FDIFF_1:def 3;
    
      
    
      
    
    A23: ex N be 
    Neighbourhood of p st N 
    c= ( 
    dom  
    cos ) & for r st r 
    in N holds (( 
    cos  
    . r) 
    - ( 
    cos  
    . p)) 
    = ((PL 
    . (r 
    - p)) 
    + (PR 
    . (r 
    - p))) 
    
      proof
    
        
    
        
    
    A24: for r st r 
    in  
    ].(p
    - 1), (p 
    + 1).[ holds (( 
    cos  
    . r) 
    - ( 
    cos  
    . p)) 
    = ((PL 
    . (r 
    - p)) 
    + (PR 
    . (r 
    - p))) 
    
        proof
    
          let r;
    
          
    
          
    
    A25: (r 
    - p) 
    in  
    REAL by 
    XREAL_0:def 1;
    
          r
    = (p 
    + (r 
    - p)); 
    
          
    
          then ((
    cos  
    . r) 
    - ( 
    cos  
    . p)) 
    = (( 
    - ((r 
    - p) 
    * ( 
    sin  
    . p))) 
    - ((r 
    - p) 
    * ( 
    Im (( 
    Sum (((r 
    - p) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))))) by 
    Th59
    
          .= ((
    - ((r 
    - p) 
    * ( 
    sin  
    . p))) 
    +  
    U(-))
    
          .= ((
    - ((r 
    - p) 
    * ( 
    sin  
    . p))) 
    + (Cr 
    . (r 
    - p))) by 
    A1,
    A25
    
          .= (
    U1(-)
    + (Cr 
    . (r 
    - p))) 
    
          .= ((PL
    . (r 
    - p)) 
    + (PR 
    . (r 
    - p))) by 
    A21,
    A25;
    
          hence thesis;
    
        end;
    
        take
    ].(p
    - 1), (p 
    + 1).[; 
    
        thus thesis by
    A24,
    Th24,
    RCOMP_1:def 6;
    
      end;
    
      then
    
      
    
    A26: 
    cos  
    is_differentiable_in p by 
    FDIFF_1:def 4;
    
      (PL
    . jj) 
    =  
    U1() by
    A21
    
      .= (
    - ( 
    sin  
    . p)); 
    
      hence thesis by
    A23,
    A26,
    FDIFF_1:def 5;
    
    end;
    
    theorem :: 
    
    SIN_COS:64
    
    
    
    
    
    Th63: 
    sin  
    is_differentiable_in p & ( 
    diff ( 
    sin ,p)) 
    = ( 
    cos  
    . p) 
    
    proof
    
      reconsider p as
    Real;
    
      deffunc
    
    U(
    Real) = (
    In (($1 
    * ( 
    Re (( 
    Sum (($1 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))), 
    REAL )); 
    
      consider Cr be
    Function of 
    REAL , 
    REAL such that 
    
      
    
    A1: for th be 
    Element of 
    REAL holds (Cr 
    . th) 
    =  
    U(th) from
    FUNCT_2:sch 4;
    
      for hy1 holds ((hy1
    " ) 
    (#) (Cr 
    /* hy1)) is 
    convergent & ( 
    lim ((hy1 
    " ) 
    (#) (Cr 
    /* hy1))) 
    =  
    0  
    
      proof
    
        let hy1;
    
        
    
        
    
    A2: for n holds (((hy1 
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    = ( 
    Re (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))) 
    
        proof
    
          let n;
    
          
    
          
    
    A3: n 
    in  
    NAT by 
    ORDINAL1:def 12;
    
          
    
          
    
    A4: (((hy1 
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    = (((hy1 
    " ) 
    . n) 
    * ((Cr 
    /* hy1) 
    . n)) by 
    SEQ_1: 8
    
          .= (((hy1
    . n) 
    " ) 
    * ((Cr 
    /* hy1) 
    . n)) by 
    VALUED_1: 10;
    
          (
    dom Cr) 
    =  
    REAL by 
    FUNCT_2:def 1;
    
          then (
    rng hy1) 
    c= ( 
    dom Cr); 
    
          
    
          then
    
          
    
    A5: (((hy1 
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    = (((hy1 
    . n) 
    " ) 
    * (Cr 
    . (hy1 
    . n))) by 
    A4,
    FUNCT_2: 108,
    A3
    
          .= (((hy1
    . n) 
    " ) 
    *  
    U(.)) by
    A1
    
          .= ((((hy1
    . n) 
    " ) 
    * (hy1 
    . n)) 
    * ( 
    Re (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))); 
    
          (hy1
    . n) 
    <>  
    0 by 
    SEQ_1: 5;
    
          
    
          then (((hy1
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    = (1 
    * ( 
    Re (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))))) by 
    A5,
    XCMPLX_0:def 7
    
          .= (
    Re (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))); 
    
          hence thesis;
    
        end;
    
        deffunc
    
    U(
    Real) = (
    Re (( 
    Sum (((hy1 
    . $1) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))); 
    
        consider rseq such that
    
        
    
    A6: for n holds (rseq 
    . n) 
    =  
    U(n) from
    SEQ_1:sch 1;
    
        deffunc
    
    U(
    Nat) = ((
    Sum (((hy1 
    . $1) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))); 
    
        consider cq1 such that
    
        
    
    A7: for n holds (cq1 
    . n) 
    =  
    U(n) from
    COMSEQ_1:sch 1;
    
        
    
        
    
    A8: for q be 
    Real st q 
    >  
    0 holds ex k st for m st k 
    <= m holds 
    |.((cq1
    . m) 
    -  
    0c ).| 
    < q 
    
        proof
    
          let q be
    Real such that 
    
          
    
    A9: q 
    >  
    0 ; 
    
          ex k st for m st k
    <= m holds 
    |.((cq1
    . m) 
    -  
    0c ).| 
    < q 
    
          proof
    
            consider r such that
    
            
    
    A10: r 
    >  
    0 and 
    
            
    
    A11: for z be 
    Complex st 
    |.z.|
    < r holds 
    |.(
    Sum (z 
    P_dt )).| 
    < q by 
    A9,
    Th57;
    
            hy1 is
    convergent & ( 
    lim hy1) 
    =  
    0 ; 
    
            then
    
            consider k such that
    
            
    
    A12: for m st k 
    <= m holds 
    |.((hy1
    . m) 
    -  
    0 ).| 
    < r by 
    A10,
    SEQ_2:def 7;
    
            
    
    A13: 
    
            now
    
              let m such that
    
              
    
    A14: k 
    <= m; 
    
              
    
              
    
    A15: 
    |.((cq1
    . m) 
    -  
    0c ).| 
    =  
    |.((
    Sum (((hy1 
    . m) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> ))).| by 
    A7
    
              .= (
    |.(
    Sum (((hy1 
    . m) 
    *  
    <i> ) 
    P_dt )).| 
    *  
    |.((
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )).|) by 
    COMPLEX1: 65
    
              .= (
    |.(
    Sum (((hy1 
    . m) 
    *  
    <i> ) 
    P_dt )).| 
    *  
    |.(
    Sum ((p 
    *  
    <i> ) 
    ExpSeq )).|) by 
    Lm3
    
              .= (
    |.(
    Sum (((hy1 
    . m) 
    *  
    <i> ) 
    P_dt )).| 
    * 1) by 
    Lm5
    
              .=
    |.(
    Sum (((hy1 
    . m) 
    *  
    <i> ) 
    P_dt )).|; 
    
              
    
              
    
    A16: 
    |.((hy1
    . m) 
    -  
    0 ).| 
    < r by 
    A12,
    A14;
    
              ((hy1
    . m) 
    *  
    <i> ) 
    = ( 
    0  
    + ((hy1 
    . m) 
    *  
    <i> )); 
    
              then (
    Re ((hy1 
    . m) 
    *  
    <i> )) 
    =  
    0 & ( 
    Im ((hy1 
    . m) 
    *  
    <i> )) 
    = (hy1 
    . m) by 
    COMPLEX1: 12;
    
              then
    |.((hy1
    . m) 
    *  
    <i> ).| 
    =  
    |.(hy1
    . m).| by 
    COMPLEX1: 72;
    
              hence
    |.((cq1
    . m) 
    -  
    0c ).| 
    < q by 
    A11,
    A15,
    A16;
    
            end;
    
            take k;
    
            thus thesis by
    A13;
    
          end;
    
          hence thesis;
    
        end;
    
        then
    
        
    
    A17: cq1 is 
    convergent by 
    COMSEQ_2:def 5;
    
        then
    
        
    
    A18: ( 
    lim cq1) 
    =  
    0c by 
    A8,
    COMSEQ_2:def 6;
    
        
    
        
    
    A19: for n be 
    Element of 
    NAT holds (( 
    Re cq1) 
    . n) 
    = (rseq 
    . n) 
    
        proof
    
          let n be
    Element of 
    NAT ; 
    
          ((
    Re cq1) 
    . n) 
    = ( 
    Re (cq1 
    . n)) by 
    COMSEQ_3:def 5
    
          .= (
    Re (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))) by 
    A7;
    
          hence thesis by
    A6;
    
        end;
    
        for n be
    Element of 
    NAT holds (rseq 
    . n) 
    = (((hy1 
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    
        proof
    
          let n be
    Element of 
    NAT ; 
    
          (rseq
    . n) 
    = ( 
    Re (( 
    Sum (((hy1 
    . n) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))) by 
    A6;
    
          hence thesis by
    A2;
    
        end;
    
        then rseq
    = ((hy1 
    " ) 
    (#) (Cr 
    /* hy1)); 
    
        then ((hy1
    " ) 
    (#) (Cr 
    /* hy1)) 
    = ( 
    Re cq1) by 
    A19;
    
        hence thesis by
    A17,
    A18,
    COMPLEX1: 4,
    COMSEQ_3: 41;
    
      end;
    
      then
    
      reconsider PR = Cr as
    RestFunc by 
    FDIFF_1:def 2;
    
      deffunc
    
    U1(
    Real) = (
    In (($1 
    * ( 
    cos  
    . p)), 
    REAL )); 
    
      consider CL be
    Function of 
    REAL , 
    REAL such that 
    
      
    
    A20: for th be 
    Element of 
    REAL holds (CL 
    . th) 
    =  
    U1(th) from
    FUNCT_2:sch 4;
    
      
    
      
    
    A21: for d be 
    Real holds (CL 
    . d) 
    = (d 
    * ( 
    cos  
    . p)) 
    
      proof
    
        let d be
    Real;
    
        d
    in  
    REAL by 
    XREAL_0:def 1;
    
        then (CL
    . d) 
    =  
    U1(d) by
    A20;
    
        hence thesis;
    
      end;
    
      ex r st for q holds (CL
    . q) 
    = (r 
    * q) 
    
      proof
    
        take (
    cos  
    . p); 
    
        thus thesis by
    A21;
    
      end;
    
      then
    
      reconsider PL = CL as
    LinearFunc by 
    FDIFF_1:def 3;
    
      
    
      
    
    A22: ex N be 
    Neighbourhood of p st N 
    c= ( 
    dom  
    sin ) & for r st r 
    in N holds (( 
    sin  
    . r) 
    - ( 
    sin  
    . p)) 
    = ((PL 
    . (r 
    - p)) 
    + (PR 
    . (r 
    - p))) 
    
      proof
    
        
    
        
    
    A23: for r st r 
    in  
    ].(p
    - 1), (p 
    + 1).[ holds (( 
    sin  
    . r) 
    - ( 
    sin  
    . p)) 
    = ((PL 
    . (r 
    - p)) 
    + (PR 
    . (r 
    - p))) 
    
        proof
    
          let r;
    
          
    
          
    
    A24: (r 
    - p) 
    in  
    REAL by 
    XREAL_0:def 1;
    
          r
    = (p 
    + (r 
    - p)); 
    
          
    
          then ((
    sin  
    . r) 
    - ( 
    sin  
    . p)) 
    = (((r 
    - p) 
    * ( 
    cos  
    . p)) 
    + ((r 
    - p) 
    * ( 
    Re (( 
    Sum (((r 
    - p) 
    *  
    <i> ) 
    P_dt )) 
    * (( 
    cos  
    . p) 
    + (( 
    sin  
    . p) 
    *  
    <i> )))))) by 
    Th60
    
          .= (((r
    - p) 
    * ( 
    cos  
    . p)) 
    +  
    U(-))
    
          .= (((r
    - p) 
    * ( 
    cos  
    . p)) 
    + (Cr 
    . (r 
    - p))) by 
    A1,
    A24
    
          .= ((PL
    . (r 
    - p)) 
    + (PR 
    . (r 
    - p))) by 
    A21;
    
          hence thesis;
    
        end;
    
        take
    ].(p
    - 1), (p 
    + 1).[; 
    
        thus thesis by
    A23,
    Th24,
    RCOMP_1:def 6;
    
      end;
    
      then
    
      
    
    A25: 
    sin  
    is_differentiable_in p by 
    FDIFF_1:def 4;
    
      (PL
    . 1) 
    = (1 
    * ( 
    cos  
    . p)) by 
    A21;
    
      hence thesis by
    A22,
    A25,
    FDIFF_1:def 5;
    
    end;
    
    theorem :: 
    
    SIN_COS:65
    
    
    
    
    
    Th64: 
    exp_R  
    is_differentiable_in p & ( 
    diff ( 
    exp_R ,p)) 
    = ( 
    exp_R  
    . p) 
    
    proof
    
      deffunc
    
    U(
    Real) = (
    In ((($1 
    * ( 
    exp_R  
    . p)) 
    * ( 
    Re ( 
    Sum ($1 
    P_dt )))), 
    REAL )); 
    
      consider Cr be
    Function of 
    REAL , 
    REAL such that 
    
      
    
    A1: for th be 
    Element of 
    REAL holds (Cr 
    . th) 
    =  
    U(th) from
    FUNCT_2:sch 4;
    
      for hy1 holds ((hy1
    " ) 
    (#) (Cr 
    /* hy1)) is 
    convergent & ( 
    lim ((hy1 
    " ) 
    (#) (Cr 
    /* hy1))) 
    =  
    0  
    
      proof
    
        let hy1;
    
        
    
        
    
    A2: for n holds (((hy1 
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    = (( 
    exp_R  
    . p) 
    * ( 
    Re ( 
    Sum ((hy1 
    . n) 
    P_dt )))) 
    
        proof
    
          let n;
    
          
    
          
    
    A3: n 
    in  
    NAT by 
    ORDINAL1:def 12;
    
          
    
          
    
    A4: (((hy1 
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    = (((hy1 
    " ) 
    . n) 
    * ((Cr 
    /* hy1) 
    . n)) by 
    SEQ_1: 8
    
          .= (((hy1
    . n) 
    " ) 
    * ((Cr 
    /* hy1) 
    . n)) by 
    VALUED_1: 10;
    
          (
    dom Cr) 
    =  
    REAL by 
    FUNCT_2:def 1;
    
          then (
    rng hy1) 
    c= ( 
    dom Cr); 
    
          
    
          then
    
          
    
    A5: (((hy1 
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    = (((hy1 
    . n) 
    " ) 
    * (Cr 
    . (hy1 
    . n))) by 
    A4,
    FUNCT_2: 108,
    A3
    
          .= (((hy1
    . n) 
    " ) 
    *  
    U(.)) by
    A1
    
          .= ((((hy1
    . n) 
    " ) 
    * (hy1 
    . n)) 
    * (( 
    exp_R  
    . p) 
    * ( 
    Re ( 
    Sum ((hy1 
    . n) 
    P_dt ))))); 
    
          (hy1
    . n) 
    <>  
    0 by 
    SEQ_1: 5;
    
          
    
          then (((hy1
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    = (1 
    * (( 
    exp_R  
    . p) 
    * ( 
    Re ( 
    Sum ((hy1 
    . n) 
    P_dt ))))) by 
    A5,
    XCMPLX_0:def 7
    
          .= ((
    exp_R  
    . p) 
    * ( 
    Re ( 
    Sum ((hy1 
    . n) 
    P_dt )))); 
    
          hence thesis;
    
        end;
    
        deffunc
    
    U(
    Real) = ((
    exp_R  
    . p) 
    * ( 
    Re ( 
    Sum ((hy1 
    . $1) 
    P_dt )))); 
    
        consider rseq such that
    
        
    
    A6: for n holds (rseq 
    . n) 
    =  
    U(n) from
    SEQ_1:sch 1;
    
        deffunc
    
    U(
    Nat) = ((
    Sum ((hy1 
    . $1) 
    P_dt )) 
    * ( 
    exp_R  
    . p)); 
    
        consider cq1 such that
    
        
    
    A7: for n holds (cq1 
    . n) 
    =  
    U(n) from
    COMSEQ_1:sch 1;
    
        
    
        
    
    A8: for q be 
    Real st q 
    >  
    0 holds ex k st for m st k 
    <= m holds 
    |.((cq1
    . m) 
    -  
    0c ).| 
    < q 
    
        proof
    
          let q be
    Real such that 
    
          
    
    A9: q 
    >  
    0 ; 
    
          ex k st for m st k
    <= m holds 
    |.((cq1
    . m) 
    -  
    0c ).| 
    < q 
    
          proof
    
            (
    exp_R  
    . p) 
    >  
    0 by 
    Th53;
    
            then
    
            consider r such that
    
            
    
    A10: r 
    >  
    0 and 
    
            
    
    A11: for z be 
    Complex st 
    |.z.|
    < r holds 
    |.(
    Sum (z 
    P_dt )).| 
    < (q 
    / ( 
    exp_R  
    . p)) by 
    A9,
    Th57;
    
            hy1 is
    convergent & ( 
    lim hy1) 
    =  
    0 ; 
    
            then
    
            consider k such that
    
            
    
    A12: for m st k 
    <= m holds 
    |.((hy1
    . m) 
    -  
    0 ).| 
    < r by 
    A10,
    SEQ_2:def 7;
    
            
    
    A13: 
    
            now
    
              let m such that
    
              
    
    A14: k 
    <= m; 
    
              
    
              
    
    A15: 
    |.((cq1
    . m) 
    -  
    0c ).| 
    =  
    |.((
    Sum ((hy1 
    . m) 
    P_dt )) 
    * ( 
    exp_R  
    . p)).| by 
    A7
    
              .= (
    |.(
    Sum ((hy1 
    . m) 
    P_dt )).| 
    *  
    |.(
    exp_R  
    . p).|) by 
    COMPLEX1: 65
    
              .= (
    |.(
    Sum ((hy1 
    . m) 
    P_dt )).| 
    * ( 
    sqrt ((( 
    Re ( 
    exp_R  
    . p)) 
    ^2 ) 
    + (( 
    Im ( 
    exp_R  
    . p)) 
    ^2 )))); 
    
              (
    exp_R  
    . p) 
    = (( 
    exp_R  
    . p) 
    + ( 
    0  
    *  
    <i> )); 
    
              then
    
              
    
    A16: ( 
    Re ( 
    exp_R  
    . p)) 
    = ( 
    exp_R  
    . p) & ( 
    Im ( 
    exp_R  
    . p)) 
    =  
    0 by 
    COMPLEX1: 12;
    
              
    
              
    
    A17: ( 
    exp_R  
    . p) 
    >  
    0 by 
    Th53;
    
              then
    
              
    
    A18: 
    |.((cq1
    . m) 
    -  
    0c ).| 
    = ( 
    |.(
    Sum ((hy1 
    . m) 
    P_dt )).| 
    * ( 
    exp_R  
    . p)) by 
    A15,
    A16,
    SQUARE_1: 22;
    
              
    |.((hy1
    . m) 
    -  
    0 ).| 
    < r by 
    A12,
    A14;
    
              then
    |.((cq1
    . m) 
    -  
    0c ).| 
    < ((q 
    / ( 
    exp_R  
    . p)) 
    * ( 
    exp_R  
    . p)) by 
    A11,
    A17,
    A18,
    XREAL_1: 68;
    
              hence
    |.((cq1
    . m) 
    -  
    0c ).| 
    < q by 
    A17,
    XCMPLX_1: 87;
    
            end;
    
            take k;
    
            thus thesis by
    A13;
    
          end;
    
          hence thesis;
    
        end;
    
        then
    
        
    
    A19: cq1 is 
    convergent by 
    COMSEQ_2:def 5;
    
        then
    
        
    
    A20: ( 
    lim cq1) 
    =  
    0c by 
    A8,
    COMSEQ_2:def 6;
    
        
    
        
    
    A21: for n be 
    Element of 
    NAT holds (( 
    Re cq1) 
    . n) 
    = (rseq 
    . n) 
    
        proof
    
          
    
          
    
    A22: for n holds (( 
    Re cq1) 
    . n) 
    = (( 
    exp_R  
    . p) 
    * ( 
    Re ( 
    Sum ((hy1 
    . n) 
    P_dt )))) 
    
          proof
    
            let n;
    
            ((
    Re cq1) 
    . n) 
    = ( 
    Re (cq1 
    . n)) by 
    COMSEQ_3:def 5
    
            .= (
    Re (( 
    Sum ((hy1 
    . n) 
    P_dt )) 
    * ( 
    exp_R  
    . p))) by 
    A7
    
            .= ((
    exp_R  
    . p) 
    * ( 
    Re ( 
    Sum ((hy1 
    . n) 
    P_dt )))) by 
    Lm12;
    
            hence thesis;
    
          end;
    
          let n;
    
          (rseq
    . n) 
    = (( 
    exp_R  
    . p) 
    * ( 
    Re ( 
    Sum ((hy1 
    . n) 
    P_dt )))) by 
    A6;
    
          hence thesis by
    A22;
    
        end;
    
        for n be
    Element of 
    NAT holds (rseq 
    . n) 
    = (((hy1 
    " ) 
    (#) (Cr 
    /* hy1)) 
    . n) 
    
        proof
    
          let n be
    Element of 
    NAT ; 
    
          (rseq
    . n) 
    = (( 
    exp_R  
    . p) 
    * ( 
    Re ( 
    Sum ((hy1 
    . n) 
    P_dt )))) by 
    A6;
    
          hence thesis by
    A2;
    
        end;
    
        then rseq
    = ((hy1 
    " ) 
    (#) (Cr 
    /* hy1)); 
    
        then ((hy1
    " ) 
    (#) (Cr 
    /* hy1)) 
    = ( 
    Re cq1) by 
    A21;
    
        hence thesis by
    A19,
    A20,
    COMPLEX1: 4,
    COMSEQ_3: 41;
    
      end;
    
      then
    
      reconsider PR = Cr as
    RestFunc by 
    FDIFF_1:def 2;
    
      deffunc
    
    U1(
    Real) = (
    In (($1 
    * ( 
    exp_R  
    . p)), 
    REAL )); 
    
      consider CL be
    Function of 
    REAL , 
    REAL such that 
    
      
    
    A23: for th be 
    Element of 
    REAL holds (CL 
    . th) 
    =  
    U1(th) from
    FUNCT_2:sch 4;
    
      
    
      
    
    A24: for d be 
    Real holds (CL 
    . d) 
    = (d 
    * ( 
    exp_R  
    . p)) 
    
      proof
    
        let d be
    Real;
    
        d
    in  
    REAL by 
    XREAL_0:def 1;
    
        then (CL
    . d) 
    =  
    U1(d) by
    A23;
    
        hence thesis;
    
      end;
    
      ex r st for q holds (CL
    . q) 
    = (r 
    * q) 
    
      proof
    
        take (
    exp_R  
    . p); 
    
        thus thesis by
    A24;
    
      end;
    
      then
    
      reconsider PL = CL as
    LinearFunc by 
    FDIFF_1:def 3;
    
      
    
      
    
    A25: ex N be 
    Neighbourhood of p st N 
    c= ( 
    dom  
    exp_R ) & for r st r 
    in N holds (( 
    exp_R  
    . r) 
    - ( 
    exp_R  
    . p)) 
    = ((PL 
    . (r 
    - p)) 
    + (PR 
    . (r 
    - p))) 
    
      proof
    
        
    
        
    
    A26: for r st r 
    in  
    ].(p
    - 1), (p 
    + 1).[ holds (( 
    exp_R  
    . r) 
    - ( 
    exp_R  
    . p)) 
    = ((PL 
    . (r 
    - p)) 
    + (PR 
    . (r 
    - p))) 
    
        proof
    
          let r;
    
          reconsider p as
    Real;
    
          
    
          
    
    A27: (r 
    - p) 
    in  
    REAL by 
    XREAL_0:def 1;
    
          r
    = (p 
    + (r 
    - p)); 
    
          
    
          then ((
    exp_R  
    . r) 
    - ( 
    exp_R  
    . p)) 
    = (((r 
    - p) 
    * ( 
    exp_R  
    . p)) 
    + (((r 
    - p) 
    * ( 
    exp_R  
    . p)) 
    * ( 
    Re ( 
    Sum ((r 
    - p) 
    P_dt ))))) by 
    Th61
    
          .= (((r
    - p) 
    * ( 
    exp_R  
    . p)) 
    +  
    U(-))
    
          .= (((r
    - p) 
    * ( 
    exp_R  
    . p)) 
    + (Cr 
    . (r 
    - p))) by 
    A1,
    A27
    
          .= ((PL
    . (r 
    - p)) 
    + (PR 
    . (r 
    - p))) by 
    A24;
    
          hence thesis;
    
        end;
    
        take
    ].(p
    - 1), (p 
    + 1).[; 
    
        thus thesis by
    A26,
    Th46,
    RCOMP_1:def 6;
    
      end;
    
      then
    
      
    
    A28: 
    exp_R  
    is_differentiable_in p by 
    FDIFF_1:def 4;
    
      (PL
    . 1) 
    = (1 
    * ( 
    exp_R  
    . p)) by 
    A24;
    
      hence thesis by
    A25,
    A28,
    FDIFF_1:def 5;
    
    end;
    
    theorem :: 
    
    SIN_COS:66
    
    
    
    
    
    Th65: 
    exp_R  
    is_differentiable_on  
    REAL & ( 
    diff ( 
    exp_R ,th)) 
    = ( 
    exp_R  
    . th) 
    
    proof
    
      
    
      
    
    A1: ( 
    [#]  
    REAL ) is 
    open  
    Subset of 
    REAL & 
    REAL  
    c= ( 
    dom  
    exp_R ) by 
    FUNCT_2:def 1;
    
      for r st r
    in  
    REAL holds 
    exp_R  
    is_differentiable_in r by 
    Th64;
    
      hence thesis by
    A1,
    Th64,
    FDIFF_1: 9;
    
    end;
    
    theorem :: 
    
    SIN_COS:67
    
    
    
    
    
    Th66: 
    cos  
    is_differentiable_on  
    REAL & ( 
    diff ( 
    cos ,th)) 
    = ( 
    - ( 
    sin  
    . th)) 
    
    proof
    
      
    
      
    
    A1: ( 
    [#]  
    REAL ) is 
    open  
    Subset of 
    REAL & 
    REAL  
    c= ( 
    dom  
    cos ) by 
    FUNCT_2:def 1;
    
      for r st r
    in  
    REAL holds 
    cos  
    is_differentiable_in r by 
    Th62;
    
      hence thesis by
    A1,
    Th62,
    FDIFF_1: 9;
    
    end;
    
    theorem :: 
    
    SIN_COS:68
    
    
    
    
    
    Th67: 
    sin  
    is_differentiable_on  
    REAL & ( 
    diff ( 
    sin ,th)) 
    = ( 
    cos  
    . th) 
    
    proof
    
      
    
      
    
    A1: ( 
    [#]  
    REAL ) is 
    open  
    Subset of 
    REAL & 
    REAL  
    c= ( 
    dom  
    sin ) by 
    FUNCT_2:def 1;
    
      for r st r
    in  
    REAL holds 
    sin  
    is_differentiable_in r by 
    Th63;
    
      hence thesis by
    A1,
    Th63,
    FDIFF_1: 9;
    
    end;
    
    theorem :: 
    
    SIN_COS:69
    
    
    
    
    
    Th68: th 
    in  
    [.
    0 , 1.] implies 
    0  
    < ( 
    cos  
    . th) & ( 
    cos  
    . th) 
    >= (1 
    / 2) 
    
    proof
    
      assume th
    in  
    [.
    0 , 1.]; 
    
      then
    
      
    
    A1: 
    0  
    <= th & th 
    <= 1 by 
    XXREAL_1: 1;
    
      
    
      
    
    A2: ( 
    Partial_Sums (th 
    P_cos )) is 
    convergent by 
    Th35;
    
      
    
      
    
    A3: ( 
    cos  
    . th) 
    = ( 
    Sum (th 
    P_cos )) by 
    Th36;
    
      (
    lim (( 
    Partial_Sums (th 
    P_cos )) 
    * bq)) 
    = ( 
    lim ( 
    Partial_Sums (th 
    P_cos ))) by 
    A2,
    SEQ_4: 17;
    
      then
    
      
    
    A4: ( 
    lim (( 
    Partial_Sums (th 
    P_cos )) 
    * bq)) 
    = ( 
    cos  
    . th) by 
    A3,
    SERIES_1:def 3;
    
      for n holds (((
    Partial_Sums (th 
    P_cos )) 
    * bq) 
    . n) 
    >= (1 
    / 2) 
    
      proof
    
        let n;
    
        
    
        
    
    A5: ((( 
    Partial_Sums (th 
    P_cos )) 
    * bq) 
    .  
    0 ) 
    = (( 
    Partial_Sums (th 
    P_cos )) 
    . (bq 
    .  
    0 )) by 
    FUNCT_2: 15
    
        .= ((
    Partial_Sums (th 
    P_cos )) 
    . ((2 
    *  
    0 ) 
    + 1)) by 
    Lm6
    
        .= (((
    Partial_Sums (th 
    P_cos )) 
    .  
    0 ) 
    + ((th 
    P_cos ) 
    . ( 
    0  
    + 1))) by 
    SERIES_1:def 1
    
        .= (((th
    P_cos ) 
    .  
    0 ) 
    + ((th 
    P_cos ) 
    . ( 
    0  
    + 1))) by 
    SERIES_1:def 1
    
        .= (((((
    - 1) 
    |^  
    0 ) 
    * (th 
    |^ (2 
    *  
    0 ))) 
    / ((2 
    *  
    0 ) 
    ! )) 
    + ((th 
    P_cos ) 
    . 1)) by 
    Def21
    
        .= (((((
    - 1) 
    |^  
    0 ) 
    * (th 
    |^ (2 
    *  
    0 ))) 
    / ((2 
    *  
    0 ) 
    ! )) 
    + (((( 
    - 1) 
    |^ 1) 
    * (th 
    |^ (2 
    * 1))) 
    / ((2 
    * 1) 
    ! ))) by 
    Def21
    
        .= (((1
    * (th 
    |^ (2 
    *  
    0 ))) 
    / ((2 
    *  
    0 ) 
    ! )) 
    + (((( 
    - 1) 
    |^ 1) 
    * (th 
    |^ (2 
    * 1))) 
    / ((2 
    * 1) 
    ! ))) by 
    Lm7
    
        .= ((1
    / 1) 
    + (((( 
    - 1) 
    |^ 1) 
    * (th 
    |^ (2 
    * 1))) 
    / ((2 
    * 1) 
    ! ))) by 
    NEWTON: 4,
    NEWTON: 12
    
        .= (1
    + ((( 
    - 1) 
    * (th 
    |^ (2 
    * 1))) 
    / ((2 
    * 1) 
    ! ))) 
    
        .= (1
    + ((( 
    - 1) 
    * (th 
    * th)) 
    / ((2 
    * 1) 
    ! ))) by 
    NEWTON: 81
    
        .= (1
    - ((th 
    ^2 ) 
    / 2)) by 
    NEWTON: 14;
    
        defpred
    
    X[
    Nat] means (((
    Partial_Sums (th 
    P_cos )) 
    * bq) 
    . $1) 
    >= (1 
    / 2); 
    
        (th
    ^2 ) 
    <= (1 
    ^2 ) by 
    A1,
    SQUARE_1: 15;
    
        then (1
    - (1 
    / 2)) 
    = (1 
    / 2) & ((th 
    ^2 ) 
    / 2) 
    <= (1 
    / 2) by 
    XREAL_1: 72;
    
        then
    
        
    
    A6: 
    X[
    0 ] by 
    A5,
    XREAL_1: 10;
    
        
    
        
    
    A7: for k st 
    X[k] holds
    X[(k
    + 1)] 
    
        proof
    
          let k;
    
          
    
          
    
    A8: k 
    in  
    NAT by 
    ORDINAL1:def 12;
    
          assume
    
          
    
    A9: ((( 
    Partial_Sums (th 
    P_cos )) 
    * bq) 
    . k) 
    >= (1 
    / 2); 
    
          (((
    Partial_Sums (th 
    P_cos )) 
    * bq) 
    . (k 
    + 1)) 
    = (( 
    Partial_Sums (th 
    P_cos )) 
    . (bq 
    . (k 
    + 1))) by 
    FUNCT_2: 15
    
          .= ((
    Partial_Sums (th 
    P_cos )) 
    . ((2 
    * (k 
    + 1)) 
    + 1)) by 
    Lm6
    
          .= (((
    Partial_Sums (th 
    P_cos )) 
    . (((2 
    * k) 
    + 1) 
    + 1)) 
    + ((th 
    P_cos ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    SERIES_1:def 1
    
          .= ((((
    Partial_Sums (th 
    P_cos )) 
    . ((2 
    * k) 
    + 1)) 
    + ((th 
    P_cos ) 
    . (((2 
    * k) 
    + 1) 
    + 1))) 
    + ((th 
    P_cos ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    SERIES_1:def 1
    
          .= ((((
    Partial_Sums (th 
    P_cos )) 
    . (bq 
    . k)) 
    + ((th 
    P_cos ) 
    . (((2 
    * k) 
    + 1) 
    + 1))) 
    + ((th 
    P_cos ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    Lm6
    
          .= (((((
    Partial_Sums (th 
    P_cos )) 
    * bq) 
    . k) 
    + ((th 
    P_cos ) 
    . (((2 
    * k) 
    + 1) 
    + 1))) 
    + ((th 
    P_cos ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))) by 
    FUNCT_2: 15,
    A8;
    
          then
    
          
    
    A10: (((( 
    Partial_Sums (th 
    P_cos )) 
    * bq) 
    . (k 
    + 1)) 
    - ((( 
    Partial_Sums (th 
    P_cos )) 
    * bq) 
    . k)) 
    = (((th 
    P_cos ) 
    . (((2 
    * k) 
    + 1) 
    + 1)) 
    + ((th 
    P_cos ) 
    . ((2 
    * (k 
    + 1)) 
    + 1))); 
    
          
    
          
    
    A11: ((th 
    P_cos ) 
    . (((2 
    * k) 
    + 1) 
    + 1)) 
    = (((( 
    - 1) 
    |^ (2 
    * (k 
    + 1))) 
    * (th 
    |^ (2 
    * (2 
    * (k 
    + 1))))) 
    / ((2 
    * (2 
    * (k 
    + 1))) 
    ! )) by 
    Def21
    
          .= ((1
    * (th 
    |^ (2 
    * (2 
    * (k 
    + 1))))) 
    / ((2 
    * (2 
    * (k 
    + 1))) 
    ! )) by 
    Lm7
    
          .= ((th
    |^ (2 
    * (2 
    * (k 
    + 1)))) 
    / ((2 
    * (2 
    * (k 
    + 1))) 
    ! )); 
    
          
    
          
    
    A12: ((th 
    P_cos ) 
    . ((2 
    * (k 
    + 1)) 
    + 1)) 
    = (((( 
    - 1) 
    |^ ((2 
    * (k 
    + 1)) 
    + 1)) 
    * (th 
    |^ (2 
    * ((2 
    * (k 
    + 1)) 
    + 1)))) 
    / ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! )) by 
    Def21
    
          .= (((
    - 1) 
    * (th 
    |^ (2 
    * ((2 
    * (k 
    + 1)) 
    + 1)))) 
    / ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! )) by 
    Lm7;
    
          
    
          
    
    A13: (2 
    * (2 
    * (k 
    + 1))) 
    < (2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) by 
    XREAL_1: 29,
    XREAL_1: 68;
    
          then
    
          
    
    A14: ((2 
    * (2 
    * (k 
    + 1))) 
    ! ) 
    <= ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! ) by 
    Th38;
    
          
    
          
    
    A15: (th 
    |^ (2 
    * ((2 
    * (k 
    + 1)) 
    + 1))) 
    <= (th 
    |^ (2 
    * (2 
    * (k 
    + 1)))) by 
    A1,
    A13,
    Th39;
    
          
    
          
    
    A16: 
    0  
    <= (th 
    |^ (2 
    * ((2 
    * (k 
    + 1)) 
    + 1))) & ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! ) 
    >  
    0 by 
    POWER: 3;
    
          (1
    / ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! )) 
    <= (1 
    / ((2 
    * (2 
    * (k 
    + 1))) 
    ! )) by 
    A14,
    XREAL_1: 85;
    
          then ((th
    |^ (2 
    * ((2 
    * (k 
    + 1)) 
    + 1))) 
    * (1 
    / ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! ))) 
    <= ((th 
    |^ (2 
    * (2 
    * (k 
    + 1)))) 
    * (1 
    / ((2 
    * (2 
    * (k 
    + 1))) 
    ! ))) by 
    A15,
    A16,
    XREAL_1: 66;
    
          then ((((th
    |^ (2 
    * (2 
    * (k 
    + 1)))) 
    * 1) 
    / ((2 
    * (2 
    * (k 
    + 1))) 
    ! )) 
    - (((th 
    |^ (2 
    * ((2 
    * (k 
    + 1)) 
    + 1))) 
    * 1) 
    / ((2 
    * ((2 
    * (k 
    + 1)) 
    + 1)) 
    ! ))) 
    >=  
    0 by 
    XREAL_1: 48;
    
          then (((
    Partial_Sums (th 
    P_cos )) 
    * bq) 
    . (k 
    + 1)) 
    >= ((( 
    Partial_Sums (th 
    P_cos )) 
    * bq) 
    . k) by 
    A10,
    A11,
    A12,
    XREAL_1: 49;
    
          hence thesis by
    A9,
    XXREAL_0: 2;
    
        end;
    
        for n holds
    X[n] from
    NAT_1:sch 2(
    A6,
    A7);
    
        hence thesis;
    
      end;
    
      hence thesis by
    A2,
    A4,
    PREPOWER: 1,
    SEQ_4: 16;
    
    end;
    
    definition
    
      :: 
    
    SIN_COS:def26
    
      func
    
    tan -> 
    PartFunc of 
    REAL , 
    REAL equals ( 
    sin  
    /  
    cos ); 
    
      coherence ;
    
      :: 
    
    SIN_COS:def27
    
      func
    
    cot -> 
    PartFunc of 
    REAL , 
    REAL equals ( 
    cos  
    /  
    sin ); 
    
      coherence ;
    
    end
    
    theorem :: 
    
    SIN_COS:70
    
    
    
    
    
    Th69: 
    [.
    0 , 1.] 
    c= ( 
    dom  
    tan ) & 
    ].
    0 , 1.[ 
    c= ( 
    dom  
    tan ) 
    
    proof
    
      
    
      
    
    A1: ( 
    [.
    0 , 1.] 
    \ ( 
    cos  
    "  
    {
    0 })) 
    c= (( 
    dom  
    cos ) 
    \ ( 
    cos  
    "  
    {
    0 })) by 
    Th24,
    XBOOLE_1: 33;
    
      (
    [.
    0 , 1.] 
    /\ ( 
    cos  
    "  
    {
    0 })) 
    =  
    {}  
    
      proof
    
        assume (
    [.
    0 , 1.] 
    /\ ( 
    cos  
    "  
    {
    0 })) 
    <>  
    {} ; 
    
        then
    
        consider rr be
    object such that 
    
        
    
    A2: rr 
    in ( 
    [.
    0 , 1.] 
    /\ ( 
    cos  
    "  
    {
    0 })) by 
    XBOOLE_0:def 1;
    
        
    
        
    
    A3: rr 
    in  
    [.
    0 , 1.] by 
    A2,
    XBOOLE_0:def 4;
    
        
    
        
    
    A4: rr 
    in ( 
    cos  
    "  
    {
    0 }) by 
    A2,
    XBOOLE_0:def 4;
    
        
    
        
    
    A5: ( 
    cos  
    . rr) 
    <>  
    0 by 
    A3,
    Th68;
    
        (
    cos  
    . rr) 
    in  
    {
    0 } by 
    A4,
    FUNCT_1:def 7;
    
        hence contradiction by
    A5,
    TARSKI:def 1;
    
      end;
    
      then
    [.
    0 , 1.] 
    misses ( 
    cos  
    "  
    {
    0 }) by 
    XBOOLE_0:def 7;
    
      then
    [.
    0 , 1.] 
    c= (( 
    dom  
    cos ) 
    \ ( 
    cos  
    "  
    {
    0 })) by 
    A1,
    XBOOLE_1: 83;
    
      then
    [.
    0 , 1.] 
    c= (( 
    dom  
    sin ) 
    /\ (( 
    dom  
    cos ) 
    \ ( 
    cos  
    "  
    {
    0 }))) by 
    Th24,
    XBOOLE_1: 19;
    
      then
    
      
    
    A6: 
    [.
    0 , 1.] 
    c= ( 
    dom  
    tan ) by 
    RFUNCT_1:def 1;
    
      
    ].
    0 , 1.[ 
    c=  
    [.
    0 , 1.] by 
    XXREAL_1: 25;
    
      hence thesis by
    A6,
    XBOOLE_1: 1;
    
    end;
    
    
    
    
    
    Lm14: ( 
    dom ( 
    tan  
    |  
    [.
    0 , 1.])) 
    =  
    [.
    0 , 1.] & for th st th 
    in  
    [.
    0 , 1.] holds (( 
    tan  
    |  
    [.
    0 , 1.]) 
    . th) 
    = ( 
    tan  
    . th) 
    
    proof
    
      (
    dom ( 
    tan  
    |  
    [.
    0 , 1.])) 
    = (( 
    dom  
    tan ) 
    /\  
    [.
    0 , 1.]) by 
    RELAT_1: 61;
    
      then (
    dom ( 
    tan  
    |  
    [.
    0 , 1.])) 
    =  
    [.
    0 , 1.] by 
    Th69,
    XBOOLE_1: 28;
    
      hence thesis by
    FUNCT_1: 47;
    
    end;
    
    
    
    
    
    Lm15: 
    tan  
    is_differentiable_on  
    ].
    0 , 1.[ & for th st th 
    in  
    ].
    0 , 1.[ holds ( 
    diff ( 
    tan ,th)) 
    >  
    0  
    
    proof
    
      
    
      
    
    A1: 
    sin  
    is_differentiable_on  
    ].
    0 , 1.[ & 
    cos  
    is_differentiable_on  
    ].
    0 , 1.[ by 
    Th66,
    Th67,
    FDIFF_1: 26;
    
      
    
      
    
    A2: for th st th 
    in  
    ].
    0 , 1.[ holds ( 
    cos  
    . th) 
    <>  
    0  
    
      proof
    
        let th such that
    
        
    
    A3: th 
    in  
    ].
    0 , 1.[; 
    
        
    ].
    0 , 1.[ 
    c=  
    [.
    0 , 1.] by 
    XXREAL_1: 25;
    
        hence thesis by
    A3,
    Th68;
    
      end;
    
      for th st th
    in  
    ].
    0 , 1.[ holds ( 
    diff ( 
    tan ,th)) 
    >  
    0  
    
      proof
    
        let th such that
    
        
    
    A4: th 
    in  
    ].
    0 , 1.[; 
    
        
    
        
    
    A5: th is 
    Real & 
    cos  
    is_differentiable_in th by 
    Th62;
    
        
    
        
    
    A6: 
    sin  
    is_differentiable_in th by 
    Th63;
    
        
    
        
    
    A7: ( 
    cos  
    . th) 
    <>  
    0 by 
    A2,
    A4;
    
        
    
        then
    
        
    
    A8: ( 
    diff ( 
    tan ,th)) 
    = (((( 
    diff ( 
    sin ,th)) 
    * ( 
    cos  
    . th)) 
    - (( 
    diff ( 
    cos ,th)) 
    * ( 
    sin  
    . th))) 
    / (( 
    cos  
    . th) 
    ^2 )) by 
    A5,
    A6,
    FDIFF_2: 14
    
        .= ((((
    cos  
    . th) 
    * ( 
    cos  
    . th)) 
    - (( 
    diff ( 
    cos ,th)) 
    * ( 
    sin  
    . th))) 
    / (( 
    cos  
    . th) 
    ^2 )) by 
    Th63
    
        .= ((((
    cos  
    . th) 
    * ( 
    cos  
    . th)) 
    - (( 
    - ( 
    sin  
    . th)) 
    * ( 
    sin  
    . th))) 
    / (( 
    cos  
    . th) 
    ^2 )) by 
    Th62
    
        .= ((((
    cos  
    . th) 
    ^2 ) 
    + (( 
    sin  
    . th) 
    * ( 
    sin  
    . th))) 
    / (( 
    cos  
    . th) 
    ^2 )) 
    
        .= (1
    / (( 
    cos  
    . th) 
    ^2 )) by 
    Th28;
    
        ((
    cos  
    . th) 
    ^2 ) 
    >  
    0 by 
    A7,
    SQUARE_1: 12;
    
        hence thesis by
    A8;
    
      end;
    
      hence thesis by
    A1,
    A2,
    FDIFF_2: 21;
    
    end;
    
    theorem :: 
    
    SIN_COS:71
    
    
    
    
    
    Th70: ( 
    tan  
    |  
    [.
    0 , 1.]) is 
    continuous
    
    proof
    
      for th be
    Real st th 
    in ( 
    dom ( 
    tan  
    |  
    [.
    0 , 1.])) holds ( 
    tan  
    |  
    [.
    0 , 1.]) 
    is_continuous_in th 
    
      proof
    
        let th be
    Real;
    
        assume
    
        
    
    A1: th 
    in ( 
    dom ( 
    tan  
    |  
    [.
    0 , 1.])); 
    
        then
    
        
    
    A2: th 
    in  
    [.
    0 , 1.] by 
    RELAT_1: 57;
    
        (
    dom  
    sin ) 
    =  
    REAL by 
    FUNCT_2:def 1;
    
        then
    
        
    
    A3: th 
    in ( 
    dom  
    sin ) by 
    XREAL_0:def 1;
    
        
    
        
    
    A4: th 
    in ( 
    [#]  
    REAL ) by 
    XREAL_0:def 1;
    
        then
    sin  
    is_differentiable_in th by 
    Th67,
    FDIFF_1: 9;
    
        then
    
        
    
    A5: 
    sin  
    is_continuous_in th by 
    FDIFF_1: 24;
    
        
    cos  
    is_differentiable_in th by 
    A4,
    Th66,
    FDIFF_1: 9;
    
        then
    
        
    
    A6: 
    cos  
    is_continuous_in th by 
    FDIFF_1: 24;
    
        (
    cos  
    . th) 
    <>  
    0 by 
    A2,
    Th68;
    
        then
    
        
    
    A7: 
    tan  
    is_continuous_in th by 
    A3,
    A5,
    A6,
    FCONT_1: 11;
    
        now
    
          let rseq;
    
          assume that
    
          
    
    A8: ( 
    rng rseq) 
    c= ( 
    dom ( 
    tan  
    |  
    [.
    0 , 1.])) and 
    
          
    
    A9: rseq is 
    convergent & ( 
    lim rseq) 
    = th; 
    
          
    
          
    
    A10: ( 
    rng rseq) 
    c= ( 
    dom  
    tan ) by 
    A8,
    Lm14,
    Th69,
    XBOOLE_1: 1;
    
          then
    
          
    
    A11: ( 
    tan  
    . th) 
    = ( 
    lim ( 
    tan  
    /* rseq)) by 
    A7,
    A9,
    FCONT_1:def 1;
    
          now
    
            let k1 be
    Element of 
    NAT ; 
    
            (
    dom rseq) 
    =  
    NAT by 
    SEQ_1: 1;
    
            then (rseq
    . k1) 
    in ( 
    rng rseq) by 
    FUNCT_1:def 3;
    
            then
    
            
    
    A12: (( 
    tan  
    |  
    [.
    0 , 1.]) 
    . (rseq 
    . k1)) 
    = ( 
    tan  
    . (rseq 
    . k1)) by 
    A8,
    Lm14;
    
            ((
    tan  
    |  
    [.
    0 , 1.]) 
    . (rseq 
    . k1)) 
    = ((( 
    tan  
    |  
    [.
    0 , 1.]) 
    /* rseq) 
    . k1) by 
    A8,
    FUNCT_2: 108;
    
            hence (((
    tan  
    |  
    [.
    0 , 1.]) 
    /* rseq) 
    . k1) 
    = (( 
    tan  
    /* rseq) 
    . k1) by 
    A8,
    A12,
    Lm14,
    Th69,
    FUNCT_2: 108,
    XBOOLE_1: 1;
    
          end;
    
          then ((
    tan  
    |  
    [.
    0 , 1.]) 
    /* rseq) 
    = ( 
    tan  
    /* rseq); 
    
          hence ((
    tan  
    |  
    [.
    0 , 1.]) 
    /* rseq) is 
    convergent & (( 
    tan  
    |  
    [.
    0 , 1.]) 
    . th) 
    = ( 
    lim (( 
    tan  
    |  
    [.
    0 , 1.]) 
    /* rseq)) by 
    A1,
    A7,
    A9,
    A10,
    A11,
    Lm14,
    FCONT_1:def 1;
    
        end;
    
        hence thesis by
    FCONT_1:def 1;
    
      end;
    
      hence thesis by
    FCONT_1:def 2;
    
    end;
    
    theorem :: 
    
    SIN_COS:72
    
    
    
    
    
    Th71: th1 
    in  
    ].
    0 , 1.[ & th2 
    in  
    ].
    0 , 1.[ & ( 
    tan  
    . th1) 
    = ( 
    tan  
    . th2) implies th1 
    = th2 
    
    proof
    
      assume that
    
      
    
    A1: th1 
    in  
    ].
    0 , 1.[ and 
    
      
    
    A2: th2 
    in  
    ].
    0 , 1.[ and 
    
      
    
    A3: ( 
    tan  
    . th1) 
    = ( 
    tan  
    . th2); 
    
      
    
      
    
    A4: 
    0  
    < th1 by 
    A1,
    XXREAL_1: 4;
    
      
    
      
    
    A5: th1 
    < 1 by 
    A1,
    XXREAL_1: 4;
    
      
    
      
    
    A6: 
    0  
    < th2 by 
    A2,
    XXREAL_1: 4;
    
      
    
      
    
    A7: th2 
    < 1 by 
    A2,
    XXREAL_1: 4;
    
      assume
    
      
    
    A8: th1 
    <> th2; 
    
      now
    
        per cases by
    A8,
    XXREAL_0: 1;
    
          suppose
    
          
    
    A9: th1 
    < th2; 
    
          
    
          
    
    A10: for th be 
    Element of 
    REAL st th 
    in  
    ].th1, th2.[ holds th
    in  
    ].
    0 , 1.[ 
    
          proof
    
            let th be
    Element of 
    REAL ; 
    
            assume
    
            
    
    A11: th 
    in  
    ].th1, th2.[;
    
            then
    
            
    
    A12: th1 
    < th by 
    XXREAL_1: 4;
    
            th
    < th2 by 
    A11,
    XXREAL_1: 4;
    
            then th
    < 1 by 
    A7,
    XXREAL_0: 2;
    
            hence thesis by
    A4,
    A12,
    XXREAL_1: 4;
    
          end;
    
          
    
          
    
    A13: for th be 
    Element of 
    REAL st th 
    in  
    [.th1, th2.] holds th
    in  
    [.
    0 , 1.] 
    
          proof
    
            let th be
    Element of 
    REAL ; 
    
            assume
    
            
    
    A14: th 
    in  
    [.th1, th2.];
    
            then
    
            
    
    A15: th1 
    <= th by 
    XXREAL_1: 1;
    
            th
    <= th2 by 
    A14,
    XXREAL_1: 1;
    
            then th
    <= 1 by 
    A7,
    XXREAL_0: 2;
    
            hence thesis by
    A4,
    A15,
    XXREAL_1: 1;
    
          end;
    
          
    ].th1, th2.[
    c=  
    ].
    0 , 1.[ by 
    A10,
    SUBSET_1: 2;
    
          then
    
          
    
    A16: 
    tan  
    is_differentiable_on  
    ].th1, th2.[ by
    Lm15,
    FDIFF_1: 26;
    
          
    [.th1, th2.]
    c=  
    [.
    0 , 1.] & ( 
    tan  
    |  
    [.th1, th2.]) is
    continuous by 
    A13,
    Th70,
    FCONT_1: 16,
    SUBSET_1: 2;
    
          then
    
          consider r such that
    
          
    
    A17: r 
    in  
    ].th1, th2.[ & (
    diff ( 
    tan ,r)) 
    =  
    0 by 
    A3,
    A9,
    A16,
    Th69,
    ROLLE: 1,
    XBOOLE_1: 1;
    
          take th = r;
    
          thus th
    in  
    ].
    0 , 1.[ & ( 
    diff ( 
    tan ,th)) 
    =  
    0 by 
    A10,
    A17;
    
        end;
    
          suppose
    
          
    
    A18: th2 
    < th1; 
    
          
    
          
    
    A19: for th be 
    Element of 
    REAL st th 
    in  
    ].th2, th1.[ holds th
    in  
    ].
    0 , 1.[ 
    
          proof
    
            let th be
    Element of 
    REAL ; 
    
            assume
    
            
    
    A20: th 
    in  
    ].th2, th1.[;
    
            then
    
            
    
    A21: th2 
    < th by 
    XXREAL_1: 4;
    
            th
    < th1 by 
    A20,
    XXREAL_1: 4;
    
            then th
    < 1 by 
    A5,
    XXREAL_0: 2;
    
            hence thesis by
    A6,
    A21,
    XXREAL_1: 4;
    
          end;
    
          
    
          
    
    A22: for th be 
    Element of 
    REAL st th 
    in  
    [.th2, th1.] holds th
    in  
    [.
    0 , 1.] 
    
          proof
    
            let th be
    Element of 
    REAL ; 
    
            assume
    
            
    
    A23: th 
    in  
    [.th2, th1.];
    
            then
    
            
    
    A24: th2 
    <= th by 
    XXREAL_1: 1;
    
            th
    <= th1 by 
    A23,
    XXREAL_1: 1;
    
            then th
    <= 1 by 
    A5,
    XXREAL_0: 2;
    
            hence thesis by
    A6,
    A24,
    XXREAL_1: 1;
    
          end;
    
          
    ].th2, th1.[
    c=  
    ].
    0 , 1.[ by 
    A19,
    SUBSET_1: 2;
    
          then
    
          
    
    A25: 
    tan  
    is_differentiable_on  
    ].th2, th1.[ by
    Lm15,
    FDIFF_1: 26;
    
          
    [.th2, th1.]
    c=  
    [.
    0 , 1.] & ( 
    tan  
    |  
    [.th2, th1.]) is
    continuous by 
    A22,
    Th70,
    FCONT_1: 16,
    SUBSET_1: 2;
    
          then
    
          consider r such that
    
          
    
    A26: r 
    in  
    ].th2, th1.[ & (
    diff ( 
    tan ,r)) 
    =  
    0 by 
    A3,
    A18,
    A25,
    Th69,
    ROLLE: 1,
    XBOOLE_1: 1;
    
          take th = r;
    
          thus th
    in  
    ].
    0 , 1.[ & ( 
    diff ( 
    tan ,th)) 
    =  
    0 by 
    A19,
    A26;
    
        end;
    
      end;
    
      hence thesis by
    Lm15;
    
    end;
    
    
    
    
    
    Lm16: ( 
    tan  
    .  
    0 ) 
    =  
    0 & ( 
    tan  
    . 1) 
    > 1 
    
    proof
    
      
    0  
    in  
    [.
    0 , 1.] by 
    XXREAL_1: 1;
    
      
    
      then
    
      
    
    A1: ( 
    tan  
    .  
    0 ) 
    = (( 
    sin  
    .  
    0 ) 
    * (( 
    cos  
    .  
    0 ) 
    " )) by 
    Th69,
    RFUNCT_1:def 1
    
      .=
    0 by 
    Th30;
    
      1
    in  
    [.
    0 , 1.] by 
    XXREAL_1: 1;
    
      then (
    tan  
    . 1) 
    = (( 
    sin  
    . 1) 
    / ( 
    cos  
    . 1)) by 
    Th69,
    RFUNCT_1:def 1;
    
      hence thesis by
    A1,
    Th42,
    XREAL_1: 187;
    
    end;
    
    begin
    
    definition
    
      :: 
    
    SIN_COS:def28
    
      func
    
    PI -> 
    Real means 
    
      :
    
    Def28: ( 
    tan  
    . (it 
    / 4)) 
    = 1 & it 
    in  
    ].
    0 , 4.[; 
    
      existence
    
      proof
    
        
    
        
    
    A1: 
    [.(
    tan  
    .  
    0 ), ( 
    tan  
    . 1).] 
    = { r : ( 
    tan  
    .  
    0 ) 
    <= r & r 
    <= ( 
    tan  
    . 1) } by 
    RCOMP_1:def 1;
    
        
    [.(
    tan  
    . 1), ( 
    tan  
    .  
    0 ).] 
    =  
    {} by 
    Lm16,
    XXREAL_1: 29;
    
        then 1
    in ( 
    [.(
    tan  
    .  
    0 ), ( 
    tan  
    . 1).] 
    \/  
    [.(
    tan  
    . 1), ( 
    tan  
    .  
    0 ).]) by 
    A1,
    Lm16;
    
        then
    
        consider th such that
    
        
    
    A2: th 
    in  
    [.
    0 , 1.] and 
    
        
    
    A3: ( 
    tan  
    . th) 
    = 1 by 
    Th69,
    Th70,
    FCONT_2: 15;
    
        
    
        
    
    A4: 
    0  
    <= th by 
    A2,
    XXREAL_1: 1;
    
        
    
        
    
    A5: th 
    <= 1 by 
    A2,
    XXREAL_1: 1;
    
        
    
        
    
    A6: 
    0  
    < th by 
    A3,
    A4,
    Lm16;
    
        
    
        
    
    A7: th 
    < 1 by 
    A3,
    A5,
    Lm16,
    XXREAL_0: 1;
    
        take th1 = (th
    * 4); 
    
        thus (
    tan  
    . (th1 
    / 4)) 
    = 1 by 
    A3;
    
        (th
    * 4) 
    < (1 
    * 4) by 
    A7,
    XREAL_1: 68;
    
        hence thesis by
    A6,
    XXREAL_1: 4;
    
      end;
    
      uniqueness
    
      proof
    
        let th1,th2 be
    Real such that 
    
        
    
    A8: ( 
    tan  
    . (th1 
    / 4)) 
    = 1 and 
    
        
    
    A9: th1 
    in  
    ].
    0 , 4.[ and 
    
        
    
    A10: ( 
    tan  
    . (th2 
    / 4)) 
    = 1 and 
    
        
    
    A11: th2 
    in  
    ].
    0 , 4.[; 
    
        
    
        
    
    A12: 
    0  
    < th1 by 
    A9,
    XXREAL_1: 4;
    
        th1
    < 4 by 
    A9,
    XXREAL_1: 4;
    
        then (th1
    / 4) 
    < (4 
    / 4) by 
    XREAL_1: 74;
    
        then
    
        
    
    A13: (th1 
    / 4) 
    in  
    ].
    0 , 1.[ by 
    A12,
    XXREAL_1: 4;
    
        
    
        
    
    A14: 
    0  
    < th2 by 
    A11,
    XXREAL_1: 4;
    
        th2
    < 4 by 
    A11,
    XXREAL_1: 4;
    
        then (th2
    / 4) 
    < (4 
    / 4) by 
    XREAL_1: 74;
    
        then (th2
    / 4) 
    in  
    ].
    0 , 1.[ by 
    A14,
    XXREAL_1: 4;
    
        then (th1
    / 4) 
    = (th2 
    / 4) by 
    A8,
    A10,
    A13,
    Th71;
    
        hence thesis;
    
      end;
    
    end
    
    theorem :: 
    
    SIN_COS:73
    
    
    
    
    
    Th72: ( 
    sin  
    . ( 
    PI  
    / 4)) 
    = ( 
    cos  
    . ( 
    PI  
    / 4)) 
    
    proof
    
      
    
      
    
    A1: 
    PI  
    in  
    ].
    0 , 4.[ by 
    Def28;
    
      then
    
      
    
    A2: 
    0  
    <  
    PI by 
    XXREAL_1: 4;
    
      
    PI  
    < 4 by 
    A1,
    XXREAL_1: 4;
    
      then (
    PI  
    / 4) 
    < (4 
    / 4) by 
    XREAL_1: 74;
    
      then
    
      
    
    A3: ( 
    PI  
    / 4) 
    in  
    ].
    0 , 1.[ by 
    A2,
    XXREAL_1: 4;
    
      (
    tan  
    . ( 
    PI  
    / 4)) 
    = 1 by 
    Def28;
    
      then ((
    sin  
    . ( 
    PI  
    / 4)) 
    * (( 
    cos  
    . ( 
    PI  
    / 4)) 
    " )) 
    = 1 by 
    A3,
    Th69,
    RFUNCT_1:def 1;
    
      hence thesis by
    XCMPLX_1: 209;
    
    end;
    
    begin
    
    theorem :: 
    
    SIN_COS:74
    
    
    
    
    
    Th73: ( 
    sin  
    . (th1 
    + th2)) 
    = ((( 
    sin  
    . th1) 
    * ( 
    cos  
    . th2)) 
    + (( 
    cos  
    . th1) 
    * ( 
    sin  
    . th2))) & ( 
    cos  
    . (th1 
    + th2)) 
    = ((( 
    cos  
    . th1) 
    * ( 
    cos  
    . th2)) 
    - (( 
    sin  
    . th1) 
    * ( 
    sin  
    . th2))) 
    
    proof
    
      reconsider th1, th2 as
    Real;
    
      
    
      
    
    A1: ((th1 
    + th2) 
    *  
    <i> ) 
    = (( 
    0  
    +  
    0 ) 
    + ((th1 
    + th2) 
    *  
    <i> )); 
    
      
    
      
    
    A2: (( 
    Sum ((th1 
    *  
    <i> ) 
    ExpSeq )) 
    * ( 
    Sum ((th2 
    *  
    <i> ) 
    ExpSeq ))) 
    = ( 
    Sum (((th1 
    *  
    <i> ) 
    + (th2 
    *  
    <i> )) 
    ExpSeq )) by 
    Lm2
    
      .= ((
    cos  
    . (th1 
    + th2)) 
    + (( 
    sin  
    . (th1 
    + th2)) 
    *  
    <i> )) by 
    A1,
    Lm3;
    
      ((
    Sum ((th1 
    *  
    <i> ) 
    ExpSeq )) 
    * ( 
    Sum ((th2 
    *  
    <i> ) 
    ExpSeq ))) 
    = ((( 
    cos  
    . th1) 
    + (( 
    sin  
    . th1) 
    *  
    <i> )) 
    * ( 
    Sum ((th2 
    *  
    <i> ) 
    ExpSeq ))) by 
    Lm3
    
      .= (((
    cos  
    . th1) 
    + (( 
    sin  
    . th1) 
    *  
    <i> )) 
    * (( 
    cos  
    . th2) 
    + (( 
    sin  
    . th2) 
    *  
    <i> ))) by 
    Lm3
    
      .= ((((
    cos  
    . th1) 
    * ( 
    cos  
    . th2)) 
    - (( 
    sin  
    . th1) 
    * ( 
    sin  
    . th2))) 
    + (((( 
    sin  
    . th1) 
    * ( 
    cos  
    . th2)) 
    + (( 
    cos  
    . th1) 
    * ( 
    sin  
    . th2))) 
    *  
    <i> )); 
    
      hence thesis by
    A2,
    COMPLEX1: 77;
    
    end;
    
    theorem :: 
    
    SIN_COS:75
    
    (
    sin (th1 
    + th2)) 
    = ((( 
    sin th1) 
    * ( 
    cos th2)) 
    + (( 
    cos th1) 
    * ( 
    sin th2))) & ( 
    cos (th1 
    + th2)) 
    = ((( 
    cos th1) 
    * ( 
    cos th2)) 
    - (( 
    sin th1) 
    * ( 
    sin th2))) by 
    Th73;
    
    theorem :: 
    
    SIN_COS:76
    
    
    
    
    
    Th75: ( 
    cos  
    . ( 
    PI  
    / 2)) 
    =  
    0 & ( 
    sin  
    . ( 
    PI  
    / 2)) 
    = 1 & ( 
    cos  
    .  
    PI ) 
    = ( 
    - 1) & ( 
    sin  
    .  
    PI ) 
    =  
    0 & ( 
    cos  
    . ( 
    PI  
    + ( 
    PI  
    / 2))) 
    =  
    0 & ( 
    sin  
    . ( 
    PI  
    + ( 
    PI  
    / 2))) 
    = ( 
    - 1) & ( 
    cos  
    . (2 
    *  
    PI )) 
    = 1 & ( 
    sin  
    . (2 
    *  
    PI )) 
    =  
    0  
    
    proof
    
      
    
      thus
    
      
    
    A1: ( 
    cos  
    . ( 
    PI  
    / 2)) 
    = ( 
    cos  
    . (( 
    PI  
    / 4) 
    + ( 
    PI  
    / 4))) 
    
      .= (((
    cos  
    . ( 
    PI  
    / 4)) 
    * ( 
    cos  
    . ( 
    PI  
    / 4))) 
    - (( 
    cos  
    . ( 
    PI  
    / 4)) 
    * ( 
    cos  
    . ( 
    PI  
    / 4)))) by 
    Th72,
    Th73
    
      .=
    0 ; 
    
      
    
      thus
    
      
    
    A2: ( 
    sin  
    . ( 
    PI  
    / 2)) 
    = ( 
    sin  
    . (( 
    PI  
    / 4) 
    + ( 
    PI  
    / 4))) 
    
      .= (((
    cos  
    . ( 
    PI  
    / 4)) 
    * ( 
    cos  
    . ( 
    PI  
    / 4))) 
    + (( 
    sin  
    . ( 
    PI  
    / 4)) 
    * ( 
    sin  
    . ( 
    PI  
    / 4)))) by 
    Th72,
    Th73
    
      .= 1 by
    Th28;
    
      
    
      thus
    
      
    
    A3: ( 
    cos  
    .  
    PI ) 
    = ( 
    cos  
    . (( 
    PI  
    / 2) 
    + ( 
    PI  
    / 2))) 
    
      .= ((
    0  
    *  
    0 ) 
    - (( 
    sin  
    . ( 
    PI  
    / 2)) 
    * ( 
    sin  
    . ( 
    PI  
    / 2)))) by 
    A1,
    Th73
    
      .= (
    - 1) by 
    A2;
    
      
    
      thus
    
      
    
    A4: ( 
    sin  
    .  
    PI ) 
    = ( 
    sin  
    . (( 
    PI  
    / 2) 
    + ( 
    PI  
    / 2))) 
    
      .= (((
    sin  
    . ( 
    PI  
    / 2)) 
    * ( 
    cos  
    . ( 
    PI  
    / 2))) 
    + (( 
    cos  
    . ( 
    PI  
    / 2)) 
    * ( 
    sin  
    . ( 
    PI  
    / 2)))) by 
    Th73
    
      .=
    0 by 
    A1;
    
      
    
      thus (
    cos  
    . ( 
    PI  
    + ( 
    PI  
    / 2))) 
    = ((( 
    cos  
    .  
    PI ) 
    * ( 
    cos  
    . ( 
    PI  
    / 2))) 
    - (( 
    sin  
    .  
    PI ) 
    * ( 
    sin  
    . ( 
    PI  
    / 2)))) by 
    Th73
    
      .=
    0 by 
    A1,
    A4;
    
      
    
      thus (
    sin  
    . ( 
    PI  
    + ( 
    PI  
    / 2))) 
    = ((( 
    sin  
    .  
    PI ) 
    * ( 
    cos  
    . ( 
    PI  
    / 2))) 
    + (( 
    cos  
    .  
    PI ) 
    * ( 
    sin  
    . ( 
    PI  
    / 2)))) by 
    Th73
    
      .= (
    - 1) by 
    A1,
    A2,
    A3;
    
      
    
      thus (
    cos  
    . (2 
    *  
    PI )) 
    = ( 
    cos  
    . ( 
    PI  
    +  
    PI )) 
    
      .= (((
    - 1) 
    * ( 
    - 1)) 
    - (( 
    sin  
    .  
    PI ) 
    * ( 
    sin  
    .  
    PI ))) by 
    A3,
    Th73
    
      .= 1 by
    A4;
    
      
    
      thus (
    sin  
    . (2 
    *  
    PI )) 
    = ( 
    sin  
    . ( 
    PI  
    +  
    PI )) 
    
      .= (((
    sin  
    .  
    PI ) 
    * ( 
    cos  
    .  
    PI )) 
    + (( 
    cos  
    .  
    PI ) 
    * ( 
    sin  
    .  
    PI ))) by 
    Th73
    
      .=
    0 by 
    A4;
    
    end;
    
    theorem :: 
    
    SIN_COS:77
    
    (
    cos ( 
    PI  
    / 2)) 
    =  
    0 & ( 
    sin ( 
    PI  
    / 2)) 
    = 1 & ( 
    cos  
    PI ) 
    = ( 
    - 1) & ( 
    sin  
    PI ) 
    =  
    0 & ( 
    cos ( 
    PI  
    + ( 
    PI  
    / 2))) 
    =  
    0 & ( 
    sin ( 
    PI  
    + ( 
    PI  
    / 2))) 
    = ( 
    - 1) & ( 
    cos (2 
    *  
    PI )) 
    = 1 & ( 
    sin (2 
    *  
    PI )) 
    =  
    0 by 
    Th75;
    
    theorem :: 
    
    SIN_COS:78
    
    
    
    
    
    Th77: ( 
    sin  
    . (th 
    + (2 
    *  
    PI ))) 
    = ( 
    sin  
    . th) & ( 
    cos  
    . (th 
    + (2 
    *  
    PI ))) 
    = ( 
    cos  
    . th) & ( 
    sin  
    . (( 
    PI  
    / 2) 
    - th)) 
    = ( 
    cos  
    . th) & ( 
    cos  
    . (( 
    PI  
    / 2) 
    - th)) 
    = ( 
    sin  
    . th) & ( 
    sin  
    . (( 
    PI  
    / 2) 
    + th)) 
    = ( 
    cos  
    . th) & ( 
    cos  
    . (( 
    PI  
    / 2) 
    + th)) 
    = ( 
    - ( 
    sin  
    . th)) & ( 
    sin  
    . ( 
    PI  
    + th)) 
    = ( 
    - ( 
    sin  
    . th)) & ( 
    cos  
    . ( 
    PI  
    + th)) 
    = ( 
    - ( 
    cos  
    . th)) 
    
    proof
    
      
    
      thus (
    sin  
    . (th 
    + (2 
    *  
    PI ))) 
    = ((( 
    sin  
    . th) 
    * 1) 
    + (( 
    cos  
    . th) 
    *  
    0 )) by 
    Th73,
    Th75
    
      .= (
    sin  
    . th); 
    
      
    
      thus (
    cos  
    . (th 
    + (2 
    *  
    PI ))) 
    = ((( 
    cos  
    . th) 
    * 1) 
    - (( 
    sin  
    . th) 
    *  
    0 )) by 
    Th73,
    Th75
    
      .= (
    cos  
    . th); 
    
      
    
      thus (
    sin  
    . (( 
    PI  
    / 2) 
    - th)) 
    = ((( 
    sin  
    . ( 
    PI  
    / 2)) 
    * ( 
    cos  
    . ( 
    - th))) 
    + (( 
    cos  
    . ( 
    PI  
    / 2)) 
    * ( 
    sin  
    . ( 
    - th)))) by 
    Th73
    
      .= (
    cos  
    . th) by 
    Th30,
    Th75;
    
      
    
      thus (
    cos  
    . (( 
    PI  
    / 2) 
    - th)) 
    = ((( 
    cos  
    . ( 
    PI  
    / 2)) 
    * ( 
    cos  
    . ( 
    - th))) 
    - (( 
    sin  
    . ( 
    PI  
    / 2)) 
    * ( 
    sin  
    . ( 
    - th)))) by 
    Th73
    
      .= (
    0  
    - (1 
    * ( 
    - ( 
    sin  
    . th)))) by 
    Th30,
    Th75
    
      .= (
    sin  
    . th); 
    
      
    
      thus (
    sin  
    . (( 
    PI  
    / 2) 
    + th)) 
    = ((1 
    * ( 
    cos  
    . th)) 
    + ( 
    0  
    * ( 
    sin  
    . th))) by 
    Th73,
    Th75
    
      .= (
    cos  
    . th); 
    
      
    
      thus (
    cos  
    . (( 
    PI  
    / 2) 
    + th)) 
    = ((( 
    cos  
    . ( 
    PI  
    / 2)) 
    * ( 
    cos  
    . th)) 
    - (( 
    sin  
    . ( 
    PI  
    / 2)) 
    * ( 
    sin  
    . th))) by 
    Th73
    
      .= (
    - ( 
    sin  
    . th)) by 
    Th75;
    
      
    
      thus (
    sin  
    . ( 
    PI  
    + th)) 
    = ((( 
    sin  
    .  
    PI ) 
    * ( 
    cos  
    . th)) 
    + (( 
    cos  
    .  
    PI ) 
    * ( 
    sin  
    . th))) by 
    Th73
    
      .= (
    - ( 
    sin  
    . th)) by 
    Th75;
    
      
    
      thus (
    cos  
    . ( 
    PI  
    + th)) 
    = ((( 
    - 1) 
    * ( 
    cos  
    . th)) 
    - ( 
    0  
    * ( 
    sin  
    . th))) by 
    Th73,
    Th75
    
      .= (
    - ( 
    cos  
    . th)); 
    
    end;
    
    theorem :: 
    
    SIN_COS:79
    
    (
    sin (th 
    + (2 
    *  
    PI ))) 
    = ( 
    sin th) & ( 
    cos (th 
    + (2 
    *  
    PI ))) 
    = ( 
    cos th) & ( 
    sin (( 
    PI  
    / 2) 
    - th)) 
    = ( 
    cos th) & ( 
    cos (( 
    PI  
    / 2) 
    - th)) 
    = ( 
    sin th) & ( 
    sin (( 
    PI  
    / 2) 
    + th)) 
    = ( 
    cos th) & ( 
    cos (( 
    PI  
    / 2) 
    + th)) 
    = ( 
    - ( 
    sin th)) & ( 
    sin ( 
    PI  
    + th)) 
    = ( 
    - ( 
    sin th)) & ( 
    cos ( 
    PI  
    + th)) 
    = ( 
    - ( 
    cos th)) by 
    Th77;
    
    
    
    
    
    Lm17: th 
    in  
    [.
    0 , 1.] implies ( 
    sin  
    . th) 
    >=  
    0  
    
    proof
    
      assume
    
      
    
    A1: th 
    in  
    [.
    0 , 1.]; 
    
      then
    
      
    
    A2: th 
    <= 1 by 
    XXREAL_1: 1;
    
      (
    sin  
    . th) 
    >= ( 
    sin  
    .  
    0 ) 
    
      proof
    
        now
    
          per cases by
    A1,
    XXREAL_1: 1;
    
            suppose th
    =  
    0 ; 
    
            hence thesis;
    
          end;
    
            suppose
    
            
    
    A3: 
    0  
    < th; 
    
            (
    sin  
    |  
    REAL ) is 
    continuous by 
    Th67,
    FDIFF_1: 25;
    
            then (
    sin  
    |  
    [.
    0 , th.]) is 
    continuous by 
    FCONT_1: 16;
    
            then
    
            consider r such that
    
            
    
    A4: r 
    in  
    ].
    0 , th.[ and 
    
            
    
    A5: ( 
    diff ( 
    sin ,r)) 
    = ((( 
    sin  
    . th) 
    - ( 
    sin  
    .  
    0 )) 
    / (th 
    -  
    0 )) by 
    A3,
    Th24,
    Th67,
    FDIFF_1: 26,
    ROLLE: 3;
    
            
    
            
    
    A6: r 
    < th by 
    A4,
    XXREAL_1: 4;
    
            
    
            
    
    A7: 
    0  
    < r by 
    A4,
    XXREAL_1: 4;
    
            r
    < 1 by 
    A2,
    A6,
    XXREAL_0: 2;
    
            then r
    in  
    [.
    0 , 1.] by 
    A7,
    XXREAL_1: 1;
    
            then (
    cos  
    . r) 
    >  
    0 by 
    Th68;
    
            then ((
    sin  
    . th) 
    - ( 
    sin  
    .  
    0 )) 
    >  
    0 by 
    A3,
    A5,
    Th67;
    
            hence thesis by
    XREAL_1: 47;
    
          end;
    
        end;
    
        hence thesis;
    
      end;
    
      hence thesis by
    Th30;
    
    end;
    
    theorem :: 
    
    SIN_COS:80
    
    
    
    
    
    Th79: th 
    in  
    ].
    0 , ( 
    PI  
    / 2).[ implies ( 
    cos  
    . th) 
    >  
    0  
    
    proof
    
      assume that
    
      
    
    A1: th 
    in  
    ].
    0 , ( 
    PI  
    / 2).[ and 
    
      
    
    A2: ( 
    cos  
    . th) 
    <=  
    0 ; 
    
      (
    cos  
    |  
    REAL ) is 
    continuous by 
    Th66,
    FDIFF_1: 25;
    
      then
    
      
    
    A3: ( 
    cos  
    |  
    [.
    0 , th.]) is 
    continuous by 
    FCONT_1: 16;
    
      
    
      
    
    A4: 
    0  
    < th by 
    A1,
    XXREAL_1: 4;
    
      (
    [.(
    cos  
    .  
    0 ), ( 
    cos  
    . th).] 
    \/  
    [.(
    cos  
    . th), ( 
    cos  
    .  
    0 ).]) 
    =  
    [.(
    cos  
    . th), ( 
    cos  
    .  
    0 ).] & 
    0  
    in  
    [.(
    cos  
    . th), ( 
    cos  
    .  
    0 ).] by 
    A2,
    Th30,
    XXREAL_1: 1,
    XXREAL_1: 222;
    
      then ex th2 st th2
    in  
    [.
    0 , th.] & ( 
    cos  
    . th2) 
    =  
    0 by 
    A3,
    A4,
    Th24,
    FCONT_2: 15;
    
      then
    
      consider th2 be
    Real such that 
    
      
    
    A5: th2 
    in  
    [.
    0 , th.] and 
    0  
    < th and 
    
      
    
    A6: ( 
    cos  
    . th2) 
    =  
    0 by 
    A4;
    
      
    
      
    
    A7: 
    0  
    <= th2 by 
    A5,
    XXREAL_1: 1;
    
      
    
      
    
    A8: th2 
    <= th by 
    A5,
    XXREAL_1: 1;
    
      
    
      
    
    A9: th 
    < ( 
    PI  
    / 2) by 
    A1,
    XXREAL_1: 4;
    
      
    
      
    
    A10: 
    0  
    < th2 by 
    A6,
    A7,
    Th30;
    
      th2
    < ( 
    PI  
    / 2) by 
    A8,
    A9,
    XXREAL_0: 2;
    
      then
    
      
    
    A11: (th2 
    / 2) 
    < (( 
    PI  
    / 2) 
    / 2) by 
    XREAL_1: 74;
    
      
    PI  
    in  
    ].
    0 , 4.[ by 
    Def28;
    
      then
    PI  
    < 4 by 
    XXREAL_1: 4;
    
      then (
    PI  
    / 4) 
    < (4 
    / 4) by 
    XREAL_1: 74;
    
      then
    
      
    
    A12: (th2 
    / 2) 
    < 1 by 
    A11,
    XXREAL_0: 2;
    
      
    0  
    = ( 
    cos  
    . ((th2 
    / 2) 
    + (th2 
    / 2))) by 
    A6
    
      .= (((
    cos  
    . (th2 
    / 2)) 
    ^2 ) 
    - (( 
    sin  
    . (th2 
    / 2)) 
    * ( 
    sin  
    . (th2 
    / 2)))) by 
    Th73
    
      .= (((
    cos  
    . (th2 
    / 2)) 
    - ( 
    sin  
    . (th2 
    / 2))) 
    * (( 
    cos  
    . (th2 
    / 2)) 
    + ( 
    sin  
    . (th2 
    / 2)))); 
    
      then
    
      
    
    A13: (( 
    cos  
    . (th2 
    / 2)) 
    - ( 
    sin  
    . (th2 
    / 2))) 
    =  
    0 or (( 
    cos  
    . (th2 
    / 2)) 
    + ( 
    sin  
    . (th2 
    / 2))) 
    =  
    0 ; 
    
      
    
      
    
    A14: (th2 
    / 2) 
    in  
    ].
    0 , 1.[ by 
    A10,
    A12,
    XXREAL_1: 4;
    
      
    ].
    0 , 1.[ 
    c=  
    [.
    0 , 1.] by 
    XXREAL_1: 25;
    
      then
    
      
    
    A15: ( 
    cos  
    . (th2 
    / 2)) 
    >  
    0 & ( 
    sin  
    . (th2 
    / 2)) 
    >= ( 
    -  
    0 ) by 
    A14,
    Lm17,
    Th68;
    
      (4
    * (th2 
    / 2)) 
    < (4 
    * 1) by 
    A12,
    XREAL_1: 68;
    
      then
    
      
    
    A16: (2 
    * th2) 
    in  
    ].
    0 , 4.[ by 
    A10,
    XXREAL_1: 4;
    
      ((
    sin  
    . (th2 
    / 2)) 
    * (( 
    cos  
    . (th2 
    / 2)) 
    " )) 
    = 1 by 
    A13,
    A15,
    XCMPLX_0:def 7;
    
      then (
    tan  
    . ((2 
    * th2) 
    / 4)) 
    = 1 by 
    A14,
    Th69,
    RFUNCT_1:def 1;
    
      then (2
    * th2) 
    =  
    PI by 
    A16,
    Def28;
    
      hence contradiction by
    A1,
    A8,
    XXREAL_1: 4;
    
    end;
    
    theorem :: 
    
    SIN_COS:81
    
    th
    in  
    ].
    0 , ( 
    PI  
    / 2).[ implies ( 
    cos th) 
    >  
    0 by 
    Th79;
    
    begin
    
    theorem :: 
    
    SIN_COS:82
    
    (
    sin (a 
    - b)) 
    = ((( 
    sin a) 
    * ( 
    cos b)) 
    - (( 
    cos a) 
    * ( 
    sin b))) 
    
    proof
    
      
    
      thus (
    sin (a 
    - b)) 
    = ((( 
    sin  
    . a) 
    * ( 
    cos  
    . ( 
    - b))) 
    + (( 
    cos  
    . a) 
    * ( 
    sin  
    . ( 
    - b)))) by 
    Th73
    
      .= (((
    sin  
    . a) 
    * ( 
    cos  
    . b)) 
    + (( 
    cos  
    . a) 
    * ( 
    sin  
    . ( 
    - b)))) by 
    Th30
    
      .= (((
    sin  
    . a) 
    * ( 
    cos  
    . b)) 
    + (( 
    cos  
    . a) 
    * ( 
    - ( 
    sin  
    . b)))) by 
    Th30
    
      .= (((
    sin a) 
    * ( 
    cos b)) 
    - (( 
    cos a) 
    * ( 
    sin b))); 
    
    end;
    
    theorem :: 
    
    SIN_COS:83
    
    (
    cos (a 
    - b)) 
    = ((( 
    cos a) 
    * ( 
    cos b)) 
    + (( 
    sin a) 
    * ( 
    sin b))) 
    
    proof
    
      
    
      thus (
    cos (a 
    - b)) 
    = ((( 
    cos  
    . a) 
    * ( 
    cos  
    . ( 
    - b))) 
    - (( 
    sin  
    . a) 
    * ( 
    sin  
    . ( 
    - b)))) by 
    Th73
    
      .= (((
    cos  
    . a) 
    * ( 
    cos  
    . b)) 
    - (( 
    sin  
    . a) 
    * ( 
    sin  
    . ( 
    - b)))) by 
    Th30
    
      .= (((
    cos  
    . a) 
    * ( 
    cos  
    . b)) 
    - (( 
    sin  
    . a) 
    * ( 
    - ( 
    sin  
    . b)))) by 
    Th30
    
      .= (((
    cos a) 
    * ( 
    cos b)) 
    + (( 
    sin a) 
    * ( 
    sin b))); 
    
    end;
    
    registration
    
      cluster 
    sin -> 
    continuous;
    
      coherence
    
      proof
    
        (
    dom  
    sin ) 
    =  
    REAL & ( 
    sin  
    |  
    REAL ) is 
    continuous by 
    Th67,
    FDIFF_1: 25,
    FUNCT_2:def 1;
    
        hence thesis by
    RELAT_1: 69;
    
      end;
    
      cluster 
    cos -> 
    continuous;
    
      coherence
    
      proof
    
        (
    dom  
    cos ) 
    =  
    REAL & ( 
    cos  
    |  
    REAL ) is 
    continuous by 
    Th66,
    FDIFF_1: 25,
    FUNCT_2:def 1;
    
        hence thesis by
    RELAT_1: 69;
    
      end;
    
      cluster 
    exp_R -> 
    continuous;
    
      coherence
    
      proof
    
        (
    dom  
    exp_R ) 
    =  
    REAL & ( 
    exp_R  
    |  
    REAL ) is 
    continuous by 
    Th65,
    FDIFF_1: 25,
    FUNCT_2:def 1;
    
        hence thesis by
    RELAT_1: 69;
    
      end;
    
    end