X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fcontribs%2Fdama%2Fdama%2Fcprop_connectives.ma;fp=helm%2Fsoftware%2Fmatita%2Fcontribs%2Fdama%2Fdama%2Fcprop_connectives.ma;h=0000000000000000000000000000000000000000;hb=80ea6f314e89d9d280338c41860cb04949319629;hp=93fbac9b287770fa803cc9865c371bdf60c658e9;hpb=a99ab6bf4e5bb993d363a9e62985371ba14cf71a;p=helm.git diff --git a/helm/software/matita/contribs/dama/dama/cprop_connectives.ma b/helm/software/matita/contribs/dama/dama/cprop_connectives.ma deleted file mode 100644 index 93fbac9b2..000000000 --- a/helm/software/matita/contribs/dama/dama/cprop_connectives.ma +++ /dev/null @@ -1,120 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||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 *) -(* *) -(**************************************************************************) - -include "logic/equality.ma". -include "datatypes/constructors.ma". - -inductive Or (A,B:CProp) : CProp ≝ - | Left : A → Or A B - | Right : B → Or A B. - -interpretation "constructive or" 'or x y = (Or x y). - -inductive Or3 (A,B,C:CProp) : CProp ≝ - | Left3 : A → Or3 A B C - | Middle3 : B → Or3 A B C - | Right3 : C → Or3 A B C. - -interpretation "constructive ternary or" 'or3 x y z= (Or3 x y z). - -notation < "hvbox(a break ∨ b break ∨ c)" with precedence 35 for @{'or3 $a $b $c}. - -inductive Or4 (A,B,C,D:CProp) : CProp ≝ - | Left3 : A → Or4 A B C D - | Middle3 : B → Or4 A B C D - | Right3 : C → Or4 A B C D - | Extra3: D → Or4 A B C D. - -interpretation "constructive ternary or" 'or4 x y z t = (Or4 x y z t). - -notation < "hvbox(a break ∨ b break ∨ c break ∨ d)" with precedence 35 for @{'or4 $a $b $c $d}. - -inductive And (A,B:CProp) : CProp ≝ - | Conj : A → B → And A B. - -interpretation "constructive and" 'and x y = (And x y). - -inductive And3 (A,B,C:CProp) : CProp ≝ - | Conj3 : A → B → C → And3 A B C. - -notation < "hvbox(a break ∧ b break ∧ c)" with precedence 35 for @{'and3 $a $b $c}. - -interpretation "constructive ternary and" 'and3 x y z = (And3 x y z). - -inductive And4 (A,B,C,D:CProp) : CProp ≝ - | Conj4 : A → B → C → D → And4 A B C D. - -notation < "hvbox(a break ∧ b break ∧ c break ∧ d)" with precedence 35 for @{'and4 $a $b $c $d}. - -interpretation "constructive quaternary and" 'and4 x y z t = (And4 x y z t). - -inductive exT (A:Type) (P:A→CProp) : CProp ≝ - ex_introT: ∀w:A. P w → exT A P. - -notation "\ll term 19 a, break term 19 b \gg" -with precedence 90 for @{'dependent_pair $a $b}. -interpretation "dependent pair" 'dependent_pair a b = - (ex_introT _ _ a b). - -interpretation "CProp exists" 'exists \eta.x = (exT _ x). - -notation "\ll term 19 a, break term 19 b \gg" -with precedence 90 for @{'dependent_pair $a $b}. -interpretation "dependent pair" 'dependent_pair a b = - (ex_introT _ _ a b). - - -definition pi1exT ≝ λA,P.λx:exT A P.match x with [ex_introT x _ ⇒ x]. -definition pi2exT ≝ - λA,P.λx:exT A P.match x return λx.P (pi1exT ?? x) with [ex_introT _ p ⇒ p]. - -interpretation "exT \fst" 'pi1 = (pi1exT _ _). -interpretation "exT \fst" 'pi1a x = (pi1exT _ _ x). -interpretation "exT \fst" 'pi1b x y = (pi1exT _ _ x y). -interpretation "exT \snd" 'pi2 = (pi2exT _ _). -interpretation "exT \snd" 'pi2a x = (pi2exT _ _ x). -interpretation "exT \snd" 'pi2b x y = (pi2exT _ _ x y). - -inductive exT23 (A:Type) (P:A→CProp) (Q:A→CProp) (R:A→A→CProp) : CProp ≝ - ex_introT23: ∀w,p:A. P w → Q p → R w p → exT23 A P Q R. - -definition pi1exT23 ≝ - λA,P,Q,R.λx:exT23 A P Q R.match x with [ex_introT23 x _ _ _ _ ⇒ x]. -definition pi2exT23 ≝ - λA,P,Q,R.λx:exT23 A P Q R.match x with [ex_introT23 _ x _ _ _ ⇒ x]. - -interpretation "exT2 \fst" 'pi1 = (pi1exT23 _ _ _ _). -interpretation "exT2 \snd" 'pi2 = (pi2exT23 _ _ _ _). -interpretation "exT2 \fst" 'pi1a x = (pi1exT23 _ _ _ _ x). -interpretation "exT2 \snd" 'pi2a x = (pi2exT23 _ _ _ _ x). -interpretation "exT2 \fst" 'pi1b x y = (pi1exT23 _ _ _ _ x y). -interpretation "exT2 \snd" 'pi2b x y = (pi2exT23 _ _ _ _ x y). - -definition Not : CProp → Prop ≝ λx:CProp.x → False. - -interpretation "constructive not" 'not x = (Not x). - -definition cotransitive ≝ - λC:Type.λlt:C→C→CProp.∀x,y,z:C. lt x y → lt x z ∨ lt z y. - -definition coreflexive ≝ λC:Type.λlt:C→C→CProp. ∀x:C. ¬ (lt x x). - -definition symmetric ≝ λC:Type.λlt:C→C→CProp. ∀x,y:C.lt x y → lt y x. - -definition antisymmetric ≝ λA:Type.λR:A→A→CProp.λeq:A→A→Prop.∀x:A.∀y:A.R x y→R y x→eq x y. - -definition reflexive ≝ λA:Type.λR:A→A→CProp.∀x:A.R x x. - -definition transitive ≝ λA:Type.λR:A→A→CProp.∀x,y,z:A.R x y → R y z → R x z. -