prove_rep_fn_one_one
Drule.prove_rep_fn_one_one : thm -> thm
Proves that a type representation function is one-to-one (injective).
If th
is a theorem of the form returned by the function
define_new_type_bijections
:
|- (!a. abs(rep a) = a) /\ (!r. P r = (rep(abs r) = r))
then prove_rep_fn_one_one th
proves from this theorem
that the function rep
is one-to-one, returning the
theorem:
|- !a a'. (rep a = rep a') = (a = a')
Fails if applied to a theorem not of the form shown above.
Definition.new_type_definition
,
Drule.define_new_type_bijections
,
Drule.prove_abs_fn_one_one
,
Drule.prove_abs_fn_onto
,
Drule.prove_rep_fn_onto