Mon, 02 Oct 2006 23:01:03 +0200 haftmann cleaned and extended
Mon, 02 Oct 2006 23:01:00 +0200 haftmann added gen_primrec
Mon, 02 Oct 2006 23:00:58 +0200 haftmann added code for insert
Mon, 02 Oct 2006 23:00:57 +0200 haftmann improvements for code_gen
Mon, 02 Oct 2006 23:00:56 +0200 haftmann cleaned mess
Mon, 02 Oct 2006 23:00:53 +0200 haftmann added example for code_gen
Mon, 02 Oct 2006 23:00:52 +0200 haftmann dropped obsolete Theory.sign_of
Mon, 02 Oct 2006 23:00:51 +0200 haftmann tuned
Mon, 02 Oct 2006 23:00:50 +0200 haftmann added code generator names for nat_rec and nat_case
Mon, 02 Oct 2006 23:00:49 +0200 haftmann improved serialization for arbitrary
Mon, 02 Oct 2006 23:00:46 +0200 haftmann normal_form now a diagnostic command
Mon, 02 Oct 2006 23:00:45 +0200 haftmann restructured contents
Mon, 02 Oct 2006 21:30:05 +0200 huffman add axclass banach for complete normed vector spaces
Mon, 02 Oct 2006 19:57:02 +0200 huffman remove unused Cauchy_Bseq lemmas
Mon, 02 Oct 2006 18:30:10 +0200 huffman add lemmas norm_not_less_zero, norm_le_zero_iff
Mon, 02 Oct 2006 17:33:13 +0200 paulson added is_Trueprop
Mon, 02 Oct 2006 17:32:18 +0200 paulson tidying and simplifying
Mon, 02 Oct 2006 17:32:03 +0200 paulson Changing the default for theory_const
Mon, 02 Oct 2006 17:31:14 +0200 paulson extensions for Susanto
Mon, 02 Oct 2006 17:30:56 +0200 paulson restored the "length of name > 2" check for package definitions
Mon, 02 Oct 2006 17:29:42 +0200 paulson Now checks explicitly for Trueprop, thereby ignoring junk theorems involving OF_CLASS, etc.
Sun, 01 Oct 2006 22:19:24 +0200 wenzelm exists_name: include this theory name;
Sun, 01 Oct 2006 22:19:23 +0200 wenzelm removed obsolete Datatype_Universe.thy (cf. Datatype.thy);
Sun, 01 Oct 2006 22:19:21 +0200 wenzelm merged with theory Datatype_Universe;
Sun, 01 Oct 2006 18:30:04 +0200 wenzelm obsolete;
Sun, 01 Oct 2006 18:29:36 +0200 wenzelm renamed ex/SVC_Oracle.ML to ex/svc_oracle.ML;
Sun, 01 Oct 2006 18:29:35 +0200 wenzelm removed share_data;
Sun, 01 Oct 2006 18:29:34 +0200 wenzelm cterm_match: avoid recalculation of maxidx;
Sun, 01 Oct 2006 18:29:33 +0200 wenzelm reverted to revision 1.28;
Sun, 01 Oct 2006 18:29:32 +0200 wenzelm proper use of svc_oracle.ML;
Sun, 01 Oct 2006 18:29:31 +0200 wenzelm reactivated theory PER;
Sun, 01 Oct 2006 18:29:30 +0200 wenzelm tuned proofs;
Sun, 01 Oct 2006 18:29:28 +0200 wenzelm moved theory Infinite_Set to Library;
Sun, 01 Oct 2006 18:29:26 +0200 wenzelm moved theory Infinite_Set to Library;
Sun, 01 Oct 2006 18:29:25 +0200 wenzelm moved Infinite_Set.thy to Library;
Sun, 01 Oct 2006 18:29:23 +0200 wenzelm tuned;
Sun, 01 Oct 2006 12:07:57 +0200 mengj Removed the helper files (combinator rewrite rules, function extensionality and fequal rules).
Sun, 01 Oct 2006 03:07:12 +0200 huffman generalize more DERIV proofs
Sat, 30 Sep 2006 21:39:31 +0200 wenzelm statement: Variable.fix_frees;
Sat, 30 Sep 2006 21:39:29 +0200 wenzelm added undo_end;
Sat, 30 Sep 2006 21:39:27 +0200 wenzelm tuned proofs;
Sat, 30 Sep 2006 21:39:25 +0200 wenzelm proper import of Main HOL;
Sat, 30 Sep 2006 21:39:24 +0200 wenzelm tuned specifications and proofs;
Sat, 30 Sep 2006 21:39:22 +0200 wenzelm hides popular names (from Datatype.thy);
Sat, 30 Sep 2006 21:39:20 +0200 wenzelm removed obsolete sum_case_Inl/Inr;
Sat, 30 Sep 2006 21:39:17 +0200 wenzelm renamed Variable.invent_fixes to Variable.variant_fixes;
Sat, 30 Sep 2006 20:54:34 +0200 huffman generalize proofs of DERIV_isCont and DERIV_mult
Sat, 30 Sep 2006 19:41:06 +0200 huffman generalized some DERIV proofs
Sat, 30 Sep 2006 18:04:28 +0200 huffman add scaleR lemmas
Sat, 30 Sep 2006 17:36:55 +0200 huffman generalize type of DERIV
Sat, 30 Sep 2006 17:10:55 +0200 huffman add type annotations for DERIV
Sat, 30 Sep 2006 14:32:36 +0200 mengj Combinator axioms are now from Isabelle theorems, no need to use helper files.
Sat, 30 Sep 2006 14:31:41 +0200 mengj Added the combinator constants to the constants table.
Sat, 30 Sep 2006 14:31:02 +0200 mengj Removed ResHolClause.LAM2COMB exception.
Sat, 30 Sep 2006 14:29:52 +0200 mengj Reordered how files are loaded.
Fri, 29 Sep 2006 22:47:51 +0200 wenzelm moved Matrix/cplex/MatrixLP.ML to Matrix/cplex/matrixlp.ML;
Fri, 29 Sep 2006 22:47:04 +0200 wenzelm removed mixfix_content;
Fri, 29 Sep 2006 22:47:03 +0200 wenzelm Syntax.mode;
Fri, 29 Sep 2006 22:47:01 +0200 wenzelm Syntax.mode;
Fri, 29 Sep 2006 22:46:59 +0200 wenzelm Sign.add_consts_authentic;
Fri, 29 Sep 2006 22:46:57 +0200 wenzelm proper use of matrixlp.ML;
Fri, 29 Sep 2006 11:32:58 +0200 wenzelm simplified is_package_def -- be less ambitious about B library operations;
Thu, 28 Sep 2006 23:43:02 +0200 wenzelm obsolete;
Thu, 28 Sep 2006 23:43:00 +0200 wenzelm added share_data;
Thu, 28 Sep 2006 23:42:59 +0200 wenzelm Sign.add_consts_authentic;
Thu, 28 Sep 2006 23:42:56 +0200 wenzelm consts: syntax consts only for actual syntax;
Thu, 28 Sep 2006 23:42:55 +0200 wenzelm added share_data (dummy);
Thu, 28 Sep 2006 23:42:53 +0200 wenzelm removed obsolete HOLCF.ML;
Thu, 28 Sep 2006 23:42:50 +0200 wenzelm ResAtpset.get_atpset;
Thu, 28 Sep 2006 23:42:49 +0200 wenzelm removed legacy code;
Thu, 28 Sep 2006 23:42:47 +0200 wenzelm tuned definitions/proofs;
Thu, 28 Sep 2006 23:42:45 +0200 wenzelm proper use of float.ML;
Thu, 28 Sep 2006 23:42:43 +0200 wenzelm fixed translations: CONST;
Thu, 28 Sep 2006 23:42:39 +0200 wenzelm replaced syntax/translations by abbreviation;
Thu, 28 Sep 2006 23:42:35 +0200 wenzelm replaced syntax/translations by abbreviation;
Thu, 28 Sep 2006 23:42:32 +0200 wenzelm removed obsolete Real/document/root.tex;
Thu, 28 Sep 2006 23:42:30 +0200 wenzelm tuned;
Thu, 28 Sep 2006 21:01:13 +0200 huffman rearranged axioms and simp rules for scaleR
Thu, 28 Sep 2006 20:30:53 +0200 wenzelm added Poly/ML 4.9.1 (experimental!);
Thu, 28 Sep 2006 19:04:13 +0200 huffman rearranged axioms and simp rules for scaleR
Thu, 28 Sep 2006 16:01:48 +0200 paulson clearout of obsolete code
Thu, 28 Sep 2006 16:01:34 +0200 paulson addition of combinators
Thu, 28 Sep 2006 15:30:03 +0200 wenzelm tuned messages;
Thu, 28 Sep 2006 11:56:30 +0200 wenzelm tuned;
Thu, 28 Sep 2006 11:55:56 +0200 wenzelm LD_LIBRARY_PATH;
Thu, 28 Sep 2006 11:04:41 +0200 paulson Definitions produced by packages are now blacklisted.
Thu, 28 Sep 2006 06:21:06 +0200 huffman more reorganizing sections
Thu, 28 Sep 2006 04:03:43 +0200 huffman reorganize sections
Thu, 28 Sep 2006 02:50:07 +0200 huffman add intro/dest rules for NSLIM; rewrite equivalence proofs using transfer
Thu, 28 Sep 2006 01:32:30 +0200 huffman add lemma hypreal_epsilon_gt_zero
Thu, 28 Sep 2006 01:26:28 +0200 huffman generalize type of is(NS)UCont
Thu, 28 Sep 2006 00:57:36 +0200 huffman add intro/dest rules for (NS)LIMSEQ and (NS)Cauchy; rewrite equivalence proofs using transfer
Thu, 28 Sep 2006 00:10:08 +0200 wenzelm proper use of PolyML.shareCommonData;
Wed, 27 Sep 2006 23:53:46 +0200 huffman add lemmas InfinitesimalI2, InfinitesimalD2
Wed, 27 Sep 2006 23:41:12 +0200 wenzelm adapted to pre-5.0 versions;
Wed, 27 Sep 2006 23:41:12 +0200 wenzelm Poly/ML startup script (for 4.9.1);
Wed, 27 Sep 2006 23:41:11 +0200 wenzelm added ML-Systems/polyml-4.9.1.ML;
Wed, 27 Sep 2006 23:41:10 +0200 wenzelm Compatibility wrapper for Poly/ML 4.9.1.
Wed, 27 Sep 2006 23:15:41 +0200 huffman removed all references to star_n and FreeUltrafilterNat
Wed, 27 Sep 2006 22:13:02 +0200 huffman add lemmas about hnorm, Infinitesimal
Wed, 27 Sep 2006 21:53:55 +0200 wenzelm reverted to 1.58;
Wed, 27 Sep 2006 21:49:34 +0200 wenzelm proper const_syntax for uminus, abs;
Wed, 27 Sep 2006 21:44:38 +0200 huffman reorganized HNatInfinite proofs; simplified and renamed some lemmas
Wed, 27 Sep 2006 21:33:13 +0200 wenzelm removed obsolete of_instream_slurp -- now already included in tty;
Wed, 27 Sep 2006 21:32:15 +0200 wenzelm Source.tty now slurps by default;
Wed, 27 Sep 2006 21:13:13 +0200 wenzelm of_stream/tty: slurp input eagerly;
Wed, 27 Sep 2006 21:13:12 +0200 wenzelm tuned all_paths;
Wed, 27 Sep 2006 21:13:11 +0200 wenzelm internal params: Vartab instead of AList;
Wed, 27 Sep 2006 21:13:09 +0200 wenzelm removed unused serial_of, name_of;
Wed, 27 Sep 2006 20:39:09 +0200 wenzelm removed redundant lemmas;
Wed, 27 Sep 2006 18:34:26 +0200 huffman remove redundant lemmas
Wed, 27 Sep 2006 16:33:08 +0200 haftmann replaced constant 0 by HOL.zero
Wed, 27 Sep 2006 07:09:19 +0200 huffman hypreal_of_nat abbreviates of_nat
Wed, 27 Sep 2006 05:58:42 +0200 huffman add lemmas of_real_eq_star_of, Reals_eq_Standard
Wed, 27 Sep 2006 05:39:29 +0200 huffman move star_of_norm from SEQ.thy to NSA.thy
Wed, 27 Sep 2006 05:19:24 +0200 huffman convert more proofs to transfer principle
Wed, 27 Sep 2006 04:19:21 +0200 huffman add lemmas about Standard, real_of, scaleR
Wed, 27 Sep 2006 03:05:28 +0200 huffman instance complex :: real_normed_field; cleaned up
Wed, 27 Sep 2006 03:04:35 +0200 huffman add lemma stc_unique; shorten stc proofs
Wed, 27 Sep 2006 02:07:34 +0200 huffman add lemmas approx_diff and st_unique, shorten st proofs
Wed, 27 Sep 2006 01:48:30 +0200 huffman add lemmas about of_real and power
Wed, 27 Sep 2006 01:35:25 +0200 huffman reorganize section headings
Wed, 27 Sep 2006 01:18:35 +0200 huffman more lemmas about Standard and star_of
Wed, 27 Sep 2006 00:54:10 +0200 huffman define new constant Standard = range star_of
Wed, 27 Sep 2006 00:52:59 +0200 huffman add lemmas of_int_in_Reals, of_nat_in_Reals
Tue, 26 Sep 2006 22:37:51 +0200 huffman add header
Tue, 26 Sep 2006 17:33:04 +0200 krauss Changed precedence of "op O" (relation composition) from 60 to 75.
Tue, 26 Sep 2006 13:34:35 +0200 haftmann handling of \<^const> syntax for case; explicit case names for induction rules for rep_datatype
Tue, 26 Sep 2006 13:34:17 +0200 haftmann tuned syntax for <= <
Tue, 26 Sep 2006 13:34:16 +0200 haftmann renamed 0 and 1 to HOL.zero and HOL.one respectivly; introduced corresponding syntactic classes
Tue, 26 Sep 2006 13:34:15 +0200 haftmann renamed 0 and 1 to HOL.zero and HOL.one respectivly
Tue, 26 Sep 2006 11:11:57 +0200 paulson fixed the definition of "depth"
Tue, 26 Sep 2006 11:09:33 +0200 paulson Abstraction now handles equations where the RHS is a lambda-expression; also, strings of lambdas
Mon, 25 Sep 2006 17:04:47 +0200 haftmann some cleanup
Mon, 25 Sep 2006 17:04:46 +0200 haftmann changed order
Mon, 25 Sep 2006 17:04:45 +0200 haftmann inserted headings
Mon, 25 Sep 2006 17:04:23 +0200 haftmann changed interface in codegen_package.ML
Mon, 25 Sep 2006 17:04:22 +0200 haftmann fixed some mess
Mon, 25 Sep 2006 17:04:21 +0200 haftmann cleaned up
Mon, 25 Sep 2006 17:04:20 +0200 haftmann adding constants the modern way
Mon, 25 Sep 2006 17:04:19 +0200 haftmann added examples for variable name handling
Mon, 25 Sep 2006 17:04:18 +0200 haftmann better handling for div by zero
Mon, 25 Sep 2006 17:04:17 +0200 haftmann updated theory description
Mon, 25 Sep 2006 17:04:15 +0200 haftmann refinements in codegen serializer
Mon, 25 Sep 2006 17:04:14 +0200 haftmann added 'undefined' serializer
Mon, 25 Sep 2006 17:04:12 +0200 haftmann added code_instname
Sun, 24 Sep 2006 08:22:21 +0200 huffman reorganized subsection headings
Sun, 24 Sep 2006 07:18:16 +0200 huffman moved SEQ_Infinitesimal from SEQ to HyperNat
Sun, 24 Sep 2006 07:14:02 +0200 huffman real_norm_def [simp]
Sun, 24 Sep 2006 06:54:39 +0200 huffman generalize types of lim and nslim
Sun, 24 Sep 2006 05:49:50 +0200 huffman generalized types of sums, summable, and suminf
Sun, 24 Sep 2006 04:16:28 +0200 huffman add lemma convergent_Cauchy
Sun, 24 Sep 2006 04:00:46 +0200 huffman remove extra dependencies
Sun, 24 Sep 2006 04:00:03 +0200 huffman add proof of summable_LIMSEQ_zero
Sun, 24 Sep 2006 03:38:36 +0200 huffman change definitions from SOME to THE
Sun, 24 Sep 2006 02:56:59 +0200 huffman move root and sqrt stuff from Transcendental to NthRoot
Sun, 24 Sep 2006 01:04:44 +0200 huffman fix proof
Fri, 22 Sep 2006 23:19:45 +0200 huffman added lemmas about LIMSEQ and norm; simplified some proofs
Fri, 22 Sep 2006 23:17:39 +0200 huffman add lemma norm_power
Fri, 22 Sep 2006 21:42:12 +0200 wenzelm added HOL-Complex-ex;
Fri, 22 Sep 2006 16:25:15 +0200 huffman define constants with THE instead of SOME
Fri, 22 Sep 2006 14:36:23 +0200 berghofe Fixed bug concerning the generation of identifiers for
Fri, 22 Sep 2006 14:32:46 +0200 berghofe Replaced irreducible_paths by all_paths.
Fri, 22 Sep 2006 14:30:37 +0200 berghofe Added function all_paths (formerly find_paths).
Fri, 22 Sep 2006 13:04:30 +0200 wenzelm tuned proofs;
Thu, 21 Sep 2006 19:06:16 +0200 wenzelm tuned oracle name;
Thu, 21 Sep 2006 19:06:03 +0200 wenzelm added is_ml_reserved;
Thu, 21 Sep 2006 19:05:56 +0200 wenzelm member (op =);
Thu, 21 Sep 2006 19:05:41 +0200 wenzelm serial numbers for types;
Thu, 21 Sep 2006 19:05:31 +0200 wenzelm added dest_binop;
Thu, 21 Sep 2006 19:05:22 +0200 wenzelm member (op =);
Thu, 21 Sep 2006 19:05:08 +0200 wenzelm member (op =);
Thu, 21 Sep 2006 19:05:01 +0200 wenzelm tuned eta_contract;
Thu, 21 Sep 2006 19:04:55 +0200 wenzelm added dest_equals_rhs;
Thu, 21 Sep 2006 19:04:49 +0200 wenzelm tuned;
Thu, 21 Sep 2006 19:04:43 +0200 wenzelm serial numbers for consts;
Thu, 21 Sep 2006 19:04:36 +0200 wenzelm Thm.dest_binop;
Thu, 21 Sep 2006 19:04:29 +0200 wenzelm member (op =);
Thu, 21 Sep 2006 19:04:20 +0200 wenzelm member (op =);
Thu, 21 Sep 2006 19:04:12 +0200 wenzelm updated timings;
Thu, 21 Sep 2006 17:39:57 +0200 paulson new function hashw_int
Thu, 21 Sep 2006 17:33:11 +0200 paulson Yet another version of fake_thm_name. "Full" hashing ensures that there are no collisions
Thu, 21 Sep 2006 17:31:10 +0200 paulson corrected for the translation from _ to __ in c_COMBx_e
Thu, 21 Sep 2006 16:45:53 +0200 huffman changed constants into abbreviations; shortened proofs
Thu, 21 Sep 2006 15:41:18 +0200 berghofe XML syntax for types, terms, and proofs.
Thu, 21 Sep 2006 15:40:49 +0200 berghofe Added xml_syntax.ML
Thu, 21 Sep 2006 15:40:31 +0200 berghofe Added Tools/xml_syntax.ML
Thu, 21 Sep 2006 14:44:30 +0200 haftmann circumvented defect in SML/NJ type inference
Thu, 21 Sep 2006 12:22:05 +0200 krauss 1. Function package accepts a parameter (default "some_term"), which specifies the functions
Thu, 21 Sep 2006 03:17:51 +0200 huffman removed division_by_zero class requirements from several lemmas
Thu, 21 Sep 2006 03:16:50 +0200 huffman added approx_hnorm theorem; removed division_by_zero class requirements from several lemmas
Wed, 20 Sep 2006 23:30:40 +0200 isatest choose gnuplot terminal by platform
Wed, 20 Sep 2006 21:02:56 +0200 wenzelm set terminal png color -- works for older versions of gnuplot;
Wed, 20 Sep 2006 21:02:29 +0200 wenzelm added ZF-UNITY;
Wed, 20 Sep 2006 15:11:46 +0200 paulson tidied
Wed, 20 Sep 2006 14:02:41 +0200 mengj Added in combinator reduction axioms for B' C' and S'. Also split the original reduction axioms into separate files: I+K, B+C, S, B'+C', S'.
Wed, 20 Sep 2006 14:00:25 +0200 isatest make it work on sunbroy2
Wed, 20 Sep 2006 13:56:39 +0200 mengj Moved the functional equality axioms to helper1 files.
Wed, 20 Sep 2006 13:54:03 +0200 mengj Introduced combinators B', C' and S'.
Wed, 20 Sep 2006 13:53:03 +0200 mengj Removed include_min_comb and include_combS.
Wed, 20 Sep 2006 13:02:30 +0200 aspinall Add Source.of_instream_slurp to try to ensure that XML parser sees whole documents.
Wed, 20 Sep 2006 12:24:28 +0200 haftmann improvements for codegen 2
Wed, 20 Sep 2006 12:24:11 +0200 haftmann name shifts
Wed, 20 Sep 2006 12:23:54 +0200 haftmann fixed bug
Wed, 20 Sep 2006 12:05:31 +0200 krauss Removed "induct set" attribute from total induction rules
Wed, 20 Sep 2006 10:13:36 +0200 haftmann removed debug
Wed, 20 Sep 2006 09:08:35 +0200 krauss Fixed error in pattern splitting algorithm
Wed, 20 Sep 2006 07:44:34 +0200 huffman change section to subsection
Wed, 20 Sep 2006 07:42:12 +0200 huffman add header
Wed, 20 Sep 2006 00:24:24 +0200 wenzelm renamed axclass_xxxx axclasses;
Tue, 19 Sep 2006 23:18:41 +0200 wenzelm tuned;
Tue, 19 Sep 2006 23:15:40 +0200 wenzelm added standard;
Tue, 19 Sep 2006 23:15:39 +0200 wenzelm added name_classrel/arities/arity;
Tue, 19 Sep 2006 23:15:38 +0200 wenzelm pretty_full_theory: suppress internal entities by default;
Tue, 19 Sep 2006 23:15:37 +0200 wenzelm Logic.name_classrel/arities;
Tue, 19 Sep 2006 23:15:36 +0200 wenzelm revert to previous version;
Tue, 19 Sep 2006 23:15:35 +0200 wenzelm added General/susp.ML;
Tue, 19 Sep 2006 23:15:34 +0200 wenzelm removed duplicate arities;
Tue, 19 Sep 2006 23:15:32 +0200 wenzelm sko/abs: Name.internal prevents choking of print_theory;
Tue, 19 Sep 2006 23:15:30 +0200 wenzelm tuned method setup;
Tue, 19 Sep 2006 23:15:28 +0200 wenzelm tuned proofs;
Tue, 19 Sep 2006 23:15:26 +0200 wenzelm 'print_theory': bang option for full verbosity;
Tue, 19 Sep 2006 23:15:24 +0200 wenzelm * Pure: 'print_theory' now suppresses entities with internal name;
Tue, 19 Sep 2006 23:12:21 +0200 wenzelm tuned;
Tue, 19 Sep 2006 23:01:52 +0200 wenzelm simple html output;
Tue, 19 Sep 2006 22:04:38 +0200 wenzelm timespan: 100 days;
Tue, 19 Sep 2006 22:00:53 +0200 wenzelm superceded by isatest-statistics;
Tue, 19 Sep 2006 22:00:32 +0200 wenzelm tuned;
Tue, 19 Sep 2006 21:49:38 +0200 wenzelm target dir;
Tue, 19 Sep 2006 21:49:09 +0200 wenzelm Standard statistics.
Tue, 19 Sep 2006 20:58:05 +0200 wenzelm time: include year;
Tue, 19 Sep 2006 20:53:42 +0200 wenzelm Produce statistics from isatest session logs.
Tue, 19 Sep 2006 18:18:11 +0200 wenzelm moved Import/susp.ML to Pure/General;
Tue, 19 Sep 2006 18:13:10 +0200 obua renamed axclass_xxxx axclasses
Tue, 19 Sep 2006 15:44:04 +0200 haftmann removed diagnostic messages
Tue, 19 Sep 2006 15:31:32 +0200 haftmann Operational Equality
Tue, 19 Sep 2006 15:31:25 +0200 urbanc this file contains a compile-challenge suggested by Adam Chlipala;
Tue, 19 Sep 2006 15:22:44 +0200 urbanc tuned
Tue, 19 Sep 2006 15:22:35 +0200 haftmann added auxiliary lemma for code generation 2
Tue, 19 Sep 2006 15:22:29 +0200 haftmann removed
(0) -10000 -3000 -1000 -240 +240 +1000 +3000 +10000 +30000 tip