X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2Fcontribs%2FPREDICATIVE-TOPOLOGY%2Fsubset_defs.ma;h=3cc583f02db26d1a44d1baec206424478c616dab;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=2ae2471dba16759f4f8bac6bf40b6686dc9da97a;hpb=192884dae520029b152a3f69989e51cc8af158ce;p=helm.git diff --git a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/subset_defs.ma b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/subset_defs.ma index 2ae2471db..3cc583f02 100644 --- a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/subset_defs.ma +++ b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/subset_defs.ma @@ -23,21 +23,44 @@ include "domain_defs.ma". definition Subset \def \lambda (D:Domain). D \to Prop. -(* subset inclusion *) -definition ssub: \forall D. Subset D \to Subset D \to Prop \def - \lambda D,U1,U2. \forall d. U1 d \to U2 d. +(* subset membership (epsilon) *) +definition sin : \forall D. Subset D \to D \to Prop \def + \lambda (D:Domain). \lambda U,d. cin D d \and U d. +(* subset top (full subset) *) +definition stop \def \lambda (D:Domain). true_f D. + +(* subset bottom (empty subset) *) +definition sbot \def \lambda (D:Domain). false_f D. + +(* subset and (binary intersection) *) +definition sand: \forall D. Subset D \to Subset D \to Subset D \def + \lambda D,U1,U2,d. U1 d \land U2 d. + +(* subset or (binary union) *) +definition sor: \forall D. Subset D \to Subset D \to Subset D \def + \lambda D,U1,U2,d. U1 d \lor U2 d. + +(* subset less or equal (inclusion) *) +definition sle: \forall D. Subset D \to Subset D \to Prop \def + \lambda D,U1,U2. \iforall d. U1 d \to U2 d. (* subset overlap *) definition sover: \forall D. Subset D \to Subset D \to Prop \def - \lambda D,U1,U2. \forall d. U1 d \to U2 d. + \lambda D,U1,U2. \iexists d. U1 d \land U2 d. +(* coercions **************************************************************) +(* the class of the subsets of a domain (not an implicit coercion) *) +definition class_of_subsets_of \def + \lambda D. mk_Class (Subset D) (true_f ?) (sle ?). -(* full subset: "subset top" *) -definition stop \def \lambda (D:Domain). \lambda (_:D). True. +(* the domain built upon a subset *) +definition domain_of_subset: \forall D. (Subset D) \to Domain \def + \lambda (D:Domain). \lambda U. + mk_Domain (mk_Class D (sin D U) (cle1 D)). -coercion stop. +coercion domain_of_subset. -(* empty subset: "subset bottom" *) -definition sbot \def \lambda (D:Domain). \lambda (_:D). False. \ No newline at end of file +(* the full subset of a domain *) +coercion stop.