]> matita.cs.unibo.it Git - helm.git/blob - matita/contribs/LOGIC/Track/defs.ma
New developement LOGIC about the cut elimination of implication for Sambin's basic...
[helm.git] / matita / contribs / LOGIC / Track / defs.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 set "baseuri" "cic:/matita/LOGIC/Track/defs".
16
17 (* PROOF TREE TRACKS
18 *)
19
20 include "datatypes/Proof.ma".
21 include "Insert/defs.ma".
22
23 inductive Track: Context \to Proof \to Sequent \to Prop \def
24    | track_proj: \forall P,Q,S,i. Insert S i P Q \to Track Q (lref i) S
25    | track_posr: \forall P,h.
26                  Track P (parx h) (pair (posr h) (posr h))
27    | track_impw: \forall P,r,D,a,b. Track P r (pair lleaf D) \to
28                  Track P (impw r) (pair (impl a b) D)
29    | track_impi: \forall P,r. \forall a,b:Formula. 
30                  Track P r (pair a b) \to 
31                  Track P (impi r) (pair lleaf (impl a b))
32    | track_impe: \forall P,Q,r,D,i. \forall a,b:Formula.
33                  Track Q r (pair lleaf D) \to
34                  Insert (pair a b) i P Q \to
35                  Track P (impe r) (pair (impl a b) D) 
36 (*   
37    | track_impe: \forall P,p,q,r,A,B,D,a,b.
38                  Track P p (pair A (rinj a)) \to
39                  Track P q (pair (linj b) B) \to
40                  Track (abst P (pair A B)) r (pair lleaf D) \to
41                  Track P (impe p q r) (pair (linj (impl a b)) D)
42 *)
43 .