X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fsoftware%2Fmatita%2Fcontribs%2Fng_assembly%2Fcommon%2Fsigma.ma;h=529ca7ada03fc8e242df4987af656be8b0b9ac7d;hb=0f13d14b63b012e0ea8ce0d0e71bf808fdd444eb;hp=34ee411cd8cc84191f1ec2641b79830f11264841;hpb=38fccc2b774e493a94eedef76342b56079c0e694;p=helm.git diff --git a/helm/software/matita/contribs/ng_assembly/common/sigma.ma b/helm/software/matita/contribs/ng_assembly/common/sigma.ma index 34ee411cd..529ca7ada 100755 --- a/helm/software/matita/contribs/ng_assembly/common/sigma.ma +++ b/helm/software/matita/contribs/ng_assembly/common/sigma.ma @@ -16,13 +16,15 @@ (* 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 ].