]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/dama/constructive_connectives.ma
ordered set is over, much new stuff coming from a coreflexivee/cotransitive
[helm.git] / matita / dama / constructive_connectives.ma
index 259357934da012a99aba8adafac2febba1152462..2cf0d8d58b8d7ba389d10c67421fa2be0b785008 100644 (file)
 
 set "baseuri" "cic:/matita/constructive_connectives/".
 
-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 "classical or" 'or x y =
-  (cic:/matita/constructive_connectives/or.ind#xpointer(1/1) x y).
+interpretation "constructive or" 'or x y =
+  (cic:/matita/constructive_connectives/Or.ind#xpointer(1/1) x y).
 
+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 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 =
+  (cic:/matita/constructive_connectives/ex.ind#xpointer(1/1) _ x).
+
+alias id "False" = "cic:/matita/logic/connectives/False.ind#xpointer(1/1)".
+definition Not ≝ λx:Type.x → False.
+
+interpretation "constructive not" 'not x = 
+  (cic:/matita/constructive_connectives/Not.con x).
\ No newline at end of file