Fri, 01 Dec 2000 19:43:06 +0100 ignore quick_and_dirty for coind;
wenzelm [Fri, 01 Dec 2000 19:43:06 +0100] rev 10569
ignore quick_and_dirty for coind;
Fri, 01 Dec 2000 19:42:35 +0100 FreeUltrafilterNat ("\\<U>");
wenzelm [Fri, 01 Dec 2000 19:42:35 +0100] rev 10568
FreeUltrafilterNat ("\\<U>");
Fri, 01 Dec 2000 19:42:05 +0100 schematic goals;
wenzelm [Fri, 01 Dec 2000 19:42:05 +0100] rev 10567
schematic goals;
Fri, 01 Dec 2000 19:41:45 +0100 removed quick_and_dirty;
wenzelm [Fri, 01 Dec 2000 19:41:45 +0100] rev 10566
removed quick_and_dirty;
Fri, 01 Dec 2000 19:41:09 +0100 superscripts: syntax (latex);
wenzelm [Fri, 01 Dec 2000 19:41:09 +0100] rev 10565
superscripts: syntax (latex);
Fri, 01 Dec 2000 19:40:42 +0100 usedir: -m option;
wenzelm [Fri, 01 Dec 2000 19:40:42 +0100] rev 10564
usedir: -m option;
Fri, 01 Dec 2000 19:40:18 +0100 added \mathcal A-Z;
wenzelm [Fri, 01 Dec 2000 19:40:18 +0100] rev 10563
added \mathcal A-Z;
Fri, 01 Dec 2000 19:39:54 +0100 option -m;
wenzelm [Fri, 01 Dec 2000 19:39:54 +0100] rev 10562
option -m;
Fri, 01 Dec 2000 13:47:37 +0100 *** empty log message ***
nipkow [Fri, 01 Dec 2000 13:47:37 +0100] rev 10561
*** empty log message ***
Fri, 01 Dec 2000 12:15:47 +0100 *** empty log message ***
nipkow [Fri, 01 Dec 2000 12:15:47 +0100] rev 10560
*** empty log message ***
Fri, 01 Dec 2000 11:03:31 +0100 many new div and mod properties (borrowed from Integ/IntDiv)
paulson [Fri, 01 Dec 2000 11:03:31 +0100] rev 10559
many new div and mod properties (borrowed from Integ/IntDiv)
Fri, 01 Dec 2000 11:02:55 +0100 renamed less_eq_Suc_add to less_imp_Suc_add
paulson [Fri, 01 Dec 2000 11:02:55 +0100] rev 10558
renamed less_eq_Suc_add to less_imp_Suc_add
Thu, 30 Nov 2000 20:18:00 +0100 tuned;
wenzelm [Thu, 30 Nov 2000 20:18:00 +0100] rev 10557
tuned;
Thu, 30 Nov 2000 20:14:25 +0100 removed "./configure";
wenzelm [Thu, 30 Nov 2000 20:14:25 +0100] rev 10556
removed "./configure";
Thu, 30 Nov 2000 20:10:29 +0100 /usr/bin/env bash;
wenzelm [Thu, 30 Nov 2000 20:10:29 +0100] rev 10555
/usr/bin/env bash;
Thu, 30 Nov 2000 20:07:35 +0100 schematic props;
wenzelm [Thu, 30 Nov 2000 20:07:35 +0100] rev 10554
schematic props;
Thu, 30 Nov 2000 20:06:52 +0100 removed get_goal;
wenzelm [Thu, 30 Nov 2000 20:06:52 +0100] rev 10553
removed get_goal; suffer schematic (top-level) goals;
Thu, 30 Nov 2000 20:05:54 +0100 added is_replaced_dummy_pattern;
wenzelm [Thu, 30 Nov 2000 20:05:54 +0100] rev 10552
added is_replaced_dummy_pattern;
Thu, 30 Nov 2000 20:05:34 +0100 renamed "equivalence_class" to "class";
wenzelm [Thu, 30 Nov 2000 20:05:34 +0100] rev 10551
renamed "equivalence_class" to "class";
Thu, 30 Nov 2000 20:05:10 +0100 schematic goals;
wenzelm [Thu, 30 Nov 2000 20:05:10 +0100] rev 10550
schematic goals;
Thu, 30 Nov 2000 20:04:49 +0100 cases/induct: tuned handling of facts ('consumes');
wenzelm [Thu, 30 Nov 2000 20:04:49 +0100] rev 10549
cases/induct: tuned handling of facts ('consumes');
Thu, 30 Nov 2000 20:04:16 +0100 'consumes' att;
wenzelm [Thu, 30 Nov 2000 20:04:16 +0100] rev 10548
'consumes' att;
Thu, 30 Nov 2000 20:03:39 +0100 misc;
wenzelm [Thu, 30 Nov 2000 20:03:39 +0100] rev 10547
misc;
Thu, 30 Nov 2000 17:55:17 +0100 replaced Eps by SOME
paulson [Thu, 30 Nov 2000 17:55:17 +0100] rev 10546
replaced Eps by SOME
Thu, 30 Nov 2000 16:48:38 +0100 *** empty log message ***
nipkow [Thu, 30 Nov 2000 16:48:38 +0100] rev 10545
*** empty log message ***
Thu, 30 Nov 2000 14:10:23 +0100 some properties;
bauerg [Thu, 30 Nov 2000 14:10:23 +0100] rev 10544
some properties;
Thu, 30 Nov 2000 13:56:46 +0100 *** empty log message ***
nipkow [Thu, 30 Nov 2000 13:56:46 +0100] rev 10543
*** empty log message ***
Wed, 29 Nov 2000 18:42:40 +0100 resolveq_cases_tac moved here from Pure/Isar/method.ML;
wenzelm [Wed, 29 Nov 2000 18:42:40 +0100] rev 10542
resolveq_cases_tac moved here from Pure/Isar/method.ML; induct: proper handling of non-consumed facts;
Wed, 29 Nov 2000 18:41:43 +0100 resolveq(_cases)_tac moved to HOL/Tools/induct_method.ML;
wenzelm [Wed, 29 Nov 2000 18:41:43 +0100] rev 10541
resolveq(_cases)_tac moved to HOL/Tools/induct_method.ML;
Wed, 29 Nov 2000 17:24:20 +0100 expand_split_asm -> split_split_asm
nipkow [Wed, 29 Nov 2000 17:24:20 +0100] rev 10540
expand_split_asm -> split_split_asm
Wed, 29 Nov 2000 17:23:27 +0100 *** empty log message ***
nipkow [Wed, 29 Nov 2000 17:23:27 +0100] rev 10539
*** empty log message ***
Wed, 29 Nov 2000 13:44:26 +0100 *** empty log message ***
nipkow [Wed, 29 Nov 2000 13:44:26 +0100] rev 10538
*** empty log message ***
Wed, 29 Nov 2000 10:22:38 +0100 simproc for cancelling common factors around = < <= div /
paulson [Wed, 29 Nov 2000 10:22:38 +0100] rev 10537
simproc for cancelling common factors around = < <= div /
Wed, 29 Nov 2000 10:21:43 +0100 invoking CancelNumeralFactorFun
paulson [Wed, 29 Nov 2000 10:21:43 +0100] rev 10536
invoking CancelNumeralFactorFun
Wed, 29 Nov 2000 10:19:32 +0100 new simproc file cancel_numeral_factor.ML
paulson [Wed, 29 Nov 2000 10:19:32 +0100] rev 10535
new simproc file cancel_numeral_factor.ML
Tue, 28 Nov 2000 16:21:51 +0100 added a reference to {sec:products} for ordered pair reasoning
paulson [Tue, 28 Nov 2000 16:21:51 +0100] rev 10534
added a reference to {sec:products} for ordered pair reasoning
Tue, 28 Nov 2000 01:48:07 +0100 fixed hostname;
wenzelm [Tue, 28 Nov 2000 01:48:07 +0100] rev 10533
fixed hostname;
Tue, 28 Nov 2000 01:23:45 +0100 detect CVSROOT;
wenzelm [Tue, 28 Nov 2000 01:23:45 +0100] rev 10532
detect CVSROOT;
Tue, 28 Nov 2000 01:22:56 +0100 tuned;
wenzelm [Tue, 28 Nov 2000 01:22:56 +0100] rev 10531
tuned;
Tue, 28 Nov 2000 01:11:12 +0100 added consumes, consumes_default;
wenzelm [Tue, 28 Nov 2000 01:11:12 +0100] rev 10530
added consumes, consumes_default; added save; tuned;
Tue, 28 Nov 2000 01:10:37 +0100 resolveq_cases_tac: insert facts;
wenzelm [Tue, 28 Nov 2000 01:10:37 +0100] rev 10529
resolveq_cases_tac: insert facts;
Tue, 28 Nov 2000 01:10:22 +0100 added "consumes" attribute;
wenzelm [Tue, 28 Nov 2000 01:10:22 +0100] rev 10528
added "consumes" attribute;
Tue, 28 Nov 2000 01:09:40 +0100 consume facts;
wenzelm [Tue, 28 Nov 2000 01:09:40 +0100] rev 10527
consume facts;
Tue, 28 Nov 2000 01:09:13 +0100 consumes0/1;
wenzelm [Tue, 28 Nov 2000 01:09:13 +0100] rev 10526
consumes0/1;
Tue, 28 Nov 2000 01:08:50 +0100 RuleCases.save;
wenzelm [Tue, 28 Nov 2000 01:08:50 +0100] rev 10525
RuleCases.save;
Mon, 27 Nov 2000 16:40:56 +0100 *** empty log message ***
nipkow [Mon, 27 Nov 2000 16:40:56 +0100] rev 10524
*** empty log message ***
Mon, 27 Nov 2000 11:06:28 +0100 deleted unused result intrel_refl
paulson [Mon, 27 Nov 2000 11:06:28 +0100] rev 10523
deleted unused result intrel_refl
Mon, 27 Nov 2000 10:38:43 +0100 *** empty log message ***
nipkow [Mon, 27 Nov 2000 10:38:43 +0100] rev 10522
*** empty log message ***
Sun, 26 Nov 2000 11:37:49 +0100 *** empty log message ***
nipkow [Sun, 26 Nov 2000 11:37:49 +0100] rev 10521
*** empty log message ***
Sun, 26 Nov 2000 10:48:38 +0100 *** empty log message ***
nipkow [Sun, 26 Nov 2000 10:48:38 +0100] rev 10520
*** empty log message ***
Fri, 24 Nov 2000 16:49:27 +0100 hide many names from Datatype_Universe.
nipkow [Fri, 24 Nov 2000 16:49:27 +0100] rev 10519
hide many names from Datatype_Universe.
Fri, 24 Nov 2000 14:09:09 +0100 exception Interrupt = SML90.Interrupt;
wenzelm [Fri, 24 Nov 2000 14:09:09 +0100] rev 10518
exception Interrupt = SML90.Interrupt;
Fri, 24 Nov 2000 11:07:38 +0100 added exception Interrupt for use in function Library/try
paulson [Fri, 24 Nov 2000 11:07:38 +0100] rev 10517
added exception Interrupt for use in function Library/try
Thu, 23 Nov 2000 21:33:14 +0100 arith_tac: atomize;
wenzelm [Thu, 23 Nov 2000 21:33:14 +0100] rev 10516
arith_tac: atomize;
Thu, 23 Nov 2000 21:29:50 +0100 standard: close_derivation;
wenzelm [Thu, 23 Nov 2000 21:29:50 +0100] rev 10515
standard: close_derivation;
Thu, 23 Nov 2000 21:29:35 +0100 * HOL: syntax or "abs";
wenzelm [Thu, 23 Nov 2000 21:29:35 +0100] rev 10514
* HOL: syntax or "abs";
Thu, 23 Nov 2000 16:25:08 +0100 *** empty log message ***
nipkow [Thu, 23 Nov 2000 16:25:08 +0100] rev 10513
*** empty log message ***
Wed, 22 Nov 2000 21:47:04 +0100 tuned;
wenzelm [Wed, 22 Nov 2000 21:47:04 +0100] rev 10512
tuned;
Wed, 22 Nov 2000 21:41:39 +0100 tuned;
wenzelm [Wed, 22 Nov 2000 21:41:39 +0100] rev 10511
tuned;
Wed, 22 Nov 2000 21:38:26 +0100 *** empty log message ***
wenzelm [Wed, 22 Nov 2000 21:38:26 +0100] rev 10510
*** empty log message ***
Wed, 22 Nov 2000 13:16:55 +0100 *** empty log message ***
nipkow [Wed, 22 Nov 2000 13:16:55 +0100] rev 10509
*** empty log message ***
Tue, 21 Nov 2000 19:04:59 +0100 tag result with name reference to final binding (basically just a comment);
wenzelm [Tue, 21 Nov 2000 19:04:59 +0100] rev 10508
tag result with name reference to final binding (basically just a comment);
Tue, 21 Nov 2000 19:04:03 +0100 Tactic.distinct_subgoals_tac moved to internal intro_classes_tac;
wenzelm [Tue, 21 Nov 2000 19:04:03 +0100] rev 10507
Tactic.distinct_subgoals_tac moved to internal intro_classes_tac;
Tue, 21 Nov 2000 19:03:27 +0100 replace \<dots>;
wenzelm [Tue, 21 Nov 2000 19:03:27 +0100] rev 10506
replace \<dots>;
Tue, 21 Nov 2000 19:03:06 +0100 unsymbolize;
wenzelm [Tue, 21 Nov 2000 19:03:06 +0100] rev 10505
unsymbolize;
Tue, 21 Nov 2000 19:02:31 +0100 quote executable;
wenzelm [Tue, 21 Nov 2000 19:02:31 +0100] rev 10504
quote executable;
Tue, 21 Nov 2000 19:02:07 +0100 tuned;
wenzelm [Tue, 21 Nov 2000 19:02:07 +0100] rev 10503
tuned;
Tue, 21 Nov 2000 16:25:32 +0100 ;
bauerg [Tue, 21 Nov 2000 16:25:32 +0100] rev 10502
;
Tue, 21 Nov 2000 13:48:47 +0100 adjusted for BV changes (Ok -> OK)
kleing [Tue, 21 Nov 2000 13:48:47 +0100] rev 10501
adjusted for BV changes (Ok -> OK)
Tue, 21 Nov 2000 13:28:23 +0100 thebibliography environment: replaced the Springer version by the standard one
paulson [Tue, 21 Nov 2000 13:28:23 +0100] rev 10500
thebibliography environment: replaced the Springer version by the standard one in book.cls
Tue, 21 Nov 2000 11:31:45 +0100 alternative function definition;
bauerg [Tue, 21 Nov 2000 11:31:45 +0100] rev 10499
alternative function definition;
Tue, 21 Nov 2000 10:37:04 +0100 *** empty log message ***
nipkow [Tue, 21 Nov 2000 10:37:04 +0100] rev 10498
*** empty log message ***
Mon, 20 Nov 2000 16:41:25 +0100 BCV integration (type system is semilattice)
kleing [Mon, 20 Nov 2000 16:41:25 +0100] rev 10497
BCV integration (type system is semilattice)
Mon, 20 Nov 2000 16:37:42 +0100 BCV integration (first step)
kleing [Mon, 20 Nov 2000 16:37:42 +0100] rev 10496
BCV integration (first step)
Sat, 18 Nov 2000 19:48:34 +0100 export freeze_thaw_type;
wenzelm [Sat, 18 Nov 2000 19:48:34 +0100] rev 10495
export freeze_thaw_type;
Sat, 18 Nov 2000 19:48:07 +0100 improved messages;
wenzelm [Sat, 18 Nov 2000 19:48:07 +0100] rev 10494
improved messages;
Sat, 18 Nov 2000 19:47:36 +0100 default_intro_classes_tac: Tactic.distinct_subgoals_tac;
wenzelm [Sat, 18 Nov 2000 19:47:36 +0100] rev 10493
default_intro_classes_tac: Tactic.distinct_subgoals_tac;
Sat, 18 Nov 2000 19:47:12 +0100 axclass ordered_ring;
wenzelm [Sat, 18 Nov 2000 19:47:12 +0100] rev 10492
axclass ordered_ring; instance int :: ordered_ring;
Sat, 18 Nov 2000 19:46:48 +0100 quot_cond_function: simplified, support conditional definition;
wenzelm [Sat, 18 Nov 2000 19:46:48 +0100] rev 10491
quot_cond_function: simplified, support conditional definition;
Sat, 18 Nov 2000 19:45:37 +0100 abs_eq_0: #0 instead of 0;
wenzelm [Sat, 18 Nov 2000 19:45:37 +0100] rev 10490
abs_eq_0: #0 instead of 0;
Sat, 18 Nov 2000 19:45:05 +0100 symbol syntax for "abs";
wenzelm [Sat, 18 Nov 2000 19:45:05 +0100] rev 10489
symbol syntax for "abs";
Sat, 18 Nov 2000 00:32:08 +0100 added axclass ordered_field;
wenzelm [Sat, 18 Nov 2000 00:32:08 +0100] rev 10488
added axclass ordered_field;
Fri, 17 Nov 2000 18:50:52 +0100 check result: Envir.beta_norm;
wenzelm [Fri, 17 Nov 2000 18:50:52 +0100] rev 10487
check result: Envir.beta_norm;
Fri, 17 Nov 2000 18:50:01 +0100 Envir.beta_norm;
wenzelm [Fri, 17 Nov 2000 18:50:01 +0100] rev 10486
Envir.beta_norm;
Fri, 17 Nov 2000 18:49:29 +0100 added beta_norm;
wenzelm [Fri, 17 Nov 2000 18:49:29 +0100] rev 10485
added beta_norm; tuned;
Fri, 17 Nov 2000 18:49:09 +0100 tuned;
wenzelm [Fri, 17 Nov 2000 18:49:09 +0100] rev 10484
tuned;
Fri, 17 Nov 2000 18:48:50 +0100 removed quot_cond_function1, quot_function1;
wenzelm [Fri, 17 Nov 2000 18:48:50 +0100] rev 10483
removed quot_cond_function1, quot_function1; removed overloaded standard operations;
Fri, 17 Nov 2000 18:48:00 +0100 UNIV_witness;
wenzelm [Fri, 17 Nov 2000 18:48:00 +0100] rev 10482
UNIV_witness;
Fri, 17 Nov 2000 18:47:33 +0100 Ring_and_Field;
wenzelm [Fri, 17 Nov 2000 18:47:33 +0100] rev 10481
Ring_and_Field;
Fri, 17 Nov 2000 18:47:15 +0100 Library/Ring_and_Field.thy;
wenzelm [Fri, 17 Nov 2000 18:47:15 +0100] rev 10480
Library/Ring_and_Field.thy;
Thu, 16 Nov 2000 23:12:58 +0100 rings and fields;
bauerg [Thu, 16 Nov 2000 23:12:58 +0100] rev 10479
rings and fields;
Thu, 16 Nov 2000 22:33:14 +0100 Proof.assert_forward;
wenzelm [Thu, 16 Nov 2000 22:33:14 +0100] rev 10478
Proof.assert_forward;
Thu, 16 Nov 2000 19:03:26 +0100 added not_equiv_sym, not_equiv_trans1/2;
wenzelm [Thu, 16 Nov 2000 19:03:26 +0100] rev 10477
added not_equiv_sym, not_equiv_trans1/2; tuned;
Thu, 16 Nov 2000 19:01:39 +0100 added abs_mult, abs_eq_0, square_nonzero;
wenzelm [Thu, 16 Nov 2000 19:01:39 +0100] rev 10476
added abs_mult, abs_eq_0, square_nonzero;
Thu, 16 Nov 2000 10:47:11 +0100 ground terms section: new intro
paulson [Thu, 16 Nov 2000 10:47:11 +0100] rev 10475
ground terms section: new intro
Thu, 16 Nov 2000 10:44:59 +0100 CTT
paulson [Thu, 16 Nov 2000 10:44:59 +0100] rev 10474
CTT
Wed, 15 Nov 2000 19:43:42 +0100 separate rules for function/operation definitions;
wenzelm [Wed, 15 Nov 2000 19:43:42 +0100] rev 10473
separate rules for function/operation definitions;
Wed, 15 Nov 2000 19:42:58 +0100 renamed integ_le_less to int_le_less;
wenzelm [Wed, 15 Nov 2000 19:42:58 +0100] rev 10472
renamed integ_le_less to int_le_less;
Wed, 15 Nov 2000 19:42:33 +0100 updated;
wenzelm [Wed, 15 Nov 2000 19:42:33 +0100] rev 10471
updated;
Wed, 15 Nov 2000 00:39:44 +0100 isabellebody: \par at begin/end;
wenzelm [Wed, 15 Nov 2000 00:39:44 +0100] rev 10470
isabellebody: \par at begin/end;
Tue, 14 Nov 2000 17:03:13 +0100 auto update
paulson [Tue, 14 Nov 2000 17:03:13 +0100] rev 10469
auto update
Tue, 14 Nov 2000 17:02:36 +0100 first version of Advanced Inductive Defs section
paulson [Tue, 14 Nov 2000 17:02:36 +0100] rev 10468
first version of Advanced Inductive Defs section
Tue, 14 Nov 2000 13:26:48 +0100 x-symbol support for Pi, Sigma, -->, : (membership)
paulson [Tue, 14 Nov 2000 13:26:48 +0100] rev 10467
x-symbol support for Pi, Sigma, -->, : (membership) note that "lam" is displayed as TWO lambda-symbols
Tue, 14 Nov 2000 13:25:59 +0100 new Main.thy as in HOL, ZF
paulson [Tue, 14 Nov 2000 13:25:59 +0100] rev 10466
new Main.thy as in HOL, ZF
Mon, 13 Nov 2000 22:05:57 +0100 added read_terms, read_props (simulataneous type-inference);
wenzelm [Mon, 13 Nov 2000 22:05:57 +0100] rev 10465
added read_terms, read_props (simulataneous type-inference);
Mon, 13 Nov 2000 22:01:07 +0100 tuned statement args;
wenzelm [Mon, 13 Nov 2000 22:01:07 +0100] rev 10464
tuned statement args;
Mon, 13 Nov 2000 21:59:49 +0100 tuned IsarThy.theorem_i;
wenzelm [Mon, 13 Nov 2000 21:59:49 +0100] rev 10463
tuned IsarThy.theorem_i;
Mon, 13 Nov 2000 10:34:32 +0100 added students
kleing [Mon, 13 Nov 2000 10:34:32 +0100] rev 10462
added students
Mon, 13 Nov 2000 08:53:57 +0100 Removed > and >=
nipkow [Mon, 13 Nov 2000 08:53:57 +0100] rev 10461
Removed > and >=
Mon, 13 Nov 2000 08:53:21 +0100 Removed > and >= again.
nipkow [Mon, 13 Nov 2000 08:53:21 +0100] rev 10460
Removed > and >= again.
Sun, 12 Nov 2000 14:50:26 +0100 quot_cond_definition;
wenzelm [Sun, 12 Nov 2000 14:50:26 +0100] rev 10459
quot_cond_definition;
Sun, 12 Nov 2000 14:49:37 +0100 simplified induction;
wenzelm [Sun, 12 Nov 2000 14:49:37 +0100] rev 10458
simplified induction;
Sun, 12 Nov 2000 14:48:47 +0100 updated;
wenzelm [Sun, 12 Nov 2000 14:48:47 +0100] rev 10457
updated;
Sun, 12 Nov 2000 14:48:25 +0100 "induct" method: handle proper rules;
wenzelm [Sun, 12 Nov 2000 14:48:25 +0100] rev 10456
"induct" method: handle proper rules;
Sun, 12 Nov 2000 14:46:16 +0100 removed warning for "stripped" option;
wenzelm [Sun, 12 Nov 2000 14:46:16 +0100] rev 10455
removed warning for "stripped" option;
Sun, 12 Nov 2000 14:36:10 +0100 removed junk;
wenzelm [Sun, 12 Nov 2000 14:36:10 +0100] rev 10454
removed junk;
Sun, 12 Nov 2000 14:35:41 +0100 Syntax.pure_appl_syntax declared as output syntax for theory ProtoPure;
wenzelm [Sun, 12 Nov 2000 14:35:41 +0100] rev 10453
Syntax.pure_appl_syntax declared as output syntax for theory ProtoPure;
Fri, 10 Nov 2000 19:20:17 +0100 * added overloaded operations "inverse" and "divide" (infix "/");
wenzelm [Fri, 10 Nov 2000 19:20:17 +0100] rev 10452
* added overloaded operations "inverse" and "divide" (infix "/");
Fri, 10 Nov 2000 19:18:37 +0100 int_distrib;
wenzelm [Fri, 10 Nov 2000 19:18:37 +0100] rev 10451
int_distrib;
Fri, 10 Nov 2000 19:18:14 +0100 nat_distrib;
wenzelm [Fri, 10 Nov 2000 19:18:14 +0100] rev 10450
nat_distrib;
(0) -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 +30000 tip