]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/contribs/ng_assembly/common/sigma.ma
(no commit message)
[helm.git] / helm / software / matita / contribs / ng_assembly / common / sigma.ma
index 34ee411cd8cc84191f1ec2641b79830f11264841..529ca7ada03fc8e242df4987af656be8b0b9ac7d 100755 (executable)
 (*                          Progetto FreeScale                            *)
 (*                                                                        *)
 (*   Sviluppato da: Ing. Cosimo Oliboni, oliboni@cs.unibo.it              *)
-(*   Ultima modifica: 05/08/2009                                          *)
+(*   Sviluppo: 2008-2010                                                  *)
 (*                                                                        *)
 (* ********************************************************************** *)
 
+include "common/theory.ma".
+
 (* coppia dipendente *)
 
-inductive sigma (A:Type) (P:A → Type) : Type ≝
+ninductive sigma (A:Type) (P:A → Type) : Type ≝
     sigma_intro: ∀x:A.P x → sigma A P.
 
 notation < "hvbox(\Sigma ident i opt (: tx) break . p)"
@@ -44,7 +46,7 @@ interpretation "dependent pair" 'dependent_pair \eta.c a b = (sigma_intro ? c a
 
 interpretation "sigma" 'Sigma \eta.x = (sigma ? x).
 
-definition sigmaFst ≝
+ndefinition sigmaFst ≝
 λT:Type.λf:T → Type.λs:sigma T f.match s with [ sigma_intro x _ ⇒ x ].
-definition sigmaSnd ≝
+ndefinition sigmaSnd ≝
 λT:Type.λf:T → Type.λs:sigma T f.match s return λs.f (sigmaFst ?? s) with [ sigma_intro _ x ⇒ x ].