]> matita.cs.unibo.it Git - helm.git/commitdiff
added some notation
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Thu, 27 Sep 2007 14:48:14 +0000 (14:48 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Thu, 27 Sep 2007 14:48:14 +0000 (14:48 +0000)
matita/contribs/LOGIC/CLE/defs.ma
matita/contribs/LOGIC/PEq/defs.ma [new file with mode: 0644]
matita/contribs/LOGIC/PNF/defs.ma
matita/contribs/LOGIC/PRed/defs.ma
matita/contribs/LOGIC/PRed/wlt.ma [new file with mode: 0644]
matita/contribs/LOGIC/Track/pred.ma
matita/contribs/LOGIC/WLT/defs.ma [new file with mode: 0644]

index 31bd7694e02e58e59e25088a1e68d7ea9bad03a1..a714a0488558b9dabc221f62de61d344557adc2d 100644 (file)
@@ -1,3 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
 set "baseuri" "cic:/matita/LOGIC/CLE/defs".
 
 (* ORDER RELATION BETWEEN POSITIONS AND CONTEXTS
diff --git a/matita/contribs/LOGIC/PEq/defs.ma b/matita/contribs/LOGIC/PEq/defs.ma
new file mode 100644 (file)
index 0000000..eabbfb8
--- /dev/null
@@ -0,0 +1,35 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+set "baseuri" "cic:/matita/LOGIC/PEq/defs".
+
+(* EQUALITY PREDICATE FOR PROOFS IN CONTEXT
+*)
+
+include "datatypes/Context.ma".
+
+inductive PEq (Q1:Context) (p1:Proof) (Q2:Context) (p2:Proof): Prop \def
+   | peq_intro: Q1 = Q2 \land p1 = p2 \to PEq Q1 p1 Q2 p2
+.
+
+(*CSC: the URI must disappear: there is a bug now *)
+interpretation 
+   "leibniz equality between proofs in context"
+   'eq2 x1 y1 x2 y2 = 
+      (cic:/matita/LOGIC/PEq/defs/PEq.ind#xpointer(1/1) x1 y1 x2 y2)
+.
+
+notation "hvbox([a1,b1] break = [a2,b2])" 
+  non associative with precedence 45
+for @{ 'eq2 $a1 $b1 $a2 $b2 }.
index feea35b43b031964ad28d4b575a8c8cb33c9964f..4f11e8c561cfd1e844641a6741bbf5801e40f2ab 100644 (file)
 
 set "baseuri" "cic:/matita/LOGIC/PNF/defs".
 
-(* NORMAL FORM PREDICATE FOR PARALLEL REDUCTION
+(* NORMAL FORM PREDICATE FOR PROOFS IN CONTEXT
+   For cut elimination
 *)
 
+include "PEq/defs.ma".
 include "PRed/defs.ma".
-(*
-inductive PNF: Proof \to Prop \def
-   | pnf: \forall p. (\forall q. p => q \to p = q) \to PNF p
+
+inductive PNF (P:Context) (p:Proof): Prop \def
+   | pnf: (\forall q,Q,S. [P, p, S] => [Q, q, S] \to [P, p] = [Q, q]) \to 
+          PNF P p
 .
-*)
index 51aaa94b24130503cd9aa6aa5ab283faa8ce1f08..85a4c3bf9af0512e4ef7599cf0cdaeda1b00ac9b 100644 (file)
@@ -57,3 +57,7 @@ interpretation
    'parred3 x1 y1 z1 x2 y2 z2 = 
       (cic:/matita/LOGIC/PRed/defs/PRed.ind#xpointer(1/1) x1 y1 z1 x2 y2 z2)
 .
+
+notation "hvbox([a1,b1,c1] break => [a2,b2,c2])" 
+  non associative with precedence 45
+for @{ 'parred3 $a1 $b1 $c1 $a2 $b2 $c2 }.
diff --git a/matita/contribs/LOGIC/PRed/wlt.ma b/matita/contribs/LOGIC/PRed/wlt.ma
new file mode 100644 (file)
index 0000000..3e7d727
--- /dev/null
@@ -0,0 +1,29 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+set "baseuri" "cic:/matita/LOGIC/PRed/wlt".
+
+(**)
+
+include "PEq/defs.ma".
+include "PRed/defs.ma".
+include "WLT/defs.ma".
+(*
+theorem pred_wlt: \forall p1,p2,Q1,Q2,S.
+                  [Q1, p1, S] => [Q2, p2, S] \to \lnot [Q1, p1] = [Q2, p2] \to
+                  [Q2, p2] < [Q1, p1].
+ intros 6; elim H; clear H;
+ [ unfold Not in H1; lapply linear depth = 1 H1;
+   [ decompose | autobatch ]
+*)
index c7f6198f95f01e9fedcefdce6c33504223a60892..f9c172813bc9466ac52941cece0881d3cc68c736 100644 (file)
@@ -19,7 +19,7 @@ set "baseuri" "cic:/matita/LOGIC/Track/pred".
 include "Track/inv.ma".
 include "PRed/defs.ma".
 
-theorem track_pred: \forall Q1,Q2,p1,p2,S1,S2. PRed Q1 p1 S1 Q2 p2 S2 \to
+theorem track_pred: \forall Q1,Q2,p1,p2,S1,S2. [Q1, p1, S1] => [Q2, p2, S2] \to
                     Track Q1 p1 S1 \to Track Q2 p2 S2.
  intros 7; elim H; clear H Q1 Q2 p1 p2 S1 S2;
  [ autobatch
diff --git a/matita/contribs/LOGIC/WLT/defs.ma b/matita/contribs/LOGIC/WLT/defs.ma
new file mode 100644 (file)
index 0000000..5a844a6
--- /dev/null
@@ -0,0 +1,34 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+set "baseuri" "cic:/matita/LOGIC/WLT/defs".
+
+(* ORDER RELATION BETWEEN PROOFS IN CONTEXT
+*)
+
+include "Weight/defs.ma".
+
+inductive WLT (Q1:Context) (p1:Proof) (Q2:Context) (p2:Proof): Prop \def
+   | wlt_intro: \forall m,m1. Weight m Q1 p1 m1 \to
+                \forall m2. Weight m Q2 p2 m2 \to
+                m1 < m2 \to WLT Q1 p1 Q2 p2               
+.
+
+interpretation "order relation between proofs in context" 
+   'lt2 x1 y1 x2 y2 = 
+      (cic:/matita/LOGIC/WLT/defs/WLT.ind#xpointer(1/1) x1 y1 x2 y2).
+
+notation "hvbox([a1, b1] break \lt [a2, b2])" 
+  non associative with precedence 45
+for @{ 'lt2 $a1 $b1 $a2 $b2 }.