]> matita.cs.unibo.it Git - helm.git/blob - matita/contribs/LOGIC/Track/pred.ma
tagged 0.5.0-rc1
[helm.git] / matita / contribs / LOGIC / Track / pred.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
16
17 (**)
18
19 include "datatypes_props/Sequent.ma".
20 include "Track/inv.ma".
21 include "PRed/defs.ma".
22
23 theorem track_pred: \forall Q1,Q2,p1,p2,S1,S2. [Q1, p1, S1] => [Q2, p2, S2] \to
24                     Track Q1 p1 S1 \to Track Q2 p2 S2.
25  intros 7; elim H; clear H Q1 Q2 p1 p2 S1 S2;
26  [ autobatch
27  | autobatch
28  | lapply linear track_inv_impw to H3; decompose; destruct; autobatch
29  | lapply linear track_inv_impr to H3; decompose; destruct; autobatch
30  | lapply linear track_inv_impi to H7; decompose; destruct; autobatch size = 7
31  | lapply linear track_inv_scut to H5; decompose; destruct; autobatch
32  | lapply linear track_inv_scut to H4; decompose; destruct;
33    lapply linear track_inv_lref to H6; decompose; autobatch
34  | lapply linear track_inv_scut to H4; decompose; destruct;
35    lapply linear track_inv_lref to H5; decompose; autobatch
36  | lapply linear track_inv_scut to H3; decompose; destruct;
37    lapply linear track_inv_prin to H5; destruct;
38    lapply linear rinj_inj to Hcut1; destruct; autobatch
39  | lapply linear track_inv_scut to H3; decompose; destruct;
40    lapply linear track_inv_prin to H4; destruct; 
41    lapply linear linj_inj to Hcut; destruct; autobatch
42  | lapply linear track_inv_scut to H3; decompose; destruct;
43    lapply linear track_inv_impw to H4; decompose; destruct;
44    lapply linear track_inv_impr to H5; decompose; destruct; autobatch
45  ].
46 qed.