]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_inner.ma
25678301b5951bb84b6edaf188cbf9d2f05ebbc5
[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 include "ground/generated/insert_eq_1.ma".
19
20 (* INNER CONDITION FOR PATH *************************************************)
21
22 inductive pic: predicate path ā‰
23 | pic_empty: (šž) Ļµ pic
24 | pic_m_dx (p): pā—–š—ŗ Ļµ pic
25 | pic_L_dx (p): pā—–š—Ÿ Ļµ pic
26 | pic_A_dx (p): pā—–š—” Ļµ pic
27 | pic_S_dx (p): pā—–š—¦ Ļµ pic
28 .
29
30 interpretation
31   "inner condition (path)"
32   'ClassI = (pic).
33
34 (* Basic inversions ********************************************************)
35
36 lemma pic_inv_d_dx (p) (k):
37       pā—–š—±k Ļµ šˆ ā†’ āŠ„.
38 #p #k @(insert_eq_1 ā€¦ (pā—–š—±k))
39 #q * -q [|*: #q ] #H0 destruct
40 qed-.
41
42 lemma pic_inv_d2_dx (p) (k) (d):
43       pā—–š—±āØk,dā© Ļµ šˆ ā†’ āŠ„.
44 #p #k #d @(insert_eq_1 ā€¦ (pā—–š—±āØk,dā©))
45 #q * -q [|*: #q ] #H0 destruct
46 qed-.
47
48 (* Constructions with path_lcons ********************************************)
49
50 lemma pic_m_sn (p):
51       p Ļµ šˆ ā†’ š—ŗā——p Ļµ šˆ.
52 #p * -p //
53 qed.
54
55 lemma pic_L_sn (p):
56       p Ļµ šˆ ā†’ š—Ÿā——p Ļµ šˆ.
57 #p * -p //
58 qed.
59
60 lemma pic_A_sn (p):
61       p Ļµ šˆ ā†’ š—”ā——p Ļµ šˆ.
62 #p * -p //
63 qed.
64
65 lemma pic_S_sn (p):
66       p Ļµ šˆ ā†’ š—¦ā——p Ļµ šˆ.
67 #p * -p //
68 qed.