Martin Escardo and Paulo Oliva 2011

\begin{code}

{-# OPTIONS --without-K #-}

module InfinitePigeon.K-Shift-from-J-Shift where

open import InfinitePigeon.J-Shift
open import InfinitePigeon.JK-Monads
open import InfinitePigeon.Logic
open import InfinitePigeon.LogicalFacts
open import InfinitePigeon.Naturals

K-∀-shift : {R : Ω}
            {A :   Ω}
           (∀(n : )  R  A n)                     -- efqs,
           (∀(n : )  K(A n))  K(∀(n : )  A n)  -- shift.
K-∀-shift efqs φs = J-K(J-∀-shift n  K-J(efqs n) (φs n)))

\end{code}