Require Export FiniteTypes.
Require Export Relation_Definitions.
Set Asymmetric Patterns.
Inductive CountableT (X:Type) : Prop :=
| intro_nat_injection: forall f:X->nat, injective f -> CountableT X.

Lemma countable_exp: forall X Y:Type,
FiniteT X -> CountableT Y -> CountableT (X->Y).