Inductive PCF_consts : TY -> Type := | Nats : nat -> PCF_consts Nat | tt : PCF_consts Bool | ff : PCF_consts Bool | succ : PCF_consts (arrow Nat Nat) | is_zero : PCF_consts (arr Nat Bool) | condN: PCF_consts (arrow Bool (arrow Nat (arrow Nat Nat))) | condB: PCF_consts (arrow Bool (arrow Bool (arrow Bool Bool))).
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Sets. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.Combinatorics.Lists. Require Import UniMath.Combinatorics.StandardFiniteSets. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.Categories.HSET.Core. Require Import UniMath.SubstitutionSystems.BindingSigToMonad. Section MultiSortedSigFromBindingSig. Definition arFromBindingSig : I → list (list sort × sort) × sort. Definition MultiSortedSigFromBindingSig : MultiSortedSig := I ,, arFromBindingSig. End MultiSortedSigFromBindingSig.