18. Mapping of Higher inductive type into the Universe In order to explain the mapping of a higher inductive type into the universe let us first consider an example of boolean switching in a table with boolean values. A switch query changes the boolean value to true if false and to false if true at the top of the table. The boolean table acts as a point and the switch query acts as a path. The following higher inductive type represents this scenario (implemented in agda). data R : Set where tab_ : (l : Nat) → R switch : {l : Nat} → (tab l) ≡ (tab l) As we are using higher inductive type to represent this scenario we do not need constructors for identity, composition and inverses. We will map this higher inductive type R into the universe where the points of R are given by types (Vec Bool l) and the paths of R are given by bijections (switch-bij≃). Interpreter …show more content…
It maps the points (tables) in R to types in the universe and the paths (switch) in R to equivalences (switch-bij≃) in the universe which are equated to paths (switch-path) by univalence axiom. The points in R (tab l) can be interpreted as the type Vec Bool l in the universe. The paths in R (switch) are mapped to equivalences between the types Vec Bool l and Vec Bool l (equated to path by the univalence). The interpreter function can be given by the recursion principle of R which says that to define a function I : R → Type, it is sufficient to map the generators (for points and paths) into the