Definition: Sierpinski-bottom
⊥ == λn.ff
Lemma: Sierpinski-bottom_wf
⊥ ∈ ℕ ⟶ 𝔹
Lemma: equal-Sierpinski-bottom
∀[x:ℕ ⟶ 𝔹]. uiff(x = ⊥ ∈ (ℕ ⟶ 𝔹);∀n:ℕ. (¬↑(x n)))
Definition: Sierpinski-top
⊤ == λn.tt
Lemma: Sierpinski-top_wf
⊤ ∈ ℕ ⟶ 𝔹
Lemma: Sierpinski-unequal-1
⊥ = ⊤ ∈ (ℕ ⟶ 𝔹)
⇐⇒ False
Lemma: two-class-equiv-rel
∀[T:Type]. ∀[t:T]. EquivRel(T;x,y.x = t ∈ T
⇐⇒ y = t ∈ T)
Definition: Sierpinski
Sierpinski == f,g:ℕ ⟶ 𝔹//(f = ⊥ ∈ (ℕ ⟶ 𝔹)
⇐⇒ g = ⊥ ∈ (ℕ ⟶ 𝔹))
Lemma: Sierpinski_wf
Sierpinski ∈ Type
Lemma: subtype-Sierpinski
(ℕ ⟶ 𝔹) ⊆r Sierpinski
Lemma: not-Sierpinski-top
∀[x:Sierpinski]. ((¬(x = ⊤ ∈ Sierpinski))
⇒ (x = ⊥ ∈ Sierpinski))
Lemma: not-Sierpinski-bottom
∀[x:Sierpinski]. ((¬(x = ⊥ ∈ Sierpinski))
⇒ (x = ⊤ ∈ Sierpinski))
Lemma: Sierpinski-unequal
¬(⊥ = ⊤ ∈ Sierpinski)
Lemma: Sierpinski-cases
∀[x:Sierpinski]. (¬((¬(x = ⊤ ∈ Sierpinski)) ∧ (¬(x = ⊥ ∈ Sierpinski))))
Lemma: Sierpinski-cases2
∀[x:Sierpinski]. (¬¬((x = ⊤ ∈ Sierpinski) ∨ (x = ⊥ ∈ Sierpinski)))
Definition: sp-meet
f ∧ g == λn.let x,y = coded-pair(n) in (f x) ∧b (g y)
Lemma: sp-meet_wf
∀[f,g:Sierpinski]. (f ∧ g ∈ Sierpinski)
Definition: sp-join
f ∨ g == λn.((f n) ∨b(g n))
Lemma: sp-join_wf
∀[f,g:Sierpinski]. (f ∨ g ∈ Sierpinski)
Lemma: sp-meet-is-top
∀[x,y:Sierpinski]. (x ∧ y = ⊤ ∈ Sierpinski
⇐⇒ (x = ⊤ ∈ Sierpinski) ∧ (y = ⊤ ∈ Sierpinski))
Lemma: sp-join-is-bottom
∀[x,y:Sierpinski]. (x ∨ y = ⊥ ∈ Sierpinski
⇐⇒ (x = ⊥ ∈ Sierpinski) ∧ (y = ⊥ ∈ Sierpinski))
Definition: sp-lub
lub(n.A[n]) == λn.let i,j = coded-pair(n) in A[i] j
Lemma: sp-lub_wf1
∀[B:f,g:ℕ ⟶ ℕ ⟶ 𝔹//fun-equiv(ℕ;a,b.↓a = ⊥ ∈ (ℕ ⟶ 𝔹)
⇐⇒ b = ⊥ ∈ (ℕ ⟶ 𝔹);f;g)]. (lub(n.B[n]) ∈ Sierpinski)
Lemma: sp-lub_wf
∀[A:ℕ ⟶ Sierpinski]. (lub(n.A[n]) ∈ Sierpinski)
Definition: sp-le
x ≤ y == (x = ⊤ ∈ Sierpinski)
⇒ (y = ⊤ ∈ Sierpinski)
Lemma: sp-le_wf
∀[x,y:Sierpinski]. (x ≤ y ∈ ℙ)
Lemma: sp-le_weakening
∀[x:Sierpinski]. x ≤ x
Lemma: sp-le-top
∀[x:Sierpinski]. x ≤ ⊤
Lemma: sp-le-bottom
∀[x:Sierpinski]. ⊥ ≤ x
Lemma: sp-le_transitivity
∀[x,y,z:Sierpinski]. (x ≤ y
⇒ y ≤ z
⇒ x ≤ z)
Lemma: sp-lub-is-bottom
∀[A:ℕ ⟶ Sierpinski]. (lub(n.A[n]) = ⊥ ∈ Sierpinski
⇐⇒ ∀n:ℕ. (A[n] = ⊥ ∈ Sierpinski))
Lemma: sp-lub-is-top1
∀[A:ℕ ⟶ Sierpinski]. (lub(n.A[n]) = ⊤ ∈ Sierpinski
⇐⇒ ¬(∀n:ℕ. (A[n] = ⊥ ∈ Sierpinski)))
Lemma: sp-lub-is-top
∀[A:ℕ ⟶ Sierpinski]. (lub(n.A[n]) = ⊤ ∈ Sierpinski
⇐⇒ ¬¬(∃n:ℕ. (A[n] = ⊤ ∈ Sierpinski)))
Lemma: sp-lub-property
∀[A:ℕ ⟶ Sierpinski]. ((∀n:ℕ. A[n] ≤ lub(n.A[n])) ∧ (∀c:Sierpinski. ((∀n:ℕ. A[n] ≤ c)
⇒ lub(n.A[n]) ≤ c)))
Lemma: Sierpinski-equal-bottom
∀[x:ℕ ⟶ 𝔹]. uiff(x = ⊥ ∈ Sierpinski;x = ⊥ ∈ (ℕ ⟶ 𝔹))
Lemma: Sierpinski-equal
∀[x,y:Sierpinski]. uiff(x = y ∈ Sierpinski;x = ⊥ ∈ Sierpinski
⇐⇒ y = ⊥ ∈ Sierpinski)
Lemma: Sierpinski-equal2
∀[x,y:Sierpinski]. uiff(x = y ∈ Sierpinski;x = ⊤ ∈ Sierpinski
⇐⇒ y = ⊤ ∈ Sierpinski)
Lemma: sp-meet-com
∀[x,y:Sierpinski]. (x ∧ y = y ∧ x ∈ Sierpinski)
Lemma: sp-join-com
∀[x,y:Sierpinski]. (x ∨ y = y ∨ x ∈ Sierpinski)
Lemma: sp-meet-assoc
∀[x,y,z:Sierpinski]. (x ∧ y ∧ z = x ∧ y ∧ z ∈ Sierpinski)
Lemma: sp-join-assoc
∀[x,y,z:Sierpinski]. (x ∨ y ∨ z = x ∨ y ∨ z ∈ Sierpinski)
Lemma: sp-meet-top
∀[x:Sierpinski]. (x ∧ ⊤ = x ∈ Sierpinski)
Lemma: sp-join-bottom
∀[x:Sierpinski]. (x ∨ ⊥ = x ∈ Sierpinski)
Lemma: sp-meet-bottom
∀[x:Sierpinski]. (x ∧ ⊥ = ⊥ ∈ Sierpinski)
Lemma: sp-join-top
∀[x:Sierpinski]. (x ∨ ⊤ = ⊤ ∈ Sierpinski)
Lemma: sp-join-meet-distrib
∀[x,y,z:Sierpinski]. (x ∧ y ∨ z = x ∨ z ∧ y ∨ z ∈ Sierpinski)
Lemma: sp-meet-join-distrib
∀[x,y,z:Sierpinski]. (x ∨ y ∧ z = x ∧ z ∨ y ∧ z ∈ Sierpinski)
Lemma: sp-join-idemp
∀[x:Sierpinski]. (x ∨ x = x ∈ Sierpinski)
Lemma: sp-meet-idemp
∀[x:Sierpinski]. (x ∧ x = x ∈ Sierpinski)
Definition: Open
Open(X) == X ⟶ Sierpinski
Lemma: Open_wf
∀[X:Type]. (Open(X) ∈ Type)
Definition: open-isect
open-isect(A;B) == λx.A x ∧ B x
Lemma: open-isect_wf
∀[X:Type]. ∀[A,B:Open(X)]. (open-isect(A;B) ∈ Open(X))
Definition: open-union
open-union(n.A[n]) == λx.lub(n.A[n] x)
Lemma: open-union_wf
∀[X:Type]. ∀[A:ℕ ⟶ Open(X)]. (open-union(n.A[n]) ∈ Open(X))
Definition: in-open
x ∈ A == (A x) = ⊤ ∈ Sierpinski
Lemma: in-open_wf
∀[X:Type]. ∀[x:X]. ∀[A:Open(X)]. (x ∈ A ∈ ℙ)
Lemma: in-open-isect
∀[X:Type]. ∀[x:X]. ∀[A,B:Open(X)]. (x ∈ open-isect(A;B)
⇐⇒ x ∈ A ∧ x ∈ B)
Lemma: in-open-union
∀[X:Type]. ∀[x:X]. ∀[A:ℕ ⟶ Open(X)]. (x ∈ open-union(n.A[n])
⇐⇒ ¬¬(∃n:ℕ. ((A[n] x) = ⊤ ∈ Sierpinski)))
Definition: overt
Overt(X) ==
∀[Y:Type]. ∃ex:Open(X × Y) ⟶ Open(Y). ∀A:Open(X × Y). ∀B:Open(Y). (∀y:Y. ex A y ≤ B y
⇐⇒ ∀x:X. ∀y:Y. A <x, y> ≤ B \000Cy)
Lemma: overt_wf
∀[X:Type]. (Overt(X) ∈ ℙ')
Lemma: nat-overt
Overt(ℕ)
Definition: weak-overt
wOvert(X) == ∀[Y:Type]. ∃f:Open(X × Y) ⟶ Open(Y). ∀A:Open(X × Y). ∀y:Y. (y ∈ f A
⇐⇒ ¬¬(∃x:X. <x, y> ∈ A))
Lemma: weak-overt_wf
∀[X:Type]. (wOvert(X) ∈ ℙ')
Lemma: weak-overt-implies-overt
∀[X:Type]. (wOvert(X)
⇒ Overt(X))
Lemma: nat-weak-overt
wOvert(ℕ)
Definition: strong-overt
sOvert(X) == ∀Y:Type. ∃f:Open(X × Y) ⟶ Open(Y). ∀A:Open(X × Y). ∀y:Y. (y ∈ f A
⇐⇒ ∃x:X. <x, y> ∈ A)
Lemma: strong-overt_wf
∀[X:Type]. (sOvert(X) ∈ ℙ')
Lemma: nat-strong-overt-implies-Markov
sOvert(ℕ)
⇒ (∀g:ℕ ⟶ 𝔹. ((¬(∀n:ℕ. g n = ff))
⇒ (∃n:ℕ. g n = tt)))
Home
Index