]> matita.cs.unibo.it Git - helm.git/blob - matita/contribs/LAMBDA-TYPES/LambdaDelta-1/C/defs.ma
matita 0.5.1 tagged
[helm.git] / matita / contribs / LAMBDA-TYPES / LambdaDelta-1 / C / defs.ma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||         The HELM team.                                      *)
8 (*      ||A||         http://helm.cs.unibo.it                             *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU General Public License Version 2                  *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 (* This file was automatically generated: do not edit *********************)
16
17 include "LambdaDelta-1/T/defs.ma".
18
19 inductive C: Set \def
20 | CSort: nat \to C
21 | CHead: C \to (K \to (T \to C)).
22
23 definition cweight:
24  C \to nat
25 \def
26  let rec cweight (c: C) on c: nat \def (match c with [(CSort _) \Rightarrow O 
27 | (CHead c0 _ t) \Rightarrow (plus (cweight c0) (tweight t))]) in cweight.
28
29 definition clt:
30  C \to (C \to Prop)
31 \def
32  \lambda (c1: C).(\lambda (c2: C).(lt (cweight c1) (cweight c2))).
33
34 definition cle:
35  C \to (C \to Prop)
36 \def
37  \lambda (c1: C).(\lambda (c2: C).(le (cweight c1) (cweight c2))).
38
39 definition CTail:
40  K \to (T \to (C \to C))
41 \def
42  let rec CTail (k: K) (t: T) (c: C) on c: C \def (match c with [(CSort n) 
43 \Rightarrow (CHead (CSort n) k t) | (CHead d h u) \Rightarrow (CHead (CTail k 
44 t d) h u)]) in CTail.
45