X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=matita%2Fcontribs%2FLAMBDA-TYPES%2FLevel-1%2Fproblems.ma;h=bc0d10feecb93659b24c5bd2e5f28ec846d00d79;hb=4199a9a1b1f28e0b29e532324c08e358311424b9;hp=5bf584dfd358990d62b80364c84dfa04c2bc4105;hpb=d471fb1b4e503a94b210fd2c9305e0199c37afab;p=helm.git diff --git a/matita/contribs/LAMBDA-TYPES/Level-1/problems.ma b/matita/contribs/LAMBDA-TYPES/Level-1/problems.ma index 5bf584dfd..bc0d10fee 100644 --- a/matita/contribs/LAMBDA-TYPES/Level-1/problems.ma +++ b/matita/contribs/LAMBDA-TYPES/Level-1/problems.ma @@ -13,18 +13,36 @@ (**************************************************************************) (* Problematic objects for disambiguation/typechecking ********************) -(* FG: PLEASE COMMENT THE NON WORKING OBJECTS *****************************) set "baseuri" "cic:/matita/LAMBDA-TYPES/Level-1/problems". -include "legacy/coq.ma". +include "LambdaDelta/theory.ma". -(* +(* Problem 1: disambiguation errors with these objects *) -(* Problem 1: disambiguation/typechecking of may objects very slow *) +(* leq_trans (in problems-4) + *) (* Problem 2: assertion failure raised by type checker on this object *) -tau1 - -*) +definition foo ≝ +\lambda g:G.\lambda c:C.\lambda t:T. +\lambda P:T\to Prop. +\lambda H:\forall t1:T.\forall H:tau0 g c t t1.P t1. +\lambda H1: + \forall t1:T.\forall H1:tau1 g c t t1. + P t1 \to \forall t2:T.\forall H2:tau0 g c t1 t2.P t2. + let rec f (t1:T) (H2:tau1 g c t t1) on H2 ≝ + match H2 return \lambda t2:T.\lambda H3:tau1 g c t t2.P t2 with + [ tau1_tau0 => \lambda t2:T.\lambda H3:(tau0 g c t t2).H t2 H3 + | tau1_sing => + \lambda t2:T.\lambda H3:(tau1 g c t t2).\lambda t3:T. + \lambda H4:tau0 g c t2 t3.H1 t2 H3 (f t2 H3) t3 H4 + ] + in f. + + +inductive tau1 (g:G) (c:C) (t1:T): T \to Prop \def +| tau1_tau0: \forall (t2: T).((tau0 g c t1 t2) \to (tau1 g c t1 t2)) +| tau1_sing: \forall (t: T).((tau1 g c t1 t) \to (\forall (t2: T).((tau0 g c +t t2) \to (tau1 g c t1 t2))))).