X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fcontribs%2FLOGIC%2FWeight%2Fdefs.ma;fp=matita%2Fcontribs%2FLOGIC%2FWeight%2Fdefs.ma;h=7e6439363ec44a6d51a15dad91c5bbea80341915;hp=0000000000000000000000000000000000000000;hb=f61af501fb4608cc4fb062a0864c774e677f0d76;hpb=58ae1809c352e71e7b5530dc41e2bfc834e1aef1 diff --git a/matita/contribs/LOGIC/Weight/defs.ma b/matita/contribs/LOGIC/Weight/defs.ma new file mode 100644 index 000000000..7e6439363 --- /dev/null +++ b/matita/contribs/LOGIC/Weight/defs.ma @@ -0,0 +1,36 @@ +(**************************************************************************) +(* ___ *) +(* ||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 *) +(* *) +(**************************************************************************) + + + +(* PROOF WEIGHT + For cut elimination and confluence +*) + +include "datatypes_defs/Context.ma". + + +inductive Weight: Nat \to Context \to Proof \to Nat \to Prop \def + | weight_prin: \forall Q,n,m. Weight m Q (prin n) m + | weight_impw: \forall p,Q,m0,m1. Weight m0 Q p m1 \to + \forall m. (m1 + m0 == m) \to + Weight m0 Q (impw p) m + | weight_impr: \forall p,Q,m0,m1. Weight m0 Q p m1 \to + \forall m. (m1 + m0 == m) \to + Weight m0 Q (impr p) m + | weight_scut: \forall p1,Q,m0,m1. Weight (succ m0) Q p1 m1 \to + \forall p2,m2. Weight (succ m0) Q p2 m2 \to + \forall m. (m1 + m2 == m) \to + Weight m0 Q (scut p1 p2) m +.