src/Tools/isac/Knowledge/DiffApp.sml
author Walther Neuper <neuper@ist.tugraz.at>
Wed, 08 Sep 2010 17:20:03 +0200
branchisac-update-Isa09-2
changeset 37994 eb4c556a525b
parent 37991 028442673981
child 37995 fac82f29f143
permissions -rw-r--r--
tuned

src/Knowledge + test/Knowledge:
find . -type f -exec sed -i s/"f_\""/"f_f\""/g {} \;
find . -type f -exec sed -i s/"f_,"/"f_f,"/g {} \;
find . -type f -exec sed -i s/"f_:"/"f_f:"/g {} \;
find . -type f -exec sed -i s/"f_'_"/"f_f'"/g {} \;
find . -type f -exec sed -i s/"eqs_"/"eqs"/g {} \;
find . -type f -exec sed -i s/"f'_ "/"f_f' "/g {} \;
find . -type f -exec sed -i s/"f'_)"/"f_f')"/g {} \;
neuper@37906
     1
(* = DiffAppl.ML
neuper@37906
     2
   +++ outcommented tests
neuper@37906
     3
*)
neuper@37906
     4
neuper@37906
     5
neuper@37991
     6
theory' := overwritel (!theory', [("DiffAppl",DiffAppl.thy)]);
neuper@37906
     7
neuper@37906
     8
(* 
neuper@37991
     9
> get_pbt ["DiffAppl","maximum_of","function"];
neuper@37991
    10
> get_met ("Script","max_on_interval_by_calculus");
neuper@37906
    11
> !pbltypes;
neuper@37906
    12
  *)
neuper@37906
    13
pbltypes:= overwritel (!pbltypes,
neuper@37906
    14
[
neuper@37906
    15
 prep_pbt DiffAppl.thy
neuper@37991
    16
 (["DiffAppl","maximum_of","function"],
neuper@37906
    17
  [("#Given" ,"fixedValues fix_"),
neuper@37906
    18
   ("#Find"  ,"maximum m_"),
neuper@37906
    19
   ("#Find"  ,"valuesFor vs_"),
neuper@37906
    20
   ("#Relate","relations rs_")  (*,
neuper@37906
    21
   ("#where" ,"foldl (op&) True (map (Not o ((op<=) #0) o Rhs) fix_)"),
neuper@37906
    22
   ("#with"  ,"Ex_frees ((foldl (op &) True rs_) &  \
neuper@37906
    23
    \ (ALL m'. (subst (m_,m') (foldl (op &) True rs_) \
neuper@37906
    24
    \            --> m' <= m_)))")    *)
neuper@37906
    25
  ]),
neuper@37906
    26
neuper@37906
    27
 prep_pbt DiffAppl.thy
neuper@37991
    28
 (["DiffAppl","make","function"]:pblID,
neuper@37994
    29
  [("#Given" ,"functionOf f_f"),
neuper@37981
    30
   ("#Given" ,"boundVariable v_v"),
neuper@37994
    31
   ("#Given" ,"equalities eqs"),
neuper@37906
    32
   ("#Find"  ,"functionTerm f_0_")
neuper@37906
    33
  ]),
neuper@37906
    34
neuper@37906
    35
 prep_pbt DiffAppl.thy
neuper@37991
    36
 (["DiffAppl","on_interval","maximum_of","function"]:pblID,
neuper@37906
    37
  [("#Given" ,"functionTerm t_"),
neuper@37981
    38
   ("#Given" ,"boundVariable v_v"),
neuper@37906
    39
   ("#Given" ,"interval itv_"),
neuper@37906
    40
   ("#Find"  ,"maxArgument v_0_")
neuper@37906
    41
  ]),
neuper@37906
    42
neuper@37906
    43
 prep_pbt DiffAppl.thy
neuper@37991
    44
 (["DiffAppl","find_values","tool"]:pblID,
neuper@37906
    45
  [("#Given" ,"maxArgument ma_"),
neuper@37994
    46
   ("#Given" ,"functionTerm f_f"),
neuper@37981
    47
   ("#Given" ,"boundVariable v_v"),
neuper@37906
    48
   ("#Find"  ,"valuesFor vls_"),
neuper@37906
    49
   ("#Relate","additionalRels rs_")
neuper@37906
    50
  ])
neuper@37906
    51
]);
neuper@37906
    52
neuper@37906
    53
neuper@37906
    54
methods:= overwritel (!methods,
neuper@37906
    55
[
neuper@37991
    56
 (("DiffAppl","max_by_calculus"):metID,
neuper@37906
    57
  {ppc = prep_met DiffAppl.thy
neuper@37906
    58
   [("#Given" ,"fixedValues fix_"),
neuper@37981
    59
    ("#Given" ,"boundVariable v_v"),
neuper@37906
    60
    ("#Given" ,"interval itv_"),
neuper@37906
    61
    ("#Given" ,"errorBound err_"),
neuper@37906
    62
    ("#Find"  ,"maximum m_"),
neuper@37906
    63
    ("#Find"  ,"valuesFor vs_"),
neuper@37906
    64
    ("#Relate","relations rs_")
neuper@37906
    65
    ],
neuper@37906
    66
   rew_ord'="tless_true",rls'="eval_rls",asm_rls=[],asm_thm=[],
neuper@37906
    67
   scr=EmptyScr} : met),
neuper@37906
    68
neuper@37991
    69
 (("DiffAppl","make_fun_by_new_variable"):metID,
neuper@37906
    70
  {ppc = prep_met DiffAppl.thy
neuper@37994
    71
   [("#Given" ,"functionOf f_f"),
neuper@37981
    72
    ("#Given" ,"boundVariable v_v"),
neuper@37994
    73
    ("#Given" ,"equalities eqs"),
neuper@37906
    74
    ("#Find"  ,"functionTerm f_0_")
neuper@37906
    75
    ],
neuper@37906
    76
   rew_ord'="tless_true",rls'="eval_rls",asm_rls=[],asm_thm=[],
neuper@37906
    77
   scr=EmptyScr} : met),
neuper@37906
    78
neuper@37991
    79
 (("DiffAppl","make_fun_by_explicit"):metID,
neuper@37906
    80
  {ppc = prep_met DiffAppl.thy
neuper@37994
    81
   [("#Given" ,"functionOf f_f"),
neuper@37981
    82
    ("#Given" ,"boundVariable v_v"),
neuper@37994
    83
    ("#Given" ,"equalities eqs"),
neuper@37906
    84
    ("#Find"  ,"functionTerm f_0_")
neuper@37906
    85
    ],
neuper@37906
    86
   rew_ord'="tless_true",rls'="eval_rls",asm_rls=[],asm_thm=[],
neuper@37906
    87
   scr=EmptyScr} : met),
neuper@37906
    88
  
neuper@37991
    89
 (("DiffAppl","max_on_interval_by_calculus"):metID,
neuper@37906
    90
  {ppc = prep_met DiffAppl.thy
neuper@37906
    91
   [("#Given" ,"functionTerm t_"),
neuper@37981
    92
    ("#Given" ,"boundVariable v_v"),
neuper@37906
    93
    ("#Given" ,"interval itv_"),
neuper@37906
    94
    ("#Given" ,"errorBound err_"),
neuper@37906
    95
    ("#Find"  ,"maxArgument v_0_")
neuper@37906
    96
    ],
neuper@37906
    97
   rew_ord'="tless_true",rls'="eval_rls",asm_rls=[],asm_thm=[],
neuper@37906
    98
   scr=EmptyScr} : met),
neuper@37906
    99
neuper@37991
   100
 (("DiffAppl","find_values"):metID,
neuper@37906
   101
  {ppc = prep_met DiffAppl.thy
neuper@37906
   102
   [],
neuper@37906
   103
   rew_ord'="tless_true",rls'="eval_rls",asm_rls=[],asm_thm=[],
neuper@37906
   104
   scr=EmptyScr} : met)
neuper@37906
   105
]);