src/Tools/isac/Knowledge/LogExp.ML
author Walther Neuper <neuper@ist.tugraz.at>
Fri, 27 Aug 2010 10:28:44 +0200
branchisac-update-Isa09-2
changeset 37952 9ddd1000b900
parent 37947 22235e4dbe5f
permissions -rw-r--r--
updated remaining *.ML files attached to *.thy

# '\' ---> '"' | '" ^'
# *.thy ---> (theory "*")
...THIS IS STILL MISSING FOR THE PREVIOUS *.ML
# linwidth 80
# deleted most out-commented stuff
neuper@37906
     1
(* all outcommented in order to demonstrate authoring:
neuper@37906
     2
   WN071203
neuper@37906
     3
*)
neuper@37906
     4
neuper@37906
     5
(** interface isabelle -- isac **)
neuper@37906
     6
theory' := overwritel (!theory', [("LogExp.thy",LogExp.thy)]);
neuper@37906
     7
neuper@37906
     8
(*--------------------------------------------------*)
neuper@37906
     9
neuper@37906
    10
(** problems **)
neuper@37906
    11
store_pbt
neuper@37952
    12
 (prep_pbt (theory "LogExp") "pbl_test_equ_univ_log" [] e_pblID
neuper@37906
    13
 (["logarithmic","univariate","equation"],
neuper@37906
    14
  [("#Given",["equality e_","solveFor v_"]),
neuper@37906
    15
   ("#Where",["matches ((?a log ?v_) = ?b) e_"]),
neuper@37906
    16
   ("#Find" ,["solutions v_i_"]),
neuper@37952
    17
   ("#With" ,["||(lhs (Subst (v_i_,v_) e_) - " ^
neuper@37952
    18
	      "  (rhs (Subst (v_i_,v_) e_) || < eps)"])
neuper@37906
    19
   ],
neuper@37926
    20
  PolyEq_prls, SOME "solve (e_::bool, v_)",
neuper@37906
    21
  [["Equation","solve_log"]]));
neuper@37906
    22
neuper@37906
    23
(** methods **)
neuper@37906
    24
store_met
neuper@37952
    25
 (prep_met (theory "LogExp") "met_equ_log" [] e_metID
neuper@37906
    26
 (["Equation","solve_log"],
neuper@37906
    27
  [("#Given" ,["equality e_","solveFor v_"]),
neuper@37906
    28
   ("#Where" ,["matches ((?a log ?v_) = ?b) e_"]),
neuper@37906
    29
   ("#Find"  ,["solutions v_i_"])
neuper@37906
    30
  ],
neuper@37906
    31
   {rew_ord'="termlessI",rls'=PolyEq_erls,srls=e_rls,prls=PolyEq_prls,
neuper@37906
    32
    calc=[],crls=PolyEq_crls, nrls=norm_Rational},
neuper@37952
    33
    "Script Solve_log (e_::bool) (v_::real) =     " ^
neuper@37952
    34
    "(let e_ = ((Rewrite equality_power False) @@ " ^
neuper@37952
    35
    "           (Rewrite exp_invers_log False) @@ " ^
neuper@37952
    36
    "           (Rewrite_Set norm_Poly False)) e_ " ^
neuper@37952
    37
    " in [e_])"
neuper@37906
    38
   ));
neuper@37906
    39
(*--------------------------------------------------*)