X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambda_delta%2FBasic_2%2Freducibility%2Ftnf.ma;h=8c84f092c0e00cd235c1c521bf6a19a17c0f3609;hb=13a37618a5cebc5e0088a7da213f1de033d281db;hp=3c0184e551a4a7a36aff4fae2264b928d0b0dab0;hpb=0bf47116203bc07de95643f389e228e0d59cab6b;p=helm.git diff --git a/matita/matita/contribs/lambda_delta/Basic_2/reducibility/tnf.ma b/matita/matita/contribs/lambda_delta/Basic_2/reducibility/tnf.ma index 3c0184e55..8c84f092c 100644 --- a/matita/matita/contribs/lambda_delta/Basic_2/reducibility/tnf.ma +++ b/matita/matita/contribs/lambda_delta/Basic_2/reducibility/tnf.ma @@ -12,8 +12,6 @@ (* *) (**************************************************************************) -include "Basic_2/substitution/tps_lift.ma". -include "Basic_2/reducibility/trf.ma". include "Basic_2/reducibility/tpr.ma". (* CONTEXT-FREE NORMAL TERMS ************************************************) @@ -59,58 +57,3 @@ lemma tnf_inv_cast: ∀V,T. ℕ[ⓣV.T] → False. #V #T #H lapply (H T ?) -H /2 width=1/ #H @(discr_tpair_xy_y … H) qed-. - -(* Basic properties *********************************************************) - -lemma tpr_tif_eq: ∀T1,T2. T1 ➡ T2 → 𝕀[T1] → T1 = T2. -#T1 #T2 #H elim H -T1 -T2 -[ // -| * #V1 #V2 #T1 #T2 #_ #_ #IHV1 #IHT1 #H - [ elim (tif_inv_appl … H) -H #HV1 #HT1 #_ - >IHV1 -IHV1 // -HV1 >IHT1 -IHT1 // - | elim (tif_inv_cast … H) - ] -| #V1 #V2 #W #T1 #T2 #_ #_ #_ #_ #H - elim (tif_inv_appl … H) -H #_ #_ #H - elim (simple_inv_bind … H) -| * #V1 #V2 #T1 #T #T2 #_ #_ #HT2 #IHV1 #IHT1 #H - [ -HT2 -IHV1 -IHT1 elim (tif_inv_abbr … H) - | <(tps_inv_refl_SO2 … HT2 ?) -HT2 // - elim (tif_inv_abst … H) -H #HV1 #HT1 - >IHV1 -IHV1 // -HV1 >IHT1 -IHT1 // - ] -| #V #V1 #V2 #W1 #W2 #T1 #T2 #_ #_ #_ #_ #_ #_ #_ #H - elim (tif_inv_appl … H) -H #_ #_ #H - elim (simple_inv_bind … H) -| #V1 #T1 #T2 #T #_ #_ #_ #H - elim (tif_inv_abbr … H) -| #V1 #T1 #T #_ #_ #H - elim (tif_inv_cast … H) -] -qed. - -theorem tif_tnf: ∀T1. 𝕀[T1] → ℕ[T1]. -/2 width=1/ qed. - -(* Note: this property is unusual *) -theorem tnf_trf_false: ∀T1. ℝ[T1] → ℕ[T1] → False. -#T1 #H elim H -T1 -[ #V #T #_ #IHV #H elim (tnf_inv_abst … H) -H /2 width=1/ -| #V #T #_ #IHT #H elim (tnf_inv_abst … H) -H /2 width=1/ -| #V #T #_ #IHV #H elim (tnf_inv_appl … H) -H /2 width=1/ -| #V #T #_ #IHV #H elim (tnf_inv_appl … H) -H /2 width=1/ -| #V #T #H elim (tnf_inv_abbr … H) -| #V #T #H elim (tnf_inv_cast … H) -| #V #W #T #H elim (tnf_inv_appl … H) -H #_ #_ #H - elim (simple_inv_bind … H) -] -qed. - -theorem tnf_tif: ∀T1. ℕ[T1] → 𝕀[T1]. -/2 width=3/ qed. - -lemma tnf_abst: ∀V,T. ℕ[V] → ℕ[T] → ℕ[ⓛV.T]. -/4 width=1/ qed. - -lemma tnf_appl: ∀V,T. ℕ[V] → ℕ[T] → 𝕊[T] → ℕ[ⓐV.T]. -/4 width=1/ qed.