]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/dama/constructive_connectives.ma
the is_structure is a bad idea if you don't have canonical structures.
[helm.git] / helm / software / matita / dama / constructive_connectives.ma
index 0a840d5a51837289f5f32337c2efbbdd3c0128cb..8518d7ede45f0a68a07586f79ef1bccf4b219625 100644 (file)
@@ -27,17 +27,24 @@ inductive And (A,B:Type) : Type ≝
 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.x → False.