Require Export FcEtt.ett_inf_cs.
Require Export FcEtt.fc_invert.
Module fc_dec_fun (wf : fc_wf_sig) (weak : fc_weak_sig) (subst : fc_subst_sig) (unique: fc_unique_sig).
Module invert := fc_invert wf weak subst.
Module fuel := fc_dec_fuel wf weak subst unique.
Module aux := fc_dec_aux wf weak subst unique.
Module get := fc_get wf weak subst unique.
Unset Implicit Arguments.
Ltac obtacpre :=
intros; simpl in *.
Ltac obtacsolve :=
intros; simpl in *; try solve [ok].

(* More pratical version of these lemma (both forms are useful, though) *)
Lemma get_tpg_correct' : ∀ {G : context} {a A : tm},
AnnTyping G a A → A = get_tpg G a.