module Chapter2.IDesc.Algebra.Quantifiers {A B : Set} (f : A → B) where open import Chapter1.Logic open import Chapter2.IDesc DΔ : func B A DΔ = func.mk λ a → `var (f a) Δ : Pow B → Pow A Δ = ⟦ DΔ ⟧func DΣ : func A B DΣ = func.mk λ b → `Σ (f ⁻¹ b) help where help : ∀{b} → f ⁻¹ b → IDesc A help (inv a) = `var a Σ : Pow A → Pow B Σ = ⟦ DΣ ⟧func DΠ : func A B DΠ = func.mk λ b → `Π (f ⁻¹ b) help where help : ∀{b} → f ⁻¹ b → IDesc A help (inv a) = `var a Π : Pow A → Pow B Π = ⟦ DΠ ⟧func