module K-AC-N where open import Logic open import LogicalFacts open import JK-LogicalFacts open import Naturals open import JK-Monads open import Choice open import K-Shift ----------------------------------------------------------------------- -- The K-translation of countable choice AC-N can be proved only for -- -- certain formulas, including those that are in the image of the -- -- K-translation. -- -- -- -- Hence we have a restriction efq (ex falso quadlibet). -- -- -- -- This is because there is no general K-∀-shift. -- ----------------------------------------------------------------------- K-AC-ℕ : {R : Ω} {X : ℕ → Set} {P : (n : ℕ) → X n → Ω} → ------- (∀(n : ℕ) → R → ∃ \(m : X n) → P n m) -- efqs, → (∀(n : ℕ) → K∃ \(m : X n) → P n m) -- premise, → K∃ \(f : ((n : ℕ) → X n)) → ∀(n : ℕ) → P n (f n) -- conclusion. K-AC-ℕ efqs = (K-functor AC) ∘ (K-∀-shift efqs)