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_1/sn3/fwd.ma".
19 include "basic_1/nf2/dec.ma".
21 include "basic_1/nf2/pr3.ma".
24 \forall (c: C).(\forall (t: T).((nf2 c t) \to (sn3 c t)))
26 \lambda (c: C).(\lambda (t: T).(\lambda (H: (nf2 c t)).(let TMP_7 \def
27 (\lambda (t2: T).(\lambda (H0: (((eq T t t2) \to (\forall (P:
28 Prop).P)))).(\lambda (H1: (pr3 c t t2)).(let H_y \def (nf2_pr3_unfold c t t2
29 H1 H) in (let TMP_1 \def (\lambda (t0: T).(pr3 c t t0)) in (let H2 \def
30 (eq_ind_r T t2 TMP_1 H1 t H_y) in (let TMP_2 \def (\lambda (t0: T).((eq T t
31 t0) \to (\forall (P: Prop).P))) in (let H3 \def (eq_ind_r T t2 TMP_2 H0 t
32 H_y) in (let TMP_3 \def (\lambda (t0: T).(sn3 c t0)) in (let TMP_4 \def
33 (refl_equal T t) in (let TMP_5 \def (sn3 c t) in (let TMP_6 \def (H3 TMP_4
34 TMP_5) in (eq_ind T t TMP_3 TMP_6 t2 H_y))))))))))))) in (sn3_sing c t
38 \forall (c: C).(\forall (t: T).((sn3 c t) \to (ex2 T (\lambda (u: T).(pr3 c
39 t u)) (\lambda (u: T).(nf2 c u)))))
41 \lambda (c: C).(\lambda (t: T).(\lambda (H: (sn3 c t)).(let TMP_3 \def
42 (\lambda (t0: T).(let TMP_1 \def (\lambda (u: T).(pr3 c t0 u)) in (let TMP_2
43 \def (\lambda (u: T).(nf2 c u)) in (ex2 T TMP_1 TMP_2)))) in (let TMP_32 \def
44 (\lambda (t1: T).(\lambda (_: ((\forall (t2: T).((((eq T t1 t2) \to (\forall
45 (P: Prop).P))) \to ((pr3 c t1 t2) \to (sn3 c t2)))))).(\lambda (H1: ((\forall
46 (t2: T).((((eq T t1 t2) \to (\forall (P: Prop).P))) \to ((pr3 c t1 t2) \to
47 (ex2 T (\lambda (u: T).(pr3 c t2 u)) (\lambda (u: T).(nf2 c u)))))))).(let
48 H_x \def (nf2_dec c t1) in (let H2 \def H_x in (let TMP_4 \def (nf2 c t1) in
49 (let TMP_5 \def (\lambda (t2: T).((eq T t1 t2) \to (\forall (P: Prop).P))) in
50 (let TMP_6 \def (\lambda (t2: T).(pr2 c t1 t2)) in (let TMP_7 \def (ex2 T
51 TMP_5 TMP_6) in (let TMP_8 \def (\lambda (u: T).(pr3 c t1 u)) in (let TMP_9
52 \def (\lambda (u: T).(nf2 c u)) in (let TMP_10 \def (ex2 T TMP_8 TMP_9) in
53 (let TMP_14 \def (\lambda (H3: (nf2 c t1)).(let TMP_11 \def (\lambda (u:
54 T).(pr3 c t1 u)) in (let TMP_12 \def (\lambda (u: T).(nf2 c u)) in (let
55 TMP_13 \def (pr3_refl c t1) in (ex_intro2 T TMP_11 TMP_12 t1 TMP_13 H3)))))
56 in (let TMP_31 \def (\lambda (H3: (ex2 T (\lambda (t2: T).((eq T t1 t2) \to
57 (\forall (P: Prop).P))) (\lambda (t2: T).(pr2 c t1 t2)))).(let TMP_15 \def
58 (\lambda (t2: T).((eq T t1 t2) \to (\forall (P: Prop).P))) in (let TMP_16
59 \def (\lambda (t2: T).(pr2 c t1 t2)) in (let TMP_17 \def (\lambda (u: T).(pr3
60 c t1 u)) in (let TMP_18 \def (\lambda (u: T).(nf2 c u)) in (let TMP_19 \def
61 (ex2 T TMP_17 TMP_18) in (let TMP_30 \def (\lambda (x: T).(\lambda (H4: (((eq
62 T t1 x) \to (\forall (P: Prop).P)))).(\lambda (H5: (pr2 c t1 x)).(let H_y
63 \def (H1 x H4) in (let TMP_20 \def (pr3_pr2 c t1 x H5) in (let H6 \def (H_y
64 TMP_20) in (let TMP_21 \def (\lambda (u: T).(pr3 c x u)) in (let TMP_22 \def
65 (\lambda (u: T).(nf2 c u)) in (let TMP_23 \def (\lambda (u: T).(pr3 c t1 u))
66 in (let TMP_24 \def (\lambda (u: T).(nf2 c u)) in (let TMP_25 \def (ex2 T
67 TMP_23 TMP_24) in (let TMP_29 \def (\lambda (x0: T).(\lambda (H7: (pr3 c x
68 x0)).(\lambda (H8: (nf2 c x0)).(let TMP_26 \def (\lambda (u: T).(pr3 c t1 u))
69 in (let TMP_27 \def (\lambda (u: T).(nf2 c u)) in (let TMP_28 \def (pr3_sing
70 c x t1 H5 x0 H7) in (ex_intro2 T TMP_26 TMP_27 x0 TMP_28 H8))))))) in
71 (ex2_ind T TMP_21 TMP_22 TMP_25 TMP_29 H6))))))))))))) in (ex2_ind T TMP_15
72 TMP_16 TMP_19 TMP_30 H3)))))))) in (or_ind TMP_4 TMP_7 TMP_10 TMP_14 TMP_31
73 H2))))))))))))))) in (sn3_ind c TMP_3 TMP_32 t H))))).