1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 (* This file was automatically generated: do not edit *********************)
17 include "basic_1A/flt/defs.ma".
20 \forall (P: ((C \to (T \to Prop)))).(((\forall (n: nat).((\lambda (P0: ((C
21 \to (T \to Prop)))).(\lambda (n0: nat).(\forall (c: C).(\forall (t: T).((eq
22 nat (fweight c t) n0) \to (P0 c t)))))) P n))) \to (\forall (c: C).(\forall
25 let Q \def (\lambda (P: ((C \to (T \to Prop)))).(\lambda (n: nat).(\forall
26 (c: C).(\forall (t: T).((eq nat (fweight c t) n) \to (P c t)))))) in (\lambda
27 (P: ((C \to (T \to Prop)))).(\lambda (H: ((\forall (n: nat).(\forall (c:
28 C).(\forall (t: T).((eq nat (fweight c t) n) \to (P c t))))))).(\lambda (c:
29 C).(\lambda (t: T).(H (fweight c t) c t (refl_equal nat (fweight c t))))))).
32 \forall (P: ((C \to (T \to Prop)))).(((\forall (c2: C).(\forall (t2:
33 T).(((\forall (c1: C).(\forall (t1: T).((flt c1 t1 c2 t2) \to (P c1 t1)))))
34 \to (P c2 t2))))) \to (\forall (c: C).(\forall (t: T).(P c t))))
36 let Q \def (\lambda (P: ((C \to (T \to Prop)))).(\lambda (n: nat).(\forall
37 (c: C).(\forall (t: T).((eq nat (fweight c t) n) \to (P c t)))))) in (\lambda
38 (P: ((C \to (T \to Prop)))).(\lambda (H: ((\forall (c2: C).(\forall (t2:
39 T).(((\forall (c1: C).(\forall (t1: T).((flt c1 t1 c2 t2) \to (P c1 t1)))))
40 \to (P c2 t2)))))).(\lambda (c: C).(\lambda (t: T).(flt_wf__q_ind P (\lambda
41 (n: nat).(lt_wf_ind n (Q P) (\lambda (n0: nat).(\lambda (H0: ((\forall (m:
42 nat).((lt m n0) \to (Q P m))))).(\lambda (c0: C).(\lambda (t0: T).(\lambda
43 (H1: (eq nat (fweight c0 t0) n0)).(let H2 \def (eq_ind_r nat n0 (\lambda (n1:
44 nat).(\forall (m: nat).((lt m n1) \to (\forall (c1: C).(\forall (t1: T).((eq
45 nat (fweight c1 t1) m) \to (P c1 t1))))))) H0 (fweight c0 t0) H1) in (H c0 t0
46 (\lambda (c1: C).(\lambda (t1: T).(\lambda (H3: (flt c1 t1 c0 t0)).(H2
47 (fweight c1 t1) H3 c1 t1 (refl_equal nat (fweight c1 t1))))))))))))))) c