src/HOL/Numeral.ML
author oheimb
Wed Jan 31 10:15:55 2001 +0100 (2001-01-31)
changeset 11008 f7333f055ef6
parent 10707 9285b4d87d7d
permissions -rw-r--r--
improved theory reference in comment
nipkow@8264
     1
(*  Title:      HOL/Numeral.ML
nipkow@8264
     2
    ID:         $Id$
nipkow@8264
     3
    Author:     Tobias Nipkow
nipkow@8264
     4
*)
nipkow@8264
     5
nipkow@8264
     6
(*Unfold all "let"s involving constants*)
nipkow@8264
     7
Goalw [Let_def] "Let (number_of v) f == f (number_of v)";
nipkow@8264
     8
by(Simp_tac 1);
nipkow@8264
     9
qed "Let_number_of";
nipkow@8264
    10
Addsimps [Let_number_of];
paulson@10707
    11
paulson@10707
    12
(*The condition "True" is a hack to prevent looping.
paulson@10707
    13
  Conditional rewrite rules are tried after unconditional ones, so a rule
paulson@10707
    14
  like eq_nat_number_of will be tried first to eliminate #mm=#nn. *)
paulson@10707
    15
Goal "True ==> (number_of w = x) = (x = number_of w)";
paulson@10707
    16
by Auto_tac;  
paulson@10707
    17
qed "number_of_reorient";
paulson@10707
    18
Addsimps [number_of_reorient];