author | Walther Neuper <neuper@ist.tugraz.at> |
Wed, 25 Aug 2010 16:20:07 +0200 | |
branch | isac-update-Isa09-2 |
changeset 37947 | 22235e4dbe5f |
parent 37906 | src/Tools/isac/IsacKnowledge/Root.thy@e2b23ba9df13 |
child 37950 | 525a28152a67 |
permissions | -rw-r--r-- |
neuper@37906 | 1 |
(* theory collecting all knowledge for Root |
neuper@37906 | 2 |
created by: |
neuper@37906 | 3 |
date: |
neuper@37906 | 4 |
changed by: rlang |
neuper@37906 | 5 |
last change by: rlang |
neuper@37906 | 6 |
date: 02.10.21 |
neuper@37906 | 7 |
*) |
neuper@37906 | 8 |
|
neuper@37947 | 9 |
(* use_thy_only"Knowledge/Root"; |
neuper@37906 | 10 |
remove_thy"Root"; |
neuper@37947 | 11 |
use_thy"Knowledge/Isac"; |
neuper@37906 | 12 |
*) |
neuper@37906 | 13 |
Root = Simplify + |
neuper@37906 | 14 |
|
neuper@37906 | 15 |
(*-------------------- consts------------------------------------------------*) |
neuper@37906 | 16 |
consts |
neuper@37906 | 17 |
|
neuper@37906 | 18 |
sqrt :: "real => real" (*"(sqrt _ )" [80] 80*) |
neuper@37906 | 19 |
nroot :: "[real, real] => real" |
neuper@37906 | 20 |
|
neuper@37906 | 21 |
(*----------------------scripts-----------------------*) |
neuper@37906 | 22 |
|
neuper@37906 | 23 |
(*-------------------- rules------------------------------------------------*) |
neuper@37906 | 24 |
rules (*.not contained in Isabelle2002, |
neuper@37906 | 25 |
stated as axioms, TODO: prove as theorems; |
neuper@37906 | 26 |
theorem-IDs 'xxxI' with ^^^ instead of ^ in 'xxx' in Isabelle2002.*) |
neuper@37906 | 27 |
|
neuper@37906 | 28 |
root_plus_minus "0 <= b ==> \ |
neuper@37906 | 29 |
\(a^^^2 = b) = ((a = sqrt b) | (a = (-1)*sqrt b))" |
neuper@37906 | 30 |
root_false "b < 0 ==> (a^^^2 = b) = False" |
neuper@37906 | 31 |
|
neuper@37906 | 32 |
(* for expand_rootbinom *) |
neuper@37906 | 33 |
real_pp_binom_times "(a + b)*(c + d) = a*c + a*d + b*c + b*d" |
neuper@37906 | 34 |
real_pm_binom_times "(a + b)*(c - d) = a*c - a*d + b*c - b*d" |
neuper@37906 | 35 |
real_mp_binom_times "(a - b)*(c + d) = a*c + a*d - b*c - b*d" |
neuper@37906 | 36 |
real_mm_binom_times "(a - b)*(c - d) = a*c - a*d - b*c + b*d" |
neuper@37906 | 37 |
real_plus_binom_pow3 "(a + b)^^^3 = a^^^3 + 3*a^^^2*b + 3*a*b^^^2 + b^^^3" |
neuper@37906 | 38 |
real_minus_binom_pow3 "(a - b)^^^3 = a^^^3 - 3*a^^^2*b + 3*a*b^^^2 - b^^^3" |
neuper@37906 | 39 |
realpow_mul "(a*b)^^^n = a^^^n * b^^^n" |
neuper@37906 | 40 |
|
neuper@37906 | 41 |
real_diff_minus "a - b = a + (-1) * b" |
neuper@37906 | 42 |
real_plus_binom_times "(a + b)*(a + b) = a^^^2 + 2*a*b + b^^^2" |
neuper@37906 | 43 |
real_minus_binom_times "(a - b)*(a - b) = a^^^2 - 2*a*b + b^^^2" |
neuper@37906 | 44 |
real_plus_binom_pow2 "(a + b)^^^2 = a^^^2 + 2*a*b + b^^^2" |
neuper@37906 | 45 |
real_minus_binom_pow2 "(a - b)^^^2 = a^^^2 - 2*a*b + b^^^2" |
neuper@37906 | 46 |
real_plus_minus_binom1 "(a + b)*(a - b) = a^^^2 - b^^^2" |
neuper@37906 | 47 |
real_plus_minus_binom2 "(a - b)*(a + b) = a^^^2 - b^^^2" |
neuper@37906 | 48 |
|
neuper@37906 | 49 |
real_root_positive "0 <= a ==> (x ^^^ 2 = a) = (x = sqrt a)" |
neuper@37906 | 50 |
real_root_negative "a < 0 ==> (x ^^^ 2 = a) = False" |
neuper@37906 | 51 |
|
neuper@37906 | 52 |
|
neuper@37906 | 53 |
end |