1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 set "baseuri" "cic:/matita/LOGIC/NTrack/defs".
17 (* NORMAL PROOF TREE TRACKS
20 include "datatypes/Proof.ma".
21 include "Insert/defs.ma".
23 inductive NTrack: Context \to Proof \to Sequent \to Prop \def
24 | ntrack_proj: \forall P,Q,S,i. Insert S i P Q \to NTrack Q (lref i) S
25 | ntrack_posr: \forall P,h.
26 NTrack P (parx h) (pair (posr h) (posr h))
27 | ntrack_impw: \forall P,r,D,a,b. NTrack P r (pair lleaf D) \to
28 NTrack P (impw r) (pair (impl a b) D)
29 | ntrack_impr: \forall P,r. \forall a,b:Formula.
30 NTrack P r (pair a b) \to
31 NTrack P (impr r) (pair lleaf (impl a b))
32 | ntrack_impi: \forall P,Q,p,q,r,A,B,D,i. \forall a,b:Formula.
33 NTrack P p (pair A a) \to
34 NTrack P q (pair b B) \to
35 NTrack Q r (pair lleaf D) \to
36 Insert (pair A B) i P Q \to
37 NTrack P (impi p q r) (pair (impl a b) D)