]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/basic_1/tlt/defs.ma
- matitac: now directories are allowed as command line arguments
[helm.git] / matita / matita / contribs / lambdadelta / basic_1 / tlt / 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 definition wadd:
20  ((nat \to nat)) \to (nat \to (nat \to nat))
21 \def
22  \lambda (f: ((nat \to nat))).(\lambda (w: nat).(\lambda (n: nat).(match n 
23 with [O \Rightarrow w | (S m) \Rightarrow (f m)]))).
24
25 let rec weight_map (f: (nat \to nat)) (t: T) on t: nat \def match t with 
26 [(TSort _) \Rightarrow O | (TLRef n) \Rightarrow (f n) | (THead k u t0) 
27 \Rightarrow (match k with [(Bind b) \Rightarrow (match b with [Abbr 
28 \Rightarrow (let TMP_12 \def (weight_map f u) in (let TMP_13 \def (weight_map 
29 f u) in (let TMP_14 \def (S TMP_13) in (let TMP_15 \def (wadd f TMP_14) in 
30 (let TMP_16 \def (weight_map TMP_15 t0) in (let TMP_17 \def (plus TMP_12 
31 TMP_16) in (S TMP_17))))))) | Abst \Rightarrow (let TMP_8 \def (weight_map f 
32 u) in (let TMP_9 \def (wadd f O) in (let TMP_10 \def (weight_map TMP_9 t0) in 
33 (let TMP_11 \def (plus TMP_8 TMP_10) in (S TMP_11))))) | Void \Rightarrow 
34 (let TMP_4 \def (weight_map f u) in (let TMP_5 \def (wadd f O) in (let TMP_6 
35 \def (weight_map TMP_5 t0) in (let TMP_7 \def (plus TMP_4 TMP_6) in (S 
36 TMP_7)))))]) | (Flat _) \Rightarrow (let TMP_1 \def (weight_map f u) in (let 
37 TMP_2 \def (weight_map f t0) in (let TMP_3 \def (plus TMP_1 TMP_2) in (S 
38 TMP_3))))])].
39
40 definition weight:
41  T \to nat
42 \def
43  let TMP_1 \def (\lambda (_: nat).O) in (weight_map TMP_1).
44
45 definition tlt:
46  T \to (T \to Prop)
47 \def
48  \lambda (t1: T).(\lambda (t2: T).(let TMP_1 \def (weight t1) in (let TMP_2 
49 \def (weight t2) in (lt TMP_1 TMP_2)))).
50
51 definition tle:
52  T \to (T \to Prop)
53 \def
54  \lambda (t1: T).(\lambda (t2: T).(let TMP_1 \def (tweight t1) in (let TMP_2 
55 \def (tweight t2) in (le TMP_1 TMP_2)))).
56