From f104e539b06bf5695f4d526d5217a581f5a9c5f5 Mon Sep 17 00:00:00 2001 From: Ferruccio Guidi Date: Mon, 28 Nov 2005 19:42:52 +0000 Subject: [PATCH] coa continued --- .../contribs/PREDICATIVE-TOPOLOGY/coa_defs.ma | 17 +++++++- .../PREDICATIVE-TOPOLOGY/coa_props.ma | 19 +++++++++ .../PREDICATIVE-TOPOLOGY/domain_data.ma | 40 +++++++++++++++++++ 3 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 helm/matita/contribs/PREDICATIVE-TOPOLOGY/coa_props.ma create mode 100644 helm/matita/contribs/PREDICATIVE-TOPOLOGY/domain_data.ma diff --git a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/coa_defs.ma b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/coa_defs.ma index 6d4ea68af..4600b0ecc 100644 --- a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/coa_defs.ma +++ b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/coa_defs.ma @@ -15,7 +15,7 @@ set "baseuri" "cic:/matita/PREDICATIVE-TOPOLOGY/coa_defs". include "iff.ma". -include "domain_defs.ma". +include "domain_data.ma". (* COMPLETE OVERLAP ALGEBRAS *) @@ -37,6 +37,21 @@ record COA: Type \def { }. coercion coa. + +definition zero: \forall (P:COA). P \def + \lambda (P:COA). inf P ? (dvoid_ixfam P). + +definition one: \forall (P:COA). P \def + \lambda (P:COA). sup P ? (dvoid_ixfam P). + +definition binf: \forall (P:COA). P \to P \to P \def + \lambda (P:COA). \lambda p0,p1. + inf P ? (dbool_ixfam P p0 p1). + +definition bsup: \forall (P:COA). P \to P \to P \def + \lambda (P:COA). \lambda p0,p1. + sup P ? (dbool_ixfam P p0 p1). + (* inf_ov: forall p q, ov p q -> ov p (inf QDBool (bool_family _ p q)) properness: ov zero zero -> False; diff --git a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/coa_props.ma b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/coa_props.ma new file mode 100644 index 000000000..a25f8c79a --- /dev/null +++ b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/coa_props.ma @@ -0,0 +1,19 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +set "baseuri" "cic:/matita/PREDICATIVE-TOPOLOGY/coa_props". + +include "coa_defs.ma". + +theorem zero_le: \forall (P:COA). \forall (p:P). le ? (zero P) p. diff --git a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/domain_data.ma b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/domain_data.ma new file mode 100644 index 000000000..ed0afab4f --- /dev/null +++ b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/domain_data.ma @@ -0,0 +1,40 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +set "baseuri" "cic:/matita/PREDICATIVE-TOPOLOGY/domain_data". + +include "../../library/datatypes/constructors.ma". +include "../../library/datatypes/bool.ma". +include "domain_defs.ma". + +(* QUANTIFICATION DOMAINS + - Here we define some useful domains based on data types +*) + +definition DBool : Domain \def + mk_Domain (mk_Class bool (true_f ?) (eq ?)). + +definition dbool_ixfam : \forall (C:Class). C \to C \to (DBool \to C) \def + \lambda C,c0,c1,b. + match b in bool with + [ false \Rightarrow c0 + | true \Rightarrow c1 + ]. + +definition DVoid : Domain \def + mk_Domain (mk_Class void (true_f ?) (eq ?)). + +definition dvoid_ixfam : \forall (C:Class). (DVoid \to C) \def + \lambda C,v. + match v in void with []. -- 2.39.2