src/Tools/isac/Knowledge/LogExp.ML
branchisac-update-Isa09-2
changeset 37947 22235e4dbe5f
parent 37926 e6fc98fbcb85
child 37952 9ddd1000b900
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/src/Tools/isac/Knowledge/LogExp.ML	Wed Aug 25 16:20:07 2010 +0200
     1.3 @@ -0,0 +1,39 @@
     1.4 +(* all outcommented in order to demonstrate authoring:
     1.5 +   WN071203
     1.6 +*)
     1.7 +
     1.8 +(** interface isabelle -- isac **)
     1.9 +theory' := overwritel (!theory', [("LogExp.thy",LogExp.thy)]);
    1.10 +
    1.11 +(*--------------------------------------------------*)
    1.12 +
    1.13 +(** problems **)
    1.14 +store_pbt
    1.15 + (prep_pbt LogExp.thy "pbl_test_equ_univ_log" [] e_pblID
    1.16 + (["logarithmic","univariate","equation"],
    1.17 +  [("#Given",["equality e_","solveFor v_"]),
    1.18 +   ("#Where",["matches ((?a log ?v_) = ?b) e_"]),
    1.19 +   ("#Find" ,["solutions v_i_"]),
    1.20 +   ("#With" ,["||(lhs (Subst (v_i_,v_) e_) - \
    1.21 +	      \  (rhs (Subst (v_i_,v_) e_) || < eps)"])
    1.22 +   ],
    1.23 +  PolyEq_prls, SOME "solve (e_::bool, v_)",
    1.24 +  [["Equation","solve_log"]]));
    1.25 +
    1.26 +(** methods **)
    1.27 +store_met
    1.28 + (prep_met LogExp.thy "met_equ_log" [] e_metID
    1.29 + (["Equation","solve_log"],
    1.30 +  [("#Given" ,["equality e_","solveFor v_"]),
    1.31 +   ("#Where" ,["matches ((?a log ?v_) = ?b) e_"]),
    1.32 +   ("#Find"  ,["solutions v_i_"])
    1.33 +  ],
    1.34 +   {rew_ord'="termlessI",rls'=PolyEq_erls,srls=e_rls,prls=PolyEq_prls,
    1.35 +    calc=[],crls=PolyEq_crls, nrls=norm_Rational},
    1.36 +    "Script Solve_log (e_::bool) (v_::real) =     \
    1.37 +    \(let e_ = ((Rewrite equality_power False) @@ \
    1.38 +    \           (Rewrite exp_invers_log False) @@ \
    1.39 +    \           (Rewrite_Set norm_Poly False)) e_ \
    1.40 +    \ in [e_])"
    1.41 +   ));
    1.42 +(*--------------------------------------------------*)