Skip to content
/ IWTypes Public

A Coq development of the theory of Indexed W types with function extensionality.

License

Notifications You must be signed in to change notification settings

jashug/IWTypes

Repository files navigation

IWTypes

A Coq development of the theory of Indexed W types with function extensionality.

Setting

We define Indexed W types as a generalization of W types, where we define an inductive family of types. They are very similar to dependent W types and indexed containers. The type former is IW A B I C D : I -> Type, with A I : Type, B : A -> Type, C : A -> I, and D : forall x : A, B x -> I. The interpretation is the same as W A B, but with I being the index type, and the constructor taking the form sup : forall x : A, (forall c : B x, IW (D x c)) -> IW (C x). They then satisfy a dependent induction principle, which computes as expected.

Here, we examine the behaviour of these types, characterize their equality, and find sufficient conditions for them to be n-types or have decidable equality. We also present a reduction to non-indexed W types.

Apart from the reduction to W types, I am not aware of these results being published anywhere in the literature.

Module index

Indexed W types are defined in IWType.v. We also show that IW types are unique up to equivalence.

CharacterizeIWEquality.v contains a proof that for a b : IW A B I C D i (abbreviated IW i), a = b is equivalent to

IW
{x : A & (forall c : B x, IW (D x c) * (forall c : B x, IW (D x c))}
(fun (x, _, _) => B x)
{i : I & IW i * IW i}
(fun (x, children1, children2) => (C x, sup x children1, sup x children2))
(fun (x, children1, children2) (c : B x) => (D x c, children1 c, children2 c))
(i, a, b)

In FiberEquiv.v, we show that for a b : IW i, {(x, children1, children2) & (C x, sup x children1, sup x children2) = (i, a, b)} is equivalent to data_part a = data_part b :> {x & C x = i}, that is, the fibers of C for equality as above are equivalent to equality in a fiber of C.

In FiberProperties.v, we show that if the fibers of C are mere propositions, then IW A B I C D i is a mere proposition for all i, and that if the fibers of C have decidable equality, then IW A B I C D i has decidable equality for all i.

Combined with the results in CharacterizeIWEquality.v and FiberEquiv.v, this implies that all positive h-levels are inherited from the fibers of C by induction. If you represent usual W types by setting I=1, then this matches the result by Danielsson: https://homotopytypetheory.org/2012/09/21/positive-h-levels-are-closed-under-w/

Finally, in a different vein, we show that IW types can be reduced to W types by typechecking W A B in ReductIWtoW.v. This is a known result, which I found in Indexed Containers by Thorsten Altenkirch and Peter Morris http://www.cs.nott.ac.uk/~psztxa/publ/ICont.pdf

Modules Adjointification.v, FunctionExtensionality.v, SigmaEta.v, Eqdep_dec.v contain nothing new. They contain standard lemmas used in the main proofs.

About

A Coq development of the theory of Indexed W types with function extensionality.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages