Introduction To Higher Order Categorical Logic