Inductive PCF (V:TY -> Type) : TY -> Type:= | PCFVar : forall t, V t -> PCF V t | Const : forall t, PCF_consts t -> PCF V t | Bottom : forall t, PCF V t | PApp : forall t s, PCF V (arrow s t) -> PCF V s -> PCF V t | PLam : forall t s, PCF (opt_T t V) s -> PCF V (arrow t s) | PRec : forall t, PCF V (arrow t t) -> PCF V t.
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.