(* L'axiome:  ECC est fortement normalisant *)

  Axiom
    ecc_normalise :
      forall (e : env_ecc) (t T : trm_ecc), typ_ecc e t T -> ecc_sn e t.

(* Specifications: *)
Lemma sound_ecc_bd : rule_sound _ ecc_pts (beta_delta _).
Lemma ecc_is_norm_sound : norm_sound_CTS _ ecc.
Theorem ecc_algorithms : PTS_TC _ ecc_pts.
Lemma infer_type : forall (e : env_ecc) (t : trm_ecc), wf_ecc e -> infer_ppal_type _ ecc_pts e t.
Lemma check_wf_type : forall (e : env_ecc) (t : trm_ecc), wf_ecc e -> wft_dec _ ecc_pts e t.
Lemma check_type : forall (e : env_ecc) (t T : trm_ecc), wf_ecc e -> check_dec _ ecc_pts e t T.
Lemma add_type : forall (e : env_ecc) (t : trm_ecc), wf_ecc e -> decl_dec _ ecc_pts e (Ax _ t).
Lemma add_def : forall (e : env_ecc) (t T : trm_ecc), wf_ecc e -> decl_dec _ ecc_pts e (Def _ t T).