Proposition cha_curry {H : complete_heyting_algebra} (x y z : H) : (x ⇒ (y ⇒ z)) = (x ∧ y ⇒ z). Proof. use cha_le_antisymm. - use cha_to_le_exp. rewrite <- cha_min_assoc. refine (cha_le_trans _ (cha_exp_eval y z)). use cha_min_le_min_l. apply cha_exp_eval. - use cha_to_le_exp. use cha_to_le_exp. rewrite cha_min_assoc. apply cha_exp_eval. Qed.
Require Import UniMath.MoreFoundations.All. Require Import UniMath.Algebra.BinaryOperations. Require Import UniMath.OrderTheory.Lattice.Lattice. Require Import UniMath.OrderTheory.Lattice.Bounded. Require Import UniMath.OrderTheory.Lattice.Heyting. Require Import UniMath.OrderTheory.Lattice.CompleteHeyting.