K-Shift
Martin Escardo and Paulo Oliva 2011
{-# OPTIONS --without-K #-}
module InfinitePigeon.K-Shift where
This is a wrapper module. Perform a choice below.
open import InfinitePigeon.JK-Monads
open import InfinitePigeon.K-Shift-BBC
open import InfinitePigeon.K-Shift-MBR
open import InfinitePigeon.K-Shift-Selection
open import InfinitePigeon.Logic
open import InfinitePigeon.Naturals
Choose a definition here for experimentation:
0. K-∀-shift-selection
1. K-∀-shift-mbr
2. InfinitePigeon.K-Shift-BBC.K-∀-shift-bbc
choice : ℕ
choice = 0
K-∀-shift : {R : Ω}
{A : ℕ → Ω}
→ (∀(n : ℕ) → R → A n)
→ (∀(n : ℕ) → K {R} (A n)) → K {R} (∀(n : ℕ) → A n)
K-∀-shift = g choice
where
g : ℕ → _
g O = K-∀-shift-selection
g 1 = K-∀-shift-mbr
g (succ (succ _)) = K-∀-shift-bbc