theory "Arity-Nominal" imports Arity "Launchbury.Nominal-HOLCF" begin lemma join_eqvt[eqvt]: "π ∙ (x ⊔ (y :: 'a :: {Finite_Join_cpo, cont_pt})) = (π ∙ x) ⊔ (π ∙ y)" by (rule is_joinI[symmetric]) (auto simp add: perm_below_to_right) instantiation Arity :: pure begin definition "p ∙ (a::Arity) = a" instance apply standard apply (auto simp add: permute_Arity_def) done end instance Arity :: cont_pt by standard (simp add: pure_permute_id) instance Arity :: pure_cont_pt .. end