]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/contribs/POPLmark/Fsub/defn.ma
Missing check implemented: the sort of each constructors should be constrained
[helm.git] / helm / software / matita / contribs / POPLmark / Fsub / defn.ma
index 3bd8d2bdcdf75f2d83be67bd2077fc2b47c4948d..95c832efdf4dd6bad0172c23fd3276c101899af1 100644 (file)
@@ -44,16 +44,6 @@ let rec subst_type_nat T U i \def
     | (Arrow T1 T2) \Rightarrow (Arrow (subst_type_nat T1 U i) (subst_type_nat T2 U i))
     | (Forall T1 T2) \Rightarrow (Forall (subst_type_nat T1 U i) (subst_type_nat T2 U (S i))) ].
 
-(*** height of T's syntactic tree ***)
-
-let rec t_len T \def
-  match T with
-     [(TVar n) \Rightarrow (S O)
-     |(TFree X) \Rightarrow (S O)
-     |Top \Rightarrow (S O)
-     |(Arrow T1 T2) \Rightarrow (S (max (t_len T1) (t_len T2)))
-     |(Forall T1 T2) \Rightarrow (S (max (t_len T1) (t_len T2)))].
-
 (*** definitions about lists ***)
 
 definition fv_env : (list bound) \to (list nat) \def
@@ -147,11 +137,6 @@ notation "hvbox(S [# n ↦ T])"
 interpretation "subst bound var" 'substvar S T n =
   (cic:/matita/Fsub/defn/subst_type_nat.con S T n).  
 
-notation "hvbox(|T|)"
-  non associative with precedence 30 for @{ 'tlen $T }.
-interpretation "type length" 'tlen T =
-  (cic:/matita/Fsub/defn/t_len.con T).  
-
 notation "hvbox(!X ⊴ T)"
   non associative with precedence 60 for @{ 'subtypebound $X $T }.
 interpretation "subtyping bound" 'subtypebound X T =
@@ -376,6 +361,7 @@ intros.inversion H;intros
   |destruct H5|*:destruct H6]
 qed.
 
+(*
 (* elim vs inversion *)
 lemma JS_trans_TFree: ∀G,T,X.G ⊢ T ⊴ (TFree X) →
   ∀U.G ⊢ (TFree X) ⊴ U → G ⊢ T ⊴ U.
@@ -387,7 +373,8 @@ intros 4.cut (∀Y.TFree Y = TFree X → ∀U.G ⊢ (TFree Y) ⊴ U → G ⊢ T
     |apply (SA_Trans_TVar ? ? ? ? H1);apply (H3 Y);assumption
     |*:destruct H5]]
 qed.
+*)
 
 lemma fv_append : ∀G,H.fv_env (G @ H) = (fv_env G @ fv_env H).
 intro;elim G;simplify;autobatch paramodulation;
-qed.
\ No newline at end of file
+qed.