diff -r 2d9de77d5687 -r 0dd10a900cae Quot/Examples/LFex.thy --- a/Quot/Examples/LFex.thy Wed Dec 09 06:21:09 2009 +0100 +++ b/Quot/Examples/LFex.thy Wed Dec 09 15:57:47 2009 +0100 @@ -82,51 +82,51 @@ print_quotients -quotient_def - TYP :: "KIND" +quotient_def + TYP :: "TYP :: KIND" where - "TYP \ Type" + "Type" -quotient_def - KPI :: "TY \ name \ KIND \ KIND" +quotient_def + KPI :: "KPI :: TY \ name \ KIND \ KIND" where - "KPI \ KPi" + "KPi" -quotient_def - TCONST :: "ident \ TY" +quotient_def + TCONST :: "TCONST :: ident \ TY" where - "TCONST \ TConst" + "TConst" -quotient_def - TAPP :: "TY \ TRM \ TY" +quotient_def + TAPP :: "TAPP :: TY \ TRM \ TY" where - "TAPP \ TApp" + "TApp" -quotient_def - TPI :: "TY \ name \ TY \ TY" +quotient_def + TPI :: "TPI :: TY \ name \ TY \ TY" where - "TPI \ TPi" + "TPi" (* FIXME: does not work with CONST *) -quotient_def - CONS :: "ident \ TRM" +quotient_def + CONS :: "CONS :: ident \ TRM" where - "CONS \ Const" + "Const" -quotient_def - VAR :: "name \ TRM" +quotient_def + VAR :: "VAR :: name \ TRM" where - "VAR \ Var" + "Var" -quotient_def - APP :: "TRM \ TRM \ TRM" +quotient_def + APP :: "APP :: TRM \ TRM \ TRM" where - "APP \ App" + "App" -quotient_def - LAM :: "TY \ name \ TRM \ TRM" +quotient_def + LAM :: "LAM :: TY \ name \ TRM \ TRM" where - "LAM \ Lam" + "Lam" thm TYP_def thm KPI_def @@ -139,20 +139,20 @@ thm LAM_def (* FIXME: print out a warning if the type contains a liftet type, like kind \ name set *) -quotient_def - FV_kind :: "KIND \ name set" +quotient_def + FV_kind :: "FV_kind :: KIND \ name set" where - "FV_kind \ fv_kind" + "fv_kind" -quotient_def - FV_ty :: "TY \ name set" +quotient_def + FV_ty :: "FV_ty :: TY \ name set" where - "FV_ty \ fv_ty" + "fv_ty" -quotient_def - FV_trm :: "TRM \ name set" +quotient_def + FV_trm :: "FV_trm :: TRM \ name set" where - "FV_trm \ fv_trm" + "fv_trm" thm FV_kind_def thm FV_ty_def @@ -165,20 +165,20 @@ perm_trm \ "perm :: 'x prm \ TRM \ TRM" (unchecked) begin -quotient_def - perm_kind :: "'x prm \ KIND \ KIND" +quotient_def + perm_kind :: "perm_kind :: 'x prm \ KIND \ KIND" where - "perm_kind \ (perm::'x prm \ kind \ kind)" + "(perm::'x prm \ kind \ kind)" -quotient_def - perm_ty :: "'x prm \ TY \ TY" +quotient_def + perm_ty :: "perm_ty :: 'x prm \ TY \ TY" where - "perm_ty \ (perm::'x prm \ ty \ ty)" + "(perm::'x prm \ ty \ ty)" -quotient_def - perm_trm :: "'x prm \ TRM \ TRM" +quotient_def + perm_trm :: "perm_trm :: 'x prm \ TRM \ TRM" where - "perm_trm \ (perm::'x prm \ trm \ trm)" + "(perm::'x prm \ trm \ trm)" end @@ -253,9 +253,6 @@ ((x5 :: TRM) = x6 \ P3 x5 x6)" using a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 apply(lifting akind_aty_atrm.induct) -(* FIXME: with overloaded definitions *) -apply(fold perm_kind_def perm_ty_def perm_trm_def) -apply(cleaning) (* Profiling: ML_prf {* fun ith i = (#concl (fst (Subgoal.focus @{context} i (#goal (Isar.goal ()))))) *}