(* TODO: as added bonus, make the function that generates context fuel and write the general function (the one accepting an arbitrary context) *)
Definition FC_typechecker : ∀ t : tm, {T : tm | AnnTyping nil t T } + {(forall T, ¬ AnnTyping nil t T)} :=
fun t => AnnTyping_dec nil t (gaspump t) An_Empty.

(* Specifications: *)
Theorem FC_typechecking_decidable : ∀ t : tm, (exists T : tm, AnnTyping nil t T) \/ (∀ T, ¬ AnnTyping nil t T).
End fc_dec.