]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/delayed_updating/unwind/unwind_gen_eq.ma
update in delayed_updating
[helm.git] / matita / matita / contribs / lambdadelta / delayed_updating / unwind / unwind_gen_eq.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 include "delayed_updating/unwind/unwind_gen.ma".
16 include "ground/relocation/tr_pap_eq.ma".
17
18 (* GENERIC UNWIND FOR PATH **************************************************)
19
20 (* Constructions with stream_eq *********************************************)
21
22 lemma unwind_gen_eq_repl (p) (f1) (f2):
23       (∀n. f1 n ≗ f2 n) → ◆[f1]p = ◆[f2]p.
24 #p @(path_ind_unwind … p) -p // [ #n | #n #l #p |*: #p ] #IH #f1 #f2 #Hf
25 [ <unwind_gen_d_empty <unwind_gen_d_empty
26   <(tr_pap_eq_repl … (Hf n)) -f2 -IH //
27 | <unwind_gen_d_lcons <unwind_gen_d_lcons
28   <(IH … Hf) -f2 -IH //
29 | <unwind_gen_m_sn <unwind_gen_m_sn
30   <(IH … Hf) -f2 -IH //
31 | <unwind_gen_L_sn <unwind_gen_L_sn
32   <(IH … Hf) -f2 -IH //
33 | <unwind_gen_A_sn <unwind_gen_A_sn
34   <(IH … Hf) -f2 -IH //
35 | <unwind_gen_S_sn <unwind_gen_S_sn
36   <(IH … Hf) -f2 -IH //
37 ]
38 qed-.