trig_approx: THEORY %----------------------------------------------------------------------------- % trig_approx % ----------- % - taylor series approximations to trig functions: % sin_approx(a,n): sum first n terms of taylor expansion of sin % cos_approx(a,n): sum first n terms of taylor expansion of cos % - defines upper and lower bounds on trig functions: % % Version 2 Foundational (DRL) 4/4/05 % % CHANGES % - Redefined sin_lb,sin_ub,cos_lb,cos_ub,tan_lb,tan_ub to make it % suitable for interval theory. % - Removed lemmas SIN,COS,TAN. Use sin_bound_0_pi, cos_bound_npi2_pi2, % tan_bound_0_pi2. Cesar Munoz (Nov 28 2003). % - Added Hanne Gottliebsen's proofs for sin_bound_npi_0 and % cos_bound_npi_pi. % Cesar Munoz (Feb 6 2004). % - Tan approximations moved to tan_approx due to circularity problems with % trig_ineq. Cear Munoz (Feb 6 2004) % - The theory has been completely revisited by David Lester (4/4/05) % %-----------------------------------------------------------------------------
sin_term_nonzero : LEMMA sin_term(a)(n) /= 0 IFF a /= 0
sin_term_zero : LEMMA sin_term(a)(n) = 0 IFF a = 0
sin_term_gt0 : LEMMA sin_term(a)(n) > 0 IFF
((even?(n) AND a > 0) OR (odd?(n) AND a < 0))
sin_term_lt0 : LEMMA sin_term(a)(n) < 0 IFF
((even?(n) AND a < 0) OR (odd?(n) AND a > 0))
sin_tends_to_0 : LEMMA tends_to_0?(sin_term(a))
cos_term(a)(n): real = IF n=0 THEN 1 ELSE (-1)^n*a^(2*n)/factorial(2*n) ENDIF
cos_approx_deriv: LEMMA derivable?[real](LAMBDA a: cos_approx(a,n)) AND
deriv[real](LAMBDA a: cos_approx(a,n)) =
(LAMBDA a: IF n = 0 THEN 0 ELSE -sin_approx(a,n-1) ENDIF)
sin_ub(a,n):real = IF a < 0 THEN sin_approx(a,2*n+1) ELSE sin_approx(a,2*n) ENDIF
sin_lb(a,n):real = IF a < 0 THEN sin_approx(a,2*n) ELSE sin_approx(a,2*n+1) ENDIF
cos_lb_deriv: LEMMA derivable?[real](LAMBDA a: cos_lb(a,n)) AND
deriv[real](LAMBDA a: cos_lb(a,n))
= (LAMBDA a: IF a < 0 THEN -sin_lb(a,n) ELSE -sin_ub(a,n) ENDIF)
cos_ub_deriv: LEMMA derivable?[real](LAMBDA a: cos_ub(a,n)) AND
deriv[real](LAMBDA a: cos_ub(a,n))
= (LAMBDA a: IF n = 0 THEN 0 ELSIF
a < 0 THEN -sin_ub(a,n-1) ELSE -sin_lb(a,n-1) ENDIF)
cos_lb_nn_strict_decreasing: LEMMA strict_decreasing?(LAMBDA (x:{x:nnreal| x <= pi}): cos_lb(x,n))
cos_lb_np_strict_increasing: LEMMA strict_increasing?(LAMBDA (x:{x:npreal| x >= -pi}): cos_lb(x,n))
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 ist noch experimentell.