(* This file was automatically generated: do not edit *********************)
-set "baseuri" "cic:/matita/LAMBDA-TYPES/LambdaDelta-1/flt/props".
+include "LambdaDelta-1/flt/defs.ma".
-include "flt/defs.ma".
-
-include "C/props.ma".
+include "LambdaDelta-1/C/props.ma".
theorem flt_thead_sx:
\forall (k: K).(\forall (c: C).(\forall (u: T).(\forall (t: T).(flt c u c
(THead k u t)))))
\def
- \lambda (_: K).(\lambda (c: C).(\lambda (u: T).(\lambda (t: T).(lt_le_S
-(plus (cweight c) (tweight u)) (plus (cweight c) (S (plus (tweight u)
-(tweight t)))) (plus_le_lt_compat (cweight c) (cweight c) (tweight u) (S
-(plus (tweight u) (tweight t))) (le_n (cweight c)) (le_lt_n_Sm (tweight u)
-(plus (tweight u) (tweight t)) (le_plus_l (tweight u) (tweight t)))))))).
+ \lambda (_: K).(\lambda (c: C).(\lambda (u: T).(\lambda (t:
+T).(le_lt_plus_plus (cweight c) (cweight c) (tweight u) (S (plus (tweight u)
+(tweight t))) (le_n (cweight c)) (le_n_S (tweight u) (plus (tweight u)
+(tweight t)) (le_plus_l (tweight u) (tweight t))))))).
theorem flt_thead_dx:
\forall (k: K).(\forall (c: C).(\forall (u: T).(\forall (t: T).(flt c t c
(THead k u t)))))
\def
- \lambda (_: K).(\lambda (c: C).(\lambda (u: T).(\lambda (t: T).(lt_le_S
-(plus (cweight c) (tweight t)) (plus (cweight c) (S (plus (tweight u)
-(tweight t)))) (plus_le_lt_compat (cweight c) (cweight c) (tweight t) (S
-(plus (tweight u) (tweight t))) (le_n (cweight c)) (le_lt_n_Sm (tweight t)
-(plus (tweight u) (tweight t)) (le_plus_r (tweight u) (tweight t)))))))).
+ \lambda (_: K).(\lambda (c: C).(\lambda (u: T).(\lambda (t:
+T).(le_lt_plus_plus (cweight c) (cweight c) (tweight t) (S (plus (tweight u)
+(tweight t))) (le_n (cweight c)) (le_n_S (tweight t) (plus (tweight u)
+(tweight t)) (le_plus_r (tweight u) (tweight t))))))).
theorem flt_shift:
\forall (k: K).(\forall (c: C).(\forall (u: T).(\forall (t: T).(flt (CHead c
(plus (cweight c) (tweight u)) (tweight t)) (\lambda (n: nat).(lt (plus (plus
(cweight c) (tweight u)) (tweight t)) (S n))) (le_n (S (plus (plus (cweight
c) (tweight u)) (tweight t)))) (plus (cweight c) (plus (tweight u) (tweight
-t))) (plus_assoc (cweight c) (tweight u) (tweight t))) (plus (cweight c) (S
+t))) (plus_assoc_l (cweight c) (tweight u) (tweight t))) (plus (cweight c) (S
(plus (tweight u) (tweight t)))) (plus_n_Sm (cweight c) (plus (tweight u)
(tweight t))))))).
\forall (k: K).(\forall (c: C).(\forall (t: T).(\forall (i: nat).(flt c t
(CHead c k t) (TLRef i)))))
\def
- \lambda (_: K).(\lambda (c: C).(\lambda (t: T).(\lambda (_: nat).(le_S_n (S
-(plus (cweight c) (tweight t))) (plus (plus (cweight c) (tweight t)) (S O))
-(lt_le_S (S (plus (cweight c) (tweight t))) (S (plus (plus (cweight c)
-(tweight t)) (S O))) (lt_n_S (plus (cweight c) (tweight t)) (plus (plus
-(cweight c) (tweight t)) (S O)) (lt_x_plus_x_Sy (plus (cweight c) (tweight
-t)) O))))))).
+ \lambda (_: K).(\lambda (c: C).(\lambda (t: T).(\lambda (_:
+nat).(lt_x_plus_x_Sy (plus (cweight c) (tweight t)) O)))).
theorem flt_arith1:
\forall (k1: K).(\forall (c1: C).(\forall (c2: C).(\forall (t1: T).((cle
(eq_ind_r nat (plus (S O) (plus (cweight c2) (tweight t2))) (\lambda (n:
nat).(lt (cweight c2) n)) (le_lt_n_Sm (cweight c2) (plus (cweight c2)
(tweight t2)) (le_plus_l (cweight c2) (tweight t2))) (plus (plus (cweight c2)
-(tweight t2)) (S O)) (plus_comm (plus (cweight c2) (tweight t2)) (S
+(tweight t2)) (S O)) (plus_sym (plus (cweight c2) (tweight t2)) (S
O))))))))))).
theorem flt_arith2:
(H: (lt (plus (cweight c1) (tweight t1)) (plus (cweight c2) (S O)))).(\lambda
(_: K).(\lambda (t2: T).(\lambda (_: nat).(lt_le_trans (plus (cweight c1)
(tweight t1)) (plus (cweight c2) (S O)) (plus (plus (cweight c2) (tweight
-t2)) (S O)) H (le_S_n (plus (cweight c2) (S O)) (plus (plus (cweight c2)
-(tweight t2)) (S O)) (lt_le_S (plus (cweight c2) (S O)) (S (plus (plus
-(cweight c2) (tweight t2)) (S O))) (le_lt_n_Sm (plus (cweight c2) (S O))
-(plus (plus (cweight c2) (tweight t2)) (S O)) (plus_le_compat (cweight c2)
-(plus (cweight c2) (tweight t2)) (S O) (S O) (le_plus_l (cweight c2) (tweight
-t2)) (le_n (S O)))))))))))))).
+t2)) (S O)) H (le_plus_plus (cweight c2) (plus (cweight c2) (tweight t2)) (S
+O) (S O) (le_plus_l (cweight c2) (tweight t2)) (le_n (S O))))))))))).
+
+theorem flt_trans:
+ \forall (c1: C).(\forall (c2: C).(\forall (t1: T).(\forall (t2: T).((flt c1
+t1 c2 t2) \to (\forall (c3: C).(\forall (t3: T).((flt c2 t2 c3 t3) \to (flt
+c1 t1 c3 t3))))))))
+\def
+ \lambda (c1: C).(\lambda (c2: C).(\lambda (t1: T).(\lambda (t2: T).(\lambda
+(H: (lt (fweight c1 t1) (fweight c2 t2))).(\lambda (c3: C).(\lambda (t3:
+T).(\lambda (H0: (lt (fweight c2 t2) (fweight c3 t3))).(lt_trans (fweight c1
+t1) (fweight c2 t2) (fweight c3 t3) H H0)))))))).
theorem flt_wf__q_ind:
\forall (P: ((C \to (T \to Prop)))).(((\forall (n: nat).((\lambda (P0: ((C