include "nat/minus.ma".
include "datatypes/pairs.ma".
-alias symbol "eq" = "setoid eq".
-alias symbol "eq" = "setoid1 eq".
-alias symbol "eq" = "setoid eq".
-alias symbol "eq" = "setoid1 eq".
+alias symbol "eq" (instance 7) = "setoid1 eq".
nrecord partition (A: setoid) : Type[1] ≝
{ support: setoid;
indexes: ext_powerclass support;
napply infty; nauto; ##]
nqed.
-alias symbol "covers" = "covers".
-alias symbol "covers" = "covers set".
-alias symbol "covers" = "covers".
-alias symbol "covers" = "covers set".
-alias symbol "covers" = "covers".
-alias symbol "covers" = "covers set".
+alias symbol "covers" (instance 1) = "covers".
nlemma cover_ind'':
∀A:Ax.∀U:Ω^A.∀P:A → CProp[0].
(∀a. a ∈ U → P a) → (∀a:A.∀j:𝐈 a. 𝐂 a j ◃ U → (∀b. b ∈ 𝐂 a j → P b) → P a) →
∀b. b ◃ U → P b.
-
#A; #U; #P; nletin V ≝ {x | P x}; napply (cover_ind' … V).
nqed.
(*********** end from Cantor ********)
-alias symbol "covers" = "covers".
-alias symbol "covers" = "covers".
-alias symbol "covers" = "covers set".
-alias symbol "covers" = "covers set".
+alias symbol "covers" (instance 9) = "covers".
+alias symbol "covers" (instance 8) = "covers".
nlet rec cover_rect
(A:uuAx) (U:Ω^(uuax A)) (memdec: memdec … U) (P:uuax A → Type[0])
(refl: ∀a:uuax A. a ∈ U → P a)