Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/PVS/lnexp_fnd/   (Beweissystem der NASA Version 6.0.9©)  Datei vom 28.9.2014 mit Größe 12 kB image not shown  

Quelle  hyperbolic.pvs   Sprache: PVS

 
hyperbolic:hyperbolic: THEORY
%------------------------------------------------------------------------
%   Definition of Hyperbolic Trig Functions
%
%   Version 1.0    12/3/03 
%   Version 1.1    8/25/04  
%   Version 1.2    10/27/04        added exp_approx, ln_approx
%
%   Author:  David Lester
%
%   Formula labels are from Handbook of Mathematical Functions
%                           by Abramowitz and Stegun
%
%------------------------------------------------------------------------
BEGIN

  IMPORTING reals@sq, reals@sqrt,
     analysis@sqrt_derivative, analysis@restrict2_deriv, analysis@deriv_domains,
            analysis@nth_derivatives, analysis@taylors,
            analysis@polynomial_deriv,
            ln_exp,  %% RWB
            reals@binomial



  posreal_ge1:  NONEMPTY_TYPE = {x:real    | x >= 1         } CONTAINING 1
  posreal_gt1:  NONEMPTY_TYPE = {x:real    | x >  1         } CONTAINING 2
  posreal_le1:  NONEMPTY_TYPE = {x:posreal | x <= 1         } CONTAINING 1/2
  real_abs_lt1: NONEMPTY_TYPE = {x:real    | -1 < x &  x < 1} CONTAINING 0
  real_abs_gt1: NONEMPTY_TYPE = {x:real    | x < -1 OR 1 < x} CONTAINING 2


  noa_abs_lt1         : LEMMA not_one_element?[real_abs_lt1];
  noa_posreal_gt1     : LEMMA not_one_element?[posreal_gt1];
  conn_abs_lt1        : LEMMA connected?[real_abs_lt1];
  conn_real           : LEMMA connected?[real]
  deriv_domain_abs_lt1: LEMMA deriv_domain?[real_abs_lt1]
  deriv_domain_posreal_gt1: LEMMA deriv_domain?[posreal_gt1]

  AUTO_REWRITE+ noa_abs_lt1    
  AUTO_REWRITE+ noa_posreal_gt1
  AUTO_REWRITE+ conn_abs_lt1   
  AUTO_REWRITE+ conn_real
  AUTO_REWRITE+ %   Definition of Hyperbolic Trig Functions
  AUTO_REWRITE+ deriv_domain_posreal_gt1



%   Version 1.1    8/25/04  
  pxle1:   VAR posreal_le1
  pxge1:   VAR posreal_ge1
  xalt1:   VAR%   Author:  David Lester
  n0x,n0y: VAR nzreal
  n,m:%                           by Abramowitz and Stegun

% A&S Section 4.5 Hyperbolic Functions

  
  coshcoshx  real)  :posreal_ge1  = (exp(x)+exp-x)/2% 4.5.2
  tanh(x:  real)  :real_abs_lt1 = sinh(x)/cosh(    analysissqrt_derivative analysis@restrict2_deriv analysisderiv_domains,
  cschn0xnzreal):real         =1sinh(n0x)                          
  sech            @polynomial_deriv,
  othn0x:):  1tanh()                          

% Restrictions for Branch Properties

  nnreal_coshposreal_gt1  ONEMPTY_TYPE= x:     >1          CONTAINING2
  posreal_cschpx):posreal       csch)
  nnreal_sech(nnx):=sech()
  (pxposreal:   coth(px)

% Monotonicity Properties

  sinh_strict_increasing: LEMMA strict_increasing?(sinh)  
  cosh_strict_increasing: LEMMA strict_increasing?(nnreal_cosh)
  tanh_strict_increasing: LEMMA strict_increasing?(tanh)
  csch_strict_decreasing: LEMMA strict_decreasing?(posreal_csch)
  sech_strict_decreasing: LEMMA strict_decreasing?(nnreal_sech)
  coth_strict_decreasing: LEMMA strict_decreasing?(posreal_coth)

% Special Values of the Hyperbolic Functions

  sinh_0
  cosh_0:LEMMA cosh)=                                             % 4.5.61
  tanh_0 LEMMAtanh0 =0% 4.5.61
  sech_0: LEMMA sech(0) = 1                                            % 4.5.61

% Relations between Hyperbolic Functions

  cosh_sinh_one:   LEMMA sq(cosh(x))   - sq(sinh(x))  conn_real:LEMMAconnected?[real]
  tanh_sech_one:   LEMMA ((x))    sq(sech)   1%java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
  coth_csch_onecosh real  :   expx)(-))/                   ..
  cosh_plus_sinh:LEMMA()+sinh)        (x)% 4.5.19
  cosh_minus_sinh: (n0x:nzreal:real= 1sinhn0x

% Negative Angle FormulasMA FORALL (k:{i:nat| i<n}): C(n,k+1) = C(n,k)*((n-k)/(k+1))


  cothn0x)real_abs_gt1  1/tanh()% 45.
  cosh_neg: LEMMA cosh(-x)   = cosh
  tanh_neg
  :LEMMA(-n0x  -()
   sech_neg:L sech-)   =(x
  coth_neg: LEMMA coth(-n0x (nxnnreal:posreal_le1= ()

% Addition Formulas

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  :  sinh(x-y)=(x*(y)- coshx)(java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
  cosh_sum:  LEMMAc:?posreal_csch
cosh_diff LEMMA()= ()( (*java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
   tanh  tanh+())/(tanh(x)*tanh(y)  % 4.5.26
  coth_sum:  LEMMA n0x+n0y /= 0 IMPLIES                                % 4.5.27
                   oth(n0x+n0y)
                             = (1+cothn0x)cothn0y/(coth()+(n0y

% Half-angle Formulas

  sinh_half:  LEMMA sinh(x/2) = LET y = sqrt((cosh(x)-1)/2) IN         % 4.5.28
                                IF x >= 0 THEN y ELSE -y ENDIF
  cosh_half:L coshx/) sqrt((x))2                    
tanh_half1 LEMMA (x/)= LETy =sqrt(cosh(x))(()+)  % 4.5.30
                                   >=0  y  y ENDIF
  tanh_half2: LEMMA tanh(n0x/2) = (cosh(n0x)-1)/sinh(n0x)              % 4.5.30
  tanh_half3LEMMAtanhx)  inhx1)                    % 4.5.30

% Multiple-angle Formulas

  sinh2xjava.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
  sinh2x_B:   LEMMA sinh(2*x) = 2*tanh(  tanh_neg LEMMA(-)= -(x)% 4.5.23
    csch_neg csch-n0x)= cschn0x
  sech_neg:LEMMA(x   =sechx
  cosh2x_C:   LEMMALEMMAcosh2x sq(() + sq(sinh(x))              % 4.5.32
  tanh2x:     LEMMA tanh(2*x) = 2*tanh(x)/(1+sq(tanh(x)))              % 4.5.33
sLEMMAx-y(*cosh  ()()
  cosh3x:     LEMMA cosh(3*x) = 4*cosh(x)^3-3*c: (xy)coshcoshy) (*sinhy       
sinh4xLEMMA(*x)% 4.5.36
                              = 4*sinh(x)*cosh(x)*(sq: (+ =(tanh(+tanh*tanhy))   
  cosh4x:     LEMMA cosh(4*x)                                          % 4.5.37
=cosh^+*((x*()+(x^java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73

% Products

IIF =java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
: (x*cosh)  (cosh(xy)coshx-y/     
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

% Addition and Subtraction

  sum_sinh:   LEMMA sinh(x)+sinh(y) = 2*sinh(  sinh2x_B   EMMA(2)=2tanhx)(1sqtanh())% 4.5.31
diff_sinh   sinh(x)-sinhy  2cosh(x+/)sinh(-)2)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
sum_cosh    ()+coshy) =*((y/)cosh()2    
  diff_cosh:  LEMMA cosh(x)-cosh(y) = cosh2x_CLEMMA(2) sq(()  (())% 4.5.32
  sum_tanh   tanhx+(y =(+y/coshx)cosh)      
  sum_coth:   LEMMA coth(n0x)+  sinh3x     EMMA(*) =3*(x + *()3                
                                    n0x+n0y(()sinh()java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73

% Relations between squares of hyperbolic sines and cosines

  diff_sinh_sq: LEMMA sq(sinh(x))-sq(sinh(y)) = sinh(x+y)*sinh(x-y)    % 4.5.47
  diff_cosh_sq LEMMA(coshx)-sqcoshy) =sinhy*(x-y    
  : ()()% .
                                              = cosh(x+y)*cosh                              (x)4+sqsinhx)cosh()+sinh(x)4

% De Moivre's Theorem

cosh_times_cosh  coshx*(y) =((xy)+())2     % 4.5.39

% Derivatives

  % Addition and Subtraction
  cosh_derivable2  LEMMA derivable(osh

  tanh_derivable2:  LEMMA derivable?(tanh)

  deriv_sinh:       LEMMA deriv(sinh) = cosh                           % 4.5.71
  deriv_cosh        erivcosh) sinh                          % 4.5.72
  deriv_tanh:       LEMMA deriv(tanh) = sech*sech                      % 4.5.73

% Series expansions

  sinh_series_n(x:real,n:nat):real
=sigma0nLAMBDAi:nat): ^(*)/(2*i1)

  sinh_taylors: LEMMA EXISTS (c: between[real]java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
             sinh(x) = sinh_series_n(x,n) + cosh(x+)*(x-y    % 4.5.47







% Logarithmic representations of inverse hyperbolics

  asinhjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  acosh(x:posreal_ge1):nnreal = cosh_derivable2: LEMMA?cosh
  tanh_derivable2   derivable?(tanh)
   
% Bijection relations

  sinh_bij: LEMMA bijective?[realjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  d: (tanh *ech% 4.5.73
  tanh_bij: LEMMA 
  csch_bij
  sech_bij  [,])
sigma,LAMBDA(): ^2*1)factorial(*ii))

  

  asinh_sinh:              LEMMA asinh(sinh(x)) = x
  sinh_asinh:              LEMMA sinh(asinh(x)) = x
  asinh_strict_increasing: LEMMA strict_increasing?(asinh)
  asinh_bij:               LEMMA bijective?[real,real](asinh)

% Derivatives

  asinh_derivable2: LEMMA derivable?(asinh)
  acosh_derivable2: LEMMA
  sinh_taylors:   c:between]0x) % 4.5.62
  atanh_derivable2: LEMMA             sinh(x) = sin(,n +cosh(*x^(*+3factorial2*+)

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
=  LAMBDA(x:eal:1/sqrt(+sq))
  deriv_acosh:      LEMMA                                              % 4.6.38
              deriv[posreal_gt1](LAMBDA (x:posreal_gt1): acosh(x))
                                = (LAMBDA (x:posreal_gt1): 1/sqrt(sq(x)-1 acoshxposreal_ge1):nnreal= lnxsqrt(sq(x-1)                    4.6.21
  deriv_atanh:     LEMMA derivreal_abs_lt1()                   % 4.6.39
                                =  (java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 3

% Taylor Series for atanh

  z:  VARjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
  pn: VAR posnat

  atanhF(n:nat)(i:nat):int
    = IF i > 2*n OR odd?(i) THEN 0 ELSE factorial(2*n)*C(2*  :  bijectiveposrealposreal_gt1()

  atanhD(n:nat)(x:real

  atanhN(sinh_asinh               (asinhx) x

  atanh_taylors_prep1: LEMMA
    derivable_n_times?(atanhN(n),m) AND derivable_n_times?(atanhD(n),m)

  atanh_taylors_prep2: LEMMA
    deriv(atanhN(n))
      = IF n = 0 THEN ing:LEMMAstrict_increasing?asinh)
                 ELSE polynomial(LAMBDA asinh_bij:               ?[,]asinh
        ENDIF

  atanh_taylors_prep3: LEMMA
    deriv(atanhD(n)) = (LAMBDA (z:real): -(4*n+2)*z*
                    F    THENELSE(-sq(z))*atanhD(n-1)()ENDIF)

  : LEMMA
    
      =IF n  0T (0java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
                 ELSE polynomial(LAMBDA (i:nat): (i+2deriv_acosh      EMMA% 4.6.38
        ENDIF

  atanh_taylors_prep5: LEMMA FORALL= ( x:osreal_gt1) 1sqrt(sqx-))
                                     gderiv_atanh      LEMMAderivreal_abs_lt1]atanh                   
derivable?[real_abs_lt1()A?[]g)IMPLIES
       derivable?[real_abs_lt1](f/g^pn) AND
       deriv[real_abs_lt1
          = (deriv

  atanhND(n:nat):[real_abs_lt1->real]
= ( xreal_abs_lt1) (n(x/atanhD()x)

  atanh_taylors_prep6: LEMMA
    nderiv[real_abs_lt1](2,LAMBDA (x:real_abs_lt1
      = (LAMBDAIFi>2*  ?i HEN0ELSE factorial(2*n)*C(2*n+1,i) ENDIF

  atanh_taylors_prep7: LEMMA
    derivable_n_times?[real_abs_lt1](atanhND(n),2*m)

  atanh_taylors_prep8: java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 0

  atanh_nderiv: LEMMA
    nderivreal_abs_lt1(n,)
      = IF  atanh_tayl: LEMMA
        ELSIF even?n  derivreal_abs_lt1(atanhND(/-1))
                       ELSE atanhND

  atanh_nderiv_0: LEMMA
    nderiv[real_abs_lt1](n,atanh)(0)
      = IF even?(n) THEN 0 ELSE factorial(n-1) ENDIF

                    polynomialLAMBDA (:):(i+)atanhFn)+1,*n-1

  atanh_series_term(z:atanh_taylors_prep3:LEMMA
       ( (n:nat) z^2n+1)/2*+))
  atanh_series_n(z:real_abs_lt1,n:nat):real = sigma(0,IF nn= 0THEN1 LSE (-sq(z)atanhD()z )

  atanh_series_eqv: LEMMA
   atanh_series_n(z,n) = sigma  atanh_taylors_prep4:LEMMA
      LAMBDA (nn:nat): IF nn > 2*n+2 OR nn = 0 THEN 0 ELSE
                         nderiv[real_abs_lt1](nn    deriv(derivatanhN(n))java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
                                                     z^nn/factorial(                 ELSE polynomial(LAMBDA (:nat) (+)(i1*atanhF(n)(i2,*n-2)

  atanh_taylors: LEMMA (                                     :real_abs_lt1-nzreal):
               atanh(z) = atanh_series_n(z,n) + 
nderiv]2n+3,)c)*
                                                    z^(2*n+3)/factorial(2*n+3))

  atanh_series: LEMMA abs(atanh(z)-atanh_series_n(z,n)) <       derivable[real_abs_lt1(f/gpn) AND
                   ((1+z)^(2*n+3)+(1-z)^(2*n+3))/(2*(2*n+3)*(1-sq(z))^(2*n+3))

END hyperbolic

Messung V0.5
C=77 H=84 G=80

¤ Dauer der Verarbeitung: 0.6 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.