to_nat is injective on arbitrary domains
authorhoelzl
Wed, 27 Jul 2011 19:35:00 +0200
changeset 43992 c38c65a1bf9c
parent 43991 f4a7697011c5
child 43993 b141d7a3d4e3
to_nat is injective on arbitrary domains
src/HOL/Library/Countable.thy
--- a/src/HOL/Library/Countable.thy	Wed Jul 27 19:34:30 2011 +0200
+++ b/src/HOL/Library/Countable.thy	Wed Jul 27 19:35:00 2011 +0200
@@ -35,6 +35,9 @@
 lemma inj_to_nat [simp]: "inj to_nat"
   by (rule exE_some [OF ex_inj]) (simp add: to_nat_def)
 
+lemma inj_on_to_nat[simp, intro]: "inj_on to_nat S"
+  using inj_to_nat by (auto simp: inj_on_def)
+
 lemma surj_from_nat [simp]: "surj from_nat"
   unfolding from_nat_def by (simp add: inj_imp_surj_inv)