+++ /dev/null
-(**************************************************************************)
-(* ___ *)
-(* ||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 *)
-(* *)
-(**************************************************************************)
-
-(* NOTATION FOR DELAYED UPDATING ********************************************)
-
-notation "hvbox( p ϡ⬦ break term 46 t )"
- non associative with precedence 45
- for @{ 'UpDownArrowEpsilon $p $t }.
--- /dev/null
+(**************************************************************************)
+(* ___ *)
+(* ||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/notation/functions/powerclass_1.ma".
+include "ground/notation/relations/epsilon_3.ma".
+include "ground/lib/relations.ma".
+
+(* SUBSETS ******************************************************************)
+
+definition subset (A): Type[0] β
+ predicate A.
+
+interpretation
+ "power class (subset)"
+ 'PowerClass A = (subset A).
+
+definition subset_in (A): π«β¨Aβ© β π«β¨Aβ© β
+ Ξ»u.u.
+
+interpretation
+ "membership (subset)"
+ 'Epsilon A a u = (subset_in A u a).
--- /dev/null
+(**************************************************************************)
+(* ___ *)
+(* ||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/notation/relations/white_harrow_2.ma".
+include "ground/lib/subset_inclusion.ma".
+
+(* EQUIVALENCE FOR SUBSETS **************************************************)
+
+definition subset_eq (A): relation2 π«β¨Aβ© π«β¨Aβ© β
+ Ξ»u1,u2. β§β§ u1 β u2 & u2 β u1.
+
+interpretation
+ "equivalence (subset)"
+ 'WhiteHArrow u1 u2 = (subset_eq ? u1 u2).
+
+(* Basic constructions ******************************************************)
+
+lemma subset_eq_refl (A):
+ reflexive β¦ (subset_eq A).
+/2 width=1 by conj/ qed.
+
+lemma subset_eq_sym (A):
+ symmetric β¦ (subset_eq A).
+#A #u1 #u2 * /2 width=1 by conj/
+qed-.
+
+(* Main constructions *******************************************************)
+
+theorem subset_eq_trans (A):
+ Transitive β¦ (subset_eq A).
+#A #u1 #u2 * #H12 #H21 #u3 * #H23 #H32
+/3 width=5 by subset_le_trans, conj/
+qed-.
--- /dev/null
+(**************************************************************************)
+(* ___ *)
+(* ||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".
+
+(* INCLUSION FOR SUBSETS ****************************************************)
+
+definition subset_le (A): relation2 π«β¨Aβ© π«β¨Aβ© β
+ Ξ»u1,u2. βp. p Ο΅ u1 β p Ο΅ u2.
+
+interpretation
+ "inclusion (subset)"
+ 'subseteq u1 u2 = (subset_le ? u1 u2).
+
+(* Basic constructions ******************************************************)
+
+lemma subset_le_refl (A):
+ reflexive β¦ (subset_le A).
+// qed.
+
+(* Main constructions *******************************************************)
+
+theorem subset_le_trans (A):
+ Transitive β¦ (subset_le A).
+/3 width=1 by/ qed-.
--- /dev/null
+(**************************************************************************)
+(* ___ *)
+(* ||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( π« β¨ break term 46 S β© )"
+ non associative with precedence 75
+ for @{ 'PowerClass $S }.
--- /dev/null
+(**************************************************************************)
+(* ___ *)
+(* ||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 *)
+(* *)
+(**************************************************************************)
+
+(* NOTATION FOR DELAYED UPDATING ********************************************)
+
+(* GROUND NOTATION **********************************************************)
+
+notation < "hvbox( a Ο΅ break term 46 u )"
+ non associative with precedence 45
+ for @{ 'Epsilon $S $a $u }.
+
+notation > "hvbox( a Ο΅ break term 46 u )"
+ non associative with precedence 45
+ for @{ 'Epsilon ? $a $u }.
+
+notation > "hvbox( a Ο΅{ break term 46 S } break term 46 u )"
+ non associative with precedence 45
+ for @{ 'Epsilon $S $a $u }.
--- /dev/null
+(**************************************************************************)
+(* ___ *)
+(* ||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( a1 β break term 46 a2 )"
+ non associative with precedence 45
+ for @{ 'WhiteHArrow $a1 $a2 }.
["o"; "ΞΈ"; "Ο"; "π "; "β"; "β"; "ΓΈ"; "β"; "β"; "π¨"; "π"; "β"; ] ;
["O"; "Ξ"; "π"; "π"; "π―"; "πΉ"; "β"; ] ;
["p"; "Ο"; "π‘"; "π©"; "π"; "β"; ] ;
- ["P"; "Ξ "; "β"; "β"; "π"; "π·"; "β
"; ] ;
+ ["P"; "Ξ "; "β"; "β"; "π"; "π·"; "β
"; "π«"; ] ;
["q"; "π’"; "πͺ"; "β "; ] ;
["Q"; "β"; "π"; "β"; ] ;
["r"; "Ο"; "Ο±"; "π£"; "π«"; "π"; "π "; "β‘"; ] ;