fact: Definition inv_type (P : Prop) e t T : Prop := match t with | Srt prop => conv T (Srt kind) -> P | Srt set => conv T (Srt kind) -> P | Srt kind => True | Ref n => forall x : term, item _ x e n -> conv T (lift (S n) x) -> P | Abs A M => forall s1 s2 (U : term), typ e A (Srt s1) -> typ (A :: e) M U -> typ (A :: e) U (Srt s2) -> conv T (Prod A U) -> P | App u v => forall Ur V : term, typ e v V -> typ e u (Prod V Ur) -> conv T (subst v Ur) -> P | Prod A B => forall s1 s2, typ e A (Srt s1) -> typ (A :: e) B (Srt s2) -> conv T (Srt s2) -> P end.
imports: Termes Conv MyList