src/Tools/isac/IsacKnowledge/Rational.thy
branchisac-update-Isa09-2
changeset 37947 22235e4dbe5f
parent 37946 a28b5fc129b7
child 37948 ed85f172569c
     1.1 --- a/src/Tools/isac/IsacKnowledge/Rational.thy	Wed Aug 25 15:15:01 2010 +0200
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,76 +0,0 @@
     1.4 -(* rationals, i.e. fractions of multivariate polynomials over the real field
     1.5 -   author: isac team
     1.6 -   Copyright (c) isac team 2002
     1.7 -   Use is subject to license terms.
     1.8 -
     1.9 -   depends on Poly (and not on Atools), because 
    1.10 -   fractions with _normalized_ polynomials are canceled, added, etc.
    1.11 -
    1.12 -   use_thy_only"IsacKnowledge/Rational";
    1.13 -   use_thy"../IsacKnowledge/Rational";
    1.14 -   use_thy"IsacKnowledge/Rational";
    1.15 -
    1.16 -   remove_thy"Rational";
    1.17 -   use_thy"IsacKnowledge/Isac";
    1.18 -   use_thy_only"IsacKnowledge/Rational";
    1.19 -
    1.20 -*)
    1.21 -
    1.22 -Rational = Poly +
    1.23 -
    1.24 -consts
    1.25 -
    1.26 -  is'_expanded   :: "real => bool" ("_ is'_expanded")     (*RL->Poly.thy*)
    1.27 -  is'_ratpolyexp :: "real => bool" ("_ is'_ratpolyexp") 
    1.28 -
    1.29 -rules (*.not contained in Isabelle2002,
    1.30 -         stated as axioms, TODO: prove as theorems*)
    1.31 -
    1.32 -  mult_cross   "[| b ~= 0; d ~= 0 |] ==> (a / b = c / d) = (a * d = b * c)"
    1.33 -  mult_cross1  "   b ~= 0            ==> (a / b = c    ) = (a     = b * c)"
    1.34 -  mult_cross2  "           d ~= 0    ==> (a     = c / d) = (a * d =     c)"
    1.35 -
    1.36 -  add_minus  "a + b - b = a"(*RL->Poly.thy*)
    1.37 -  add_minus1 "a - b + b = a"(*RL->Poly.thy*)
    1.38 -
    1.39 -  rat_mult                "a / b * (c / d) = a * c / (b * d)"(*?Isa02*) 
    1.40 -  rat_mult2               "a / b *  c      = a * c /  b     "(*?Isa02*)
    1.41 -
    1.42 -  rat_mult_poly_l         "c is_polyexp ==> c * (a / b) = c * a /  b"
    1.43 -  rat_mult_poly_r         "c is_polyexp ==> (a / b) * c = a * c /  b"
    1.44 -
    1.45 -(*real_times_divide1_eq .. Isa02*) 
    1.46 -  real_times_divide_1_eq  "-1    * (c / d) =-1 * c /      d "
    1.47 -  real_times_divide_num   "a is_const ==> \
    1.48 -	          	  \a     * (c / d) = a * c /      d "
    1.49 -
    1.50 -  real_mult_div_cancel2   "k ~= 0 ==> m * k / (n * k) = m / n"
    1.51 -(*real_mult_div_cancel1   "k ~= 0 ==> k * m / (k * n) = m / n"..Isa02*)
    1.52 -			  
    1.53 -  real_divide_divide1     "y ~= 0 ==> (u / v) / (y / z) = (u / v) * (z / y)"
    1.54 -  real_divide_divide1_mg  "y ~= 0 ==> (u / v) / (y / z) = (u * z) / (y * v)"
    1.55 -(*real_divide_divide2_eq  "x / y / z = x / (y * z)"..Isa02*)
    1.56 -			  
    1.57 -  rat_power               "(a / b)^^^n = (a^^^n) / (b^^^n)"
    1.58 -
    1.59 -
    1.60 -  rat_add         "[| a is_const; b is_const; c is_const; d is_const |] ==> \
    1.61 -	          \a / c + b / d = (a * d + b * c) / (c * d)"
    1.62 -  rat_add_assoc   "[| a is_const; b is_const; c is_const; d is_const |] ==> \
    1.63 -	          \a / c +(b / d + e) = (a * d + b * c)/(d * c) + e"
    1.64 -  rat_add1        "[| a is_const; b is_const; c is_const |] ==> \
    1.65 -	          \a / c + b / c = (a + b) / c"
    1.66 -  rat_add1_assoc   "[| a is_const; b is_const; c is_const |] ==> \
    1.67 -	          \a / c + (b / c + e) = (a + b) / c + e"
    1.68 -  rat_add2        "[| a is_const; b is_const; c is_const |] ==> \
    1.69 -	          \a / c + b = (a + b * c) / c"
    1.70 -  rat_add2_assoc  "[| a is_const; b is_const; c is_const |] ==> \
    1.71 -	          \a / c + (b + e) = (a + b * c) / c + e"
    1.72 -  rat_add3        "[| a is_const; b is_const; c is_const |] ==> \
    1.73 -	          \a + b / c = (a * c + b) / c"
    1.74 -  rat_add3_assoc   "[| a is_const; b is_const; c is_const |] ==> \
    1.75 -	          \a + (b / c + e) = (a * c + b) / c + e"
    1.76 -
    1.77 -
    1.78 -
    1.79 -end