An encoding of lists of α
's as α
.
- fromList : List α → α
- toList : α → List α
- eq_list : ∀ (xs : List α), Listing.toList (Listing.fromList xs) = xs
Instances
A set equipped with Listing
has as its canonical element the encoding of []
.
Equations
- Listing.inhabited = { default := Listing.fromList [] }
We encode pairs as lists of length two.
Equations
- Listing.pair x y = Listing.fromList [x, y]
Instances For
Computation rule for the first projection from a pair.
Computation rule for the second projection from a pair.
A continuous map is monotone
If a binary map is continuous in each arguments separately, then it is continuous.
A continuous binary map is continuous as a map of its first argument
A continuous binary map is contunuous as a map of its second argument
A constant map is continuous.
Equations
- ⋯ = ⋯
Instances For
If f
is continuous then any finite subset of f S
is already a subset of some
f S'
where S' ⊆ S
is finite (in the statement S'
is toSet z
).
The lemma is used in the theorem showing that composition preserves continuity.
The composition of continuous maps is continuous.
The composition of a binary continuous map and continuous maps is continuous.
The graph of a function
Equations
- GraphModel.graph f x = (Listing.fst x ∈ f (toSet (Listing.snd x)))
Instances For
Currying combined with graph is continuous
Equations
- ⋯ = ⋯
Instances For
Combinatory application on the graph model
Equations
- GraphModel.apply S T x = ∃ (y : α), toSet y ⊆ T ∧ Listing.pair x y ∈ S
Instances For
Application is monotone.
Application is monotone in the first argument.
Application is monotone in the second argument.
Application is continuous in the first argument.
Application is continuous in the second argument.
Application is continuous.
Equations
- GraphModel.K = GraphModel.graph fun (A : Set α) => GraphModel.graph fun (x : Set α) => A
Instances For
Equations
- GraphModel.S = GraphModel.graph fun (A : Set α) => GraphModel.graph fun (B : Set α) => GraphModel.graph fun (C : Set α) => A ⬝ C ⬝ (B ⬝ C)