]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_inner.ma
0db6d2f65327310a9a7d5d6ba2765fcde15ded56
[helm.git] / matita / matita / contribs / lambdadelta / delayed_updating / syntax / path_inner.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/syntax/path.ma".
16 include "delayed_updating/notation/functions/class_i_0.ma".
17 include "ground/lib/subset.ma".
18
19 (* INNER CONDITION FOR PATH *************************************************)
20
21 definition pic: predicate path ā‰
22            Ī»p. āˆ€q,k. qā—–š—±k = p ā†’ āŠ„
23 .
24
25 interpretation
26   "inner condition (path)"
27   'ClassI = (pic).
28
29 (* Basic constructions ******************************************************)
30
31 lemma pic_empty:
32       (šž) Ļµ šˆ.
33 #q #k #H0 destruct
34 qed.
35
36 lemma pic_m_dx (p):
37       pā—–š—ŗ Ļµ šˆ.
38 #p #q #k #H0 destruct
39 qed.
40
41 lemma pic_L_dx (p):
42       pā—–š—Ÿ Ļµ šˆ.
43 #p #q #k #H0 destruct
44 qed.
45
46 lemma pic_A_dx (p):
47       pā—–š—” Ļµ šˆ.
48 #p #q #k #H0 destruct
49 qed.
50
51 lemma pic_S_dx (p):
52       pā—–š—¦ Ļµ šˆ.
53 #p #q #k #H0 destruct
54 qed.
55
56 (* Basic inversions ********************************************************)
57
58 lemma pic_inv_d_dx (p) (k):
59       pā—–š—±k Ļµ šˆ ā†’ āŠ„.
60 #p #k #H0 @H0 -H0 //
61 qed-.
62
63 (* Constructions with path_lcons ********************************************)
64
65 lemma pic_m_sn (p):
66       p Ļµ šˆ ā†’ š—ŗā——p Ļµ šˆ.
67 * [| * [ #k ] #p #Hp <list_cons_shift ] //
68 [ #_ <list_cons_comm //
69 | elim (pic_inv_d_dx ā€¦ Hp)
70 ]
71 qed.
72
73 lemma pic_L_sn (p):
74       p Ļµ šˆ ā†’ š—Ÿā——p Ļµ šˆ.
75 * [| * [ #k ] #p #Hp <list_cons_shift ] //
76 [ #_ <list_cons_comm //
77 | elim (pic_inv_d_dx ā€¦ Hp)
78 ]
79 qed.
80
81 lemma pic_A_sn (p):
82       p Ļµ šˆ ā†’ š—”ā——p Ļµ šˆ.
83 * [| * [ #k ] #p #Hp <list_cons_shift ] //
84 [ #_ <list_cons_comm //
85 | elim (pic_inv_d_dx ā€¦ Hp)
86 ]
87 qed.
88
89 lemma pic_S_sn (p):
90       p Ļµ šˆ ā†’ š—¦ā——p Ļµ šˆ.
91 * [| * [ #k ] #p #Hp <list_cons_shift ] //
92 [ #_ <list_cons_comm //
93 | elim (pic_inv_d_dx ā€¦ Hp)
94 ]
95 qed.