From 6f1b6f85a78d4c8da42f035f433fe4b85962bd9b Mon Sep 17 00:00:00 2001 From: Ferruccio Guidi Date: Wed, 8 Jun 2022 20:27:49 +0200 Subject: [PATCH] update in ground * subset overlap --- .../lambdadelta/ground/lib/subset_overlap.ma | 36 +++++++++++++++++++ .../ground/notation/relations/between_3.ma | 27 ++++++++++++++ .../notation/relations/not_between_3.ma | 27 ++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 matita/matita/contribs/lambdadelta/ground/lib/subset_overlap.ma create mode 100644 matita/matita/contribs/lambdadelta/ground/notation/relations/between_3.ma create mode 100644 matita/matita/contribs/lambdadelta/ground/notation/relations/not_between_3.ma diff --git a/matita/matita/contribs/lambdadelta/ground/lib/subset_overlap.ma b/matita/matita/contribs/lambdadelta/ground/lib/subset_overlap.ma new file mode 100644 index 000000000..3ca30d578 --- /dev/null +++ b/matita/matita/contribs/lambdadelta/ground/lib/subset_overlap.ma @@ -0,0 +1,36 @@ +(**************************************************************************) +(* ___ *) +(* ||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 *) +(* *) +(**************************************************************************) + +include "ground/lib/subset.ma". +include "ground/notation/relations/between_3.ma". +include "ground/notation/relations/not_between_3.ma". + +(* OVERLAP FOR SUBSETS ******************************************************) + +definition subset_ol (A): relation2 (𝒫❨A❩) (𝒫❨A❩) ≝ + λu1,u2. ∃∃p. p ϵ u1 & p ϵ u2. + +interpretation + "overlap (subset)" + 'Between A u1 u2 = (subset_ol A u1 u2). + +interpretation + "negated overlap (subset)" + 'NotBetween A u1 u2 = (negation (subset_ol A u1 u2)). + +(* Basic constructions ******************************************************) + +lemma subset_ol_i (A) (u1) (u2) (a): + a ϵ u1 → a ϵ u2 → u1 ≬{A} u2. +/2 width=3 by ex2_intro/ qed. diff --git a/matita/matita/contribs/lambdadelta/ground/notation/relations/between_3.ma b/matita/matita/contribs/lambdadelta/ground/notation/relations/between_3.ma new file mode 100644 index 000000000..9d61d3b9f --- /dev/null +++ b/matita/matita/contribs/lambdadelta/ground/notation/relations/between_3.ma @@ -0,0 +1,27 @@ +(**************************************************************************) +(* ___ *) +(* ||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 *) +(* *) +(**************************************************************************) + +(* GROUND NOTATION **********************************************************) + +notation < "hvbox( a ≬ break term 46 u )" + non associative with precedence 45 + for @{ 'Between $S $a $u }. + +notation > "hvbox( a ≬ break term 46 u )" + non associative with precedence 45 + for @{ 'Between ? $a $u }. + +notation > "hvbox( a ≬{ break term 46 S } break term 46 u )" + non associative with precedence 45 + for @{ 'Between $S $a $u }. diff --git a/matita/matita/contribs/lambdadelta/ground/notation/relations/not_between_3.ma b/matita/matita/contribs/lambdadelta/ground/notation/relations/not_between_3.ma new file mode 100644 index 000000000..81b324740 --- /dev/null +++ b/matita/matita/contribs/lambdadelta/ground/notation/relations/not_between_3.ma @@ -0,0 +1,27 @@ +(**************************************************************************) +(* ___ *) +(* ||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 *) +(* *) +(**************************************************************************) + +(* GROUND NOTATION **********************************************************) + +notation < "hvbox( a ⧸≬ break term 46 u )" + non associative with precedence 45 + for @{ 'NotBetween $S $a $u }. + +notation > "hvbox( a ⧸≬ break term 46 u )" + non associative with precedence 45 + for @{ 'NotBetween ? $a $u }. + +notation > "hvbox( a ⧸≬{ break term 46 S } break term 46 u )" + non associative with precedence 45 + for @{ 'NotBetween $S $a $u }. -- 2.39.2