(* Basic_1: was by definition: ty3_bind *) (* Basic_2A1: was by definition: nta_bind ntaa_bind *) lemma nta_bind (* Basic_2A1: was by definition: nta_pure ntaa_pure *) lemma nta_pure (* Basic_1: was: ty3_gen_bind *) (* Basic_2A1: was: nta_inv_bind1 ntaa_inv_bind1 *) lemma nta_inv_bind_sn (* Basic_1: was by definition: ty3_abst *) (* Basic_2A1: was by definition: nta_ldec *) lemma nta_ldec_drops (* Advanced properties ******************************************************) | ntaa_cast: ∀L,T,U,W. ntaa h L T U → ntaa h L U W → ntaa h L (ⓝU. T) U lemma nta_cast_alt: ∀h,L,T,W,U. ⦃h, L⦄ ⊢ T : W → ⦃h, L⦄ ⊢ T : U → ⦃h, L⦄ ⊢ ⓝW.T : U. #h #L #T #W #U #HTW #HTU lapply (nta_mono … HTW … HTU) #HWU elim (nta_fwd_correct … HTU) -HTU /3 width=3/ qed.