neuper@37906: (*.c) by Richard Lang, 2003 .*) neuper@37906: (* collecting all knowledge for Root and Rational Equations neuper@37906: created by: rlang neuper@37906: date: 02.10 neuper@37906: changed by: rlang neuper@37906: last change by: rlang neuper@37906: date: 02.11.04 neuper@37906: *) neuper@37906: neuper@37906: (* use"knowledge/RootRatEq.ML"; neuper@37906: use"RootRatEq.ML"; neuper@37906: neuper@37906: use"ROOT.ML"; neuper@37906: cd"knowledge"; neuper@37906: neuper@37906: remove_thy"RootRatEq"; neuper@37906: use_thy"Isac"; neuper@37906: *) neuper@37906: neuper@37906: RootRatEq = RootEq + RatEq + RootRat + neuper@37906: neuper@37906: (*-------------------- consts-----------------------------------------------*) neuper@37906: consts neuper@37906: neuper@37906: is'_rootRatAddTerm'_in :: [real, real] => bool ("_ is'_rootRatAddTerm'_in _") (*RL DA*) neuper@37906: neuper@37906: (*---------scripts--------------------------*) neuper@37906: Elim'_rootrat'_equation neuper@37906: :: "[bool,real, \ neuper@37906: \ bool list] => bool list" neuper@37906: ("((Script Elim'_rootrat'_equation (_ _ =))// \ neuper@37906: \ (_))" 9) neuper@37906: (*-------------------- rules------------------------------------------------*) neuper@37906: rules neuper@37906: neuper@37906: (* eliminate ratRootTerm *) neuper@37906: rootrat_equation_left_1 neuper@37906: "[|c is_rootTerm_in bdv|] ==> ( (a + b/c = d) = ( b = (d - a) * c ))" neuper@37906: rootrat_equation_left_2 neuper@37906: "[|c is_rootTerm_in bdv|] ==> ( (b/c = d) = ( b = d * c ))" neuper@37906: rootrat_equation_right_2 neuper@37906: "[|f is_rootTerm_in bdv|] ==> ( (a = d + e/f) = ( (a - d) * f = e ))" neuper@37906: rootrat_equation_right_1 neuper@37906: "[|f is_rootTerm_in bdv|] ==> ( (a = e/f) = ( a * f = e ))" neuper@37906: neuper@37906: neuper@37906: neuper@37906: end