]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/basic_1/C/defs.ma
update in basic_2
[helm.git] / matita / matita / contribs / lambdadelta / basic_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 "basic_1/T/defs.ma".
18
19 inductive C: Type[0] \def
20 | CSort: nat \to C
21 | CHead: C \to (K \to (T \to C)).
22
23 rec definition cweight (c: C) on c: nat \def match c with [(CSort _) 
24 \Rightarrow O | (CHead c0 _ t) \Rightarrow (plus (cweight c0) (tweight t))].
25
26 definition clt:
27  C \to (C \to Prop)
28 \def
29  \lambda (c1: C).(\lambda (c2: C).(lt (cweight c1) (cweight c2))).
30
31 definition cle:
32  C \to (C \to Prop)
33 \def
34  \lambda (c1: C).(\lambda (c2: C).(le (cweight c1) (cweight c2))).
35
36 rec definition CTail (k: K) (t: T) (c: C) on c: C \def match c with [(CSort 
37 n) \Rightarrow (CHead (CSort n) k t) | (CHead d h u) \Rightarrow (CHead 
38 (CTail k t d) h u)].
39