diff -r cc3c55f56116 -r c9231c2903bc Quot/Examples/IntEx2.thy --- a/Quot/Examples/IntEx2.thy Thu Dec 10 08:44:01 2009 +0100 +++ b/Quot/Examples/IntEx2.thy Thu Dec 10 08:55:30 2009 +0100 @@ -225,7 +225,7 @@ shows "(op = ===> op \) int_of_nat_raw int_of_nat_raw" by (simp add: equivp_reflp[OF int_equivp]) -lemma int_def: +lemma int_of_nat: shows "of_nat m = int_of_nat m" apply (induct m) apply (simp_all add: zero_int_def one_int_def int_of_nat_def int_of_nat_raw add) @@ -303,26 +303,6 @@ apply(simp_all add: left_distrib add_strict_mono) done -lemma int_induct_raw: - assumes a: "P (0::nat, 0)" - and b: "\i. P i \ P (plus_raw i (1,0))" - and c: "\i. P i \ P (plus_raw i (uminus_raw (1,0)))" - shows "P x" -apply(case_tac x) apply(simp) -apply(rule_tac x="b" in spec) -apply(rule_tac Nat.induct) -apply(rule allI) -apply(rule_tac Nat.induct) -using a b c apply(auto) -done - -lemma int_induct: - assumes a: "P (0::int)" - and b: "\i. P i \ P (i + 1)" - and c: "\i. P i \ P (i + (- 1))" - shows "P x" -using a b c by (lifting int_induct_raw) - lemma zero_le_imp_eq_int_raw: fixes k::"(nat \ nat)" shows "less_raw (0, 0) k \ (\n > 0. k \ int_of_nat_raw n)" @@ -335,8 +315,8 @@ lemma zero_le_imp_eq_int: fixes k::int - shows "0 < k \ \n > 0. k = int_of_nat n" - unfolding less_int_def + shows "0 < k \ \n > 0. k = of_nat n" + unfolding less_int_def int_of_nat by (lifting zero_le_imp_eq_int_raw) lemma zmult_zless_mono2: @@ -346,7 +326,6 @@ using a using a apply(drule_tac zero_le_imp_eq_int) -apply(fold int_def) apply(auto simp add: zmult_zless_mono2_lemma) done