(* --------- Paths infect the cannonical forms lemmas for functions --------- *)

(* Specifications: *)
Lemma canonical_forms_a_Pi :
forall G D a rho A B, AnnGood G D ->
AnnTyping G a (a_Pi rho A B) -> Value a ->
(exists a', a = a_Abs rho A a') \/ (exists T, Path T a).
Lemma canonical_forms_a_CPi :
forall G D a phi B, AnnGood G D ->
AnnTyping G a (a_CPi phi B) -> Value a ->
(exists a', a = a_CAbs phi a') \/ (exists T, Path T a).
Lemma consistent_a_Pi :
forall G A B C g rho,
AnnGood G (dom G) -> value_type C ->
AnnDefEq G (dom G) g C (a_Pi rho A B) -> exists A' B', C = a_Pi rho A' B'.
Lemma consistent_a_CPi :
forall G phi B C g,
AnnGood G (dom G) -> value_type C -> AnnDefEq G (dom G) g C (a_CPi phi B) -> exists phi' B', C = a_CPi phi' B'.