X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fdama%2Fconstructive_connectives.ma;h=78e2ec571639f54103b6df1632df9c9022c7d577;hb=8da8820a77f2104dd1bf17c01fa77f75ee31c8fb;hp=b7f15e500075501618d99718ff90c173de60c857;hpb=2d406b0e91788ab83ddad04be1d9532a23bb9e59;p=helm.git diff --git a/helm/software/matita/dama/constructive_connectives.ma b/helm/software/matita/dama/constructive_connectives.ma index b7f15e500..78e2ec571 100644 --- a/helm/software/matita/dama/constructive_connectives.ma +++ b/helm/software/matita/dama/constructive_connectives.ma @@ -12,29 +12,42 @@ (* *) (**************************************************************************) -set "baseuri" "cic:/matita/constructive_connectives/". +include "logic/connectives.ma". -inductive or (A,B:Type) : Type \def - Left : A → or A B - | Right : B → or A B. +inductive Or (A,B:Type) : Type ≝ + Left : A → Or A B + | Right : B → Or A B. interpretation "constructive or" 'or x y = - (cic:/matita/constructive_connectives/or.ind#xpointer(1/1) x y). + (cic:/matita/constructive_connectives/Or.ind#xpointer(1/1) x y). -inductive ex (A:Type) (P:A→Prop) : Type \def +inductive And (A,B:Type) : Type ≝ + | Conj : A → B → And A B. + +interpretation "constructive and" 'and x y = + (cic:/matita/constructive_connectives/And.ind#xpointer(1/1) x y). + +inductive exT (A:Type) (P:A→Type) : Type ≝ + ex_introT: ∀w:A. P w → exT A P. + +inductive ex (A:Type) (P:A→Prop) : Type ≝ ex_intro: ∀w:A. P w → ex A P. +(* notation < "hvbox(Σ ident i opt (: ty) break . p)" right associative with precedence 20 for @{ 'sigma ${default @{\lambda ${ident i} : $ty. $p)} @{\lambda ${ident i} . $p}}}. +*) -interpretation "constructive exists" 'sigma \eta.x = +interpretation "constructive exists" 'exists \eta.x = (cic:/matita/constructive_connectives/ex.ind#xpointer(1/1) _ x). +interpretation "constructive exists (Type)" 'exists \eta.x = + (cic:/matita/constructive_connectives/exT.ind#xpointer(1/1) _ x). alias id "False" = "cic:/matita/logic/connectives/False.ind#xpointer(1/1)". -definition Not ≝ λx:Type.False. +definition Not ≝ λx:Type.x → False. interpretation "constructive not" 'not x = - (cic:/matita/constructive_connectives/Not.con x). \ No newline at end of file + (cic:/matita/constructive_connectives/Not.con x).