]> matita.cs.unibo.it Git - helm.git/blob - matita/contribs/LAMBDA-TYPES/LambdaDelta-1/C/defs.ma
0022395ce0579f09ac538b9dc2b47aae10bfee47
[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 set "baseuri" "cic:/matita/LAMBDA-TYPES/LambdaDelta-1/C/defs".
18
19 include "T/defs.ma".
20
21 inductive C: Set \def
22 | CSort: nat \to C
23 | CHead: C \to (K \to (T \to C)).
24
25 definition cweight:
26  C \to nat
27 \def
28  let rec cweight (c: C) on c: nat \def (match c with [(CSort _) \Rightarrow O 
29 | (CHead c0 _ t) \Rightarrow (plus (cweight c0) (tweight t))]) in cweight.
30
31 definition clt:
32  C \to (C \to Prop)
33 \def
34  \lambda (c1: C).(\lambda (c2: C).(lt (cweight c1) (cweight c2))).
35
36 definition cle:
37  C \to (C \to Prop)
38 \def
39  \lambda (c1: C).(\lambda (c2: C).(le (cweight c1) (cweight c2))).
40
41 definition CTail:
42  K \to (T \to (C \to C))
43 \def
44  let rec CTail (k: K) (t: T) (c: C) on c: C \def (match c with [(CSort n) 
45 \Rightarrow (CHead (CSort n) k t) | (CHead d h u) \Rightarrow (CHead (CTail k 
46 t d) h u)]) in CTail.
47