Last active
January 3, 2016 10:09
-
-
Save larrytheliquid/8447251 to your computer and use it in GitHub Desktop.
Canonical terms for the concat function in this blog post: http://spire-lang.org/blog/2014/01/15/modeling-elimination-of-described-types/
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
λ A m n → | |
ind | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → | |
`Arg | |
(μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
m) | |
(λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t)) | |
(λ n₁ xss → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q ih → | |
elimEq tt | |
(λ u₁ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → con (here , refl)) u q) | |
, | |
(λ n,q ih,tt → | |
elimEq tt | |
(λ u₁ q → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₁ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₂ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u₁ c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q ih → | |
elimEq tt | |
(λ u₂ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → n₃) u₁ q) | |
, | |
(λ n,q₁ ih,tt₁ → | |
elimEq tt | |
(λ u₂ q → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) u₁ (proj₂ n,q₁)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
n₂ (proj₁ ih,tt n₂)) | |
u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c) (proj₂ t,c)) | |
n₁ m)) | |
(λ n₁ t,c → | |
case | |
(λ t → | |
(c | |
: El | |
(case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg | |
(μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
m) | |
(λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t) | |
(λ n₂ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg | |
(μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₂ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₃ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₃)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₃ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₃)) | |
tt) | |
(λ n₄ → | |
`Arg A (λ _ → `Rec n₄ (`End (con (there here , n₄ , refl))))) | |
, tt) | |
t₂)) | |
m) | |
(λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
n₂) | |
n₁) | |
→ | |
All | |
(case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg | |
(μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
m) | |
(λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t) | |
(λ n₂ xss → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ u _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₁ → | |
case | |
(λ t₁ → | |
(c₁ | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
u c₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
((λ q ih → | |
elimEq tt | |
(λ u₁ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → con (here , refl)) u q) | |
, | |
(λ n,q ih,tt → | |
elimEq tt | |
(λ u₁ q → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u₁ t,c₂ → | |
case | |
(λ t₁ → | |
(c₁ | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u₁) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(λ u₂ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
u₁ c₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
((λ q ih → | |
elimEq tt | |
(λ u₂ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₄ → n₄) u₁ q) | |
, | |
(λ n,q₁ ih,tt₁ → | |
elimEq tt | |
(λ u₂ q → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₄ → con (there here , proj₁ ih,tt₁ n₄ , refl)) u₁ (proj₂ n,q₁)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
n₃ (proj₁ ih,tt n₃)) | |
u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
n₂ m)) | |
n₁ c → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ u _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₁ → | |
case | |
(λ t₁ → | |
(c₁ | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
u c₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
((λ q ih → | |
elimEq tt | |
(λ u₁ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → con (here , refl)) u q) | |
, | |
(λ n,q ih,tt → | |
elimEq tt | |
(λ u₁ q → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u₁ t,c₂ → | |
case | |
(λ t₁ → | |
(c₁ | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u₁) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(λ u₂ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
u₁ c₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
((λ q ih → | |
elimEq tt | |
(λ u₂ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → n₃) u₁ q) | |
, | |
(λ n,q₁ ih,tt₁ → | |
elimEq tt | |
(λ u₂ q → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) u₁ (proj₂ n,q₁)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
n₂ (proj₁ ih,tt n₂)) | |
u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
n₁ m)) | |
((λ q ih → | |
elimEq (con (here , refl)) | |
(λ n₂ q₁ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q₂ ih₁ → | |
elimEq tt | |
(λ u₁ q₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → con (here , refl)) u q₂) | |
, | |
(λ n,q ih,tt → | |
elimEq tt | |
(λ u₁ q₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₂ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₂ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u₁ c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q₂ ih₁ → | |
elimEq tt | |
(λ u₂ q₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₄ → n₄) u₁ q₂) | |
, | |
(λ n,q₁ ih,tt₁ → | |
elimEq tt | |
(λ u₂ q₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₄ → con (there here , proj₁ ih,tt₁ n₄ , refl)) u₁ (proj₂ n,q₁)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
n₃ (proj₁ ih,tt n₃)) | |
u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
n₂ m)) | |
(con (here , refl)) n₁ q) | |
, | |
(λ n',x,xs,q ih,tt → | |
elimEq (con (there here , proj₁ n',x,xs,q , refl)) | |
(λ n₂ q → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q₁ ih → | |
elimEq tt | |
(λ u₁ q₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → con (here , refl)) u q₁) | |
, | |
(λ n,q ih,tt₁ → | |
elimEq tt | |
(λ u₁ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₂ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₂ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u₁ c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q₁ ih → | |
elimEq tt | |
(λ u₂ q₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₄ → n₄) u₁ q₁) | |
, | |
(λ n,q₁ ih,tt₂ → | |
elimEq tt | |
(λ u₂ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₄ → con (there here , proj₁ ih,tt₂ n₄ , refl)) u₁ (proj₂ n,q₁)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
n₃ (proj₁ ih,tt₁ n₃)) | |
u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
n₂ m)) | |
(ind | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
(λ m₁ xs → | |
(n₂ | |
: μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
→ | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t)) | |
n₂ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q ih → | |
elimEq tt | |
(λ u₁ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → n₃) u q) | |
, | |
(λ n,q ih,tt₁ → | |
elimEq tt | |
(λ u₁ q → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
m₁ n₂)) | |
(λ n₂ t,c₁ → | |
case | |
(λ t → | |
(c | |
: El | |
(case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t) | |
(λ n₃ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₄ → | |
`Arg A (λ _ → `Rec n₄ (`End (con (there here , n₄ , refl))))) | |
, tt) | |
t₁)) | |
n₃) | |
n₂) | |
→ | |
All | |
(case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t) | |
(λ m₁ xs → | |
(n₃ | |
: μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
→ | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₄ → | |
`Arg A (λ _ → `Rec n₄ (`End (con (there here , n₄ , refl))))) | |
, tt) | |
t₁)) | |
n₃ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₄ → | |
`Arg A (λ _ → `Rec n₄ (`End (con (there here , n₄ , refl))))) | |
, tt) | |
t₁)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ u _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₂ → | |
case | |
(λ t₁ → | |
(c₁ | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
u c₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
((λ q ih → | |
elimEq tt | |
(λ u₁ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₄ → n₄) u q) | |
, | |
(λ n,q ih,tt₁ → | |
elimEq tt | |
(λ u₁ q → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₄ → con (there here , proj₁ ih,tt₁ n₄ , refl)) u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
m₁ n₃)) | |
n₂ c → | |
(n₃ | |
: μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
→ | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₄ → | |
`Arg A (λ _ → `Rec n₄ (`End (con (there here , n₄ , refl))))) | |
, tt) | |
t₁)) | |
n₃ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₄ → | |
`Arg A (λ _ → `Rec n₄ (`End (con (there here , n₄ , refl))))) | |
, tt) | |
t₁)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ u _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₂ → | |
case | |
(λ t₁ → | |
(c₁ | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
u c₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
((λ q ih → | |
elimEq tt | |
(λ u₁ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₄ → n₄) u q) | |
, | |
(λ n,q ih,tt₁ → | |
elimEq tt | |
(λ u₁ q → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₄ → con (there here , proj₁ ih,tt₁ n₄ , refl)) u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
n₂ n₃)) | |
((λ q ih → | |
elimEq (con (here , refl)) | |
(λ n₃ q₁ → | |
(n₄ | |
: μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
→ | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₅ → | |
`Arg A (λ _ → `Rec n₅ (`End (con (there here , n₅ , refl))))) | |
, tt) | |
t)) | |
n₄ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₅ → | |
`Arg A (λ _ → `Rec n₅ (`End (con (there here , n₅ , refl))))) | |
, tt) | |
t)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₂ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q₂ ih₁ → | |
elimEq tt | |
(λ u₁ q₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₅ → n₅) u q₂) | |
, | |
(λ n,q ih,tt₁ → | |
elimEq tt | |
(λ u₁ q₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₅ → con (there here , proj₁ ih,tt₁ n₅ , refl)) u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
n₃ n₄)) | |
(λ n₃ ys → ys) n₂ q) | |
, | |
(λ n',x,xs,q₁ ih,tt₁ → | |
elimEq (con (there here , proj₁ n',x,xs,q₁ , refl)) | |
(λ n₃ q → | |
(n₄ | |
: μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
→ | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₅ → | |
`Arg A (λ _ → `Rec n₅ (`End (con (there here , n₅ , refl))))) | |
, tt) | |
t)) | |
n₄ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₅ → | |
`Arg A (λ _ → `Rec n₅ (`End (con (there here , n₅ , refl))))) | |
, tt) | |
t)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₂ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q₁ ih → | |
elimEq tt | |
(λ u₁ q₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₅ → n₅) u q₁) | |
, | |
(λ n,q ih,tt₂ → | |
elimEq tt | |
(λ u₁ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₅ → con (there here , proj₁ ih,tt₂ n₅ , refl)) u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
n₃ n₄)) | |
(λ n₃ ys → | |
con | |
(there here , | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₂ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q ih → | |
elimEq tt | |
(λ u₁ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₄ → n₄) u q) | |
, | |
(λ n,q ih,tt₂ → | |
elimEq tt | |
(λ u₁ q → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₄ → con (there here , proj₁ ih,tt₂ n₄ , refl)) u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
(proj₁ n',x,xs,q₁) n₃ | |
, proj₁ (proj₂ n',x,xs,q₁) , proj₁ ih,tt₁ n₃ ys , refl)) | |
n₂ (proj₂ (proj₂ (proj₂ n',x,xs,q₁)))) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
(proj₁ (proj₂ n',x,xs,q)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q ih → | |
elimEq tt | |
(λ u₁ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → con (here , refl)) u q) | |
, | |
(λ n,q ih,tt₁ → | |
elimEq tt | |
(λ u₁ q → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u₁ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₂ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₂ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u₁ c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q ih → | |
elimEq tt | |
(λ u₂ q₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → n₃) u₁ q) | |
, | |
(λ n,q₁ ih,tt₂ → | |
elimEq tt | |
(λ u₂ q → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → con (there here , proj₁ ih,tt₂ n₃ , refl)) u₁ (proj₂ n,q₁)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
n₂ (proj₁ ih,tt₁ n₂)) | |
u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
(proj₁ n',x,xs,q) m) | |
(proj₁ ih,tt)) | |
n₁ (proj₂ (proj₂ (proj₂ n',x,xs,q)))) | |
, tt) | |
(proj₁ t,c) (proj₂ t,c)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
λ A m n → | |
ind | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → | |
`Arg | |
(μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
m) | |
(λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t)) | |
(λ n₁ xss → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ n₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q ih n₂ → con (here , refl)) , | |
(λ m,q ih,tt n₂ → | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₁ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₂ n₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂) | |
u₁ c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
((λ q ih n₃ → n₃) , | |
(λ m,q₁ ih,tt₁ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) , | |
tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
n₂ (proj₁ ih,tt n₂)) | |
, tt) | |
(proj₁ t,c) (proj₂ t,c)) | |
n₁ m)) | |
(λ n₁ t,c → | |
case | |
(λ t → | |
(c | |
: El | |
(case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg | |
(μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
m) | |
(λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t) | |
(λ n₂ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg | |
(μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₂ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₃ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₃)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₃ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₃)) | |
tt) | |
(λ n₄ → | |
`Arg A (λ _ → `Rec n₄ (`End (con (there here , n₄ , refl))))) | |
, tt) | |
t₂)) | |
m) | |
(λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
n₂) | |
n₁) | |
→ | |
All | |
(case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg | |
(μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
m) | |
(λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t) | |
(λ n₂ xss → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₁ → | |
case | |
(λ t₁ → | |
(c₁ | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(λ u₁ n₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁) | |
u c₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u) | |
((λ q ih n₃ → con (here , refl)) , | |
(λ m,q ih,tt n₃ → | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u₁ t,c₂ → | |
case | |
(λ t₁ → | |
(c₁ | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u₁) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(λ u₂ n₄ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₂) | |
u₁ c₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁) | |
((λ q ih n₄ → n₄) , | |
(λ m,q₁ ih,tt₁ n₄ → con (there here , proj₁ ih,tt₁ n₄ , refl)) , | |
tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
n₃ (proj₁ ih,tt n₃)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
n₂ m)) | |
n₁ c → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₁ → | |
case | |
(λ t₁ → | |
(c₁ | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(λ u₁ n₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁) | |
u c₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u) | |
((λ q ih n₂ → con (here , refl)) , | |
(λ m,q ih,tt n₂ → | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u₁ t,c₂ → | |
case | |
(λ t₁ → | |
(c₁ | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u₁) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(λ u₂ n₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₂) | |
u₁ c₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁) | |
((λ q ih n₃ → n₃) , | |
(λ m,q₁ ih,tt₁ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) , | |
tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
n₂ (proj₁ ih,tt n₂)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
n₁ m)) | |
((λ q ih → | |
subst | |
(λ n₂ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ n₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q₁ ih₁ n₃ → con (here , refl)) , | |
(λ m,q ih,tt n₃ → | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₂ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₂ n₄ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂) | |
u₁ c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
((λ q₁ ih₁ n₄ → n₄) , | |
(λ m,q₁ ih,tt₁ n₄ → con (there here , proj₁ ih,tt₁ n₄ , refl)) , | |
tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
n₃ (proj₁ ih,tt n₃)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
n₂ m)) | |
q (con (here , refl))) | |
, | |
(λ n',xs,xss,q ih,tt → | |
subst | |
(λ n₂ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ n₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q ih n₃ → con (here , refl)) , | |
(λ m,q ih,tt₁ n₃ → | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₂ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₂ n₄ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂) | |
u₁ c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
((λ q ih n₄ → n₄) , | |
(λ m,q₁ ih,tt₂ n₄ → con (there here , proj₁ ih,tt₂ n₄ , refl)) , | |
tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
n₃ (proj₁ ih,tt₁ n₃)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
n₂ m)) | |
(proj₂ (proj₂ (proj₂ n',xs,xss,q))) | |
(ind | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
(λ m₁ xs → | |
(n₂ | |
: μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
→ | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t)) | |
n₂ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ n₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q ih n₃ → n₃) , | |
(λ m,q ih,tt₁ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) , tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
m₁ n₂)) | |
(λ m₁ t,c₁ → | |
case | |
(λ t → | |
(c | |
: El | |
(case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t) | |
(λ n₂ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
n₂) | |
m₁) | |
→ | |
All | |
(case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t) | |
(λ m₂ xs → | |
(n₂ | |
: μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
→ | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
n₂ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₂ → | |
case | |
(λ t₁ → | |
(c₁ | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(λ u₁ n₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁) | |
u c₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u) | |
((λ q ih n₃ → n₃) , | |
(λ m,q ih,tt₁ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) , tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
m₂ n₂)) | |
m₁ c → | |
(n₂ | |
: μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
→ | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
n₂ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₂ → | |
case | |
(λ t₁ → | |
(c₁ | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁) | |
(λ u₁ n₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁) | |
u c₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u) | |
((λ q ih n₃ → n₃) , | |
(λ m,q ih,tt₁ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) , tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
m₁ n₂)) | |
((λ q ih n₂ → | |
subst | |
(λ m₂ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₂ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ n₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q₁ ih₁ n₃ → n₃) , | |
(λ m,q ih,tt₁ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) , tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
m₂ n₂)) | |
q) | |
, | |
(λ m',x,xs,q ih,tt₁ n₂ ys → | |
subst | |
(λ m₂ → | |
μ | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case | |
(λ _ → | |
Desc | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₂ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ n₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q ih n₃ → n₃) , | |
(λ m,q ih,tt₂ n₃ → con (there here , proj₁ ih,tt₂ n₃ , refl)) , tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
m₂ n₂)) | |
(proj₂ (proj₂ (proj₂ m',x,xs,q))) | |
(con | |
(there here , | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₂ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ n₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q ih n₃ → n₃) , | |
(λ m,q ih,tt₂ n₃ → con (there here , proj₁ ih,tt₂ n₃ , refl)) , tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
(proj₁ m',x,xs,q) n₂ | |
, proj₁ (proj₂ m',x,xs,q) , proj₁ ih,tt₁ n₂ ys , refl))) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
(proj₁ (proj₂ n',xs,xss,q)) | |
(ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₁ n₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q ih n₂ → con (here , refl)) , | |
(λ m,q ih,tt₁ n₂ → | |
ind | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₂ → | |
case | |
(λ t → | |
(c | |
: El (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All (case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t) | |
(λ u₂ n₃ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂) | |
u₁ c → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → case (λ _ → Desc ⊤) (`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
((λ q ih n₃ → n₃) , | |
(λ m,q₁ ih,tt₂ n₃ → con (there here , proj₁ ih,tt₂ n₃ , refl)) , | |
tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
n₂ (proj₁ ih,tt₁ n₂)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
(proj₁ n',xs,xss,q) m) | |
(proj₁ ih,tt))) | |
, tt) | |
(proj₁ t,c) (proj₂ t,c)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
λ A m → | |
ind | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n → | |
`Arg | |
(μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₁ → | |
`Arg A (λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t₁)) | |
m) | |
(λ _ → `Rec n (`End (con (there here , n , refl))))) | |
, tt) | |
t)) | |
(λ n xss → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → | |
`Arg A (λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q ih → | |
elimEq ⊤ tt | |
(λ u₁ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₁ → con (here , refl)) u q) | |
, | |
(λ n,q ih,tt → | |
elimEq ⊤ tt | |
(λ u₁ q → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₁ → | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₂ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u₁ c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q ih → | |
elimEq ⊤ tt | |
(λ u₂ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → n₂) u₁ q) | |
, | |
(λ n,q₁ ih,tt₁ → | |
elimEq ⊤ tt | |
(λ u₂ q → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → con (there here , proj₁ ih,tt₁ n₂ , refl)) u₁ (proj₂ n,q₁)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt n₁ (proj₁ ih,tt n₁)) | |
u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c) (proj₂ t,c)) | |
tt n m)) | |
(λ n t,c → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ t → | |
(c | |
: El | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → | |
`Arg | |
(μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
m) | |
(λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t) | |
(λ n₁ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg | |
(μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₂ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₃ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₃)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₃ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₃)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₂)) | |
m) | |
(λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
n₁) | |
n) | |
→ | |
All | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → | |
`Arg | |
(μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
m) | |
(λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t) | |
(λ n₁ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg | |
(μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₂ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₃ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₃)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₃ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₃)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₂)) | |
m) | |
(λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
n₁) | |
(λ n₁ xss → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ u _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t₁ → | |
(c₁ | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
u c₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
((λ q ih → | |
elimEq ⊤ tt | |
(λ u₁ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → con (here , refl)) u q) | |
, | |
(λ n,q ih,tt → | |
elimEq ⊤ tt | |
(λ u₁ q → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u₁ t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t₁ → | |
(c₁ | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u₁) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
(λ u₂ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
u₁ c₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
((λ q ih → | |
elimEq ⊤ tt | |
(λ u₂ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → n₃) u₁ q) | |
, | |
(λ n,q₁ ih,tt₁ → | |
elimEq ⊤ tt | |
(λ u₂ q → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) u₁ (proj₂ n,q₁)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt n₂ (proj₁ ih,tt n₂)) | |
u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt n₁ m)) | |
n c → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₁ → | |
`Arg A (λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t₁)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ u _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t₁ → | |
(c₁ | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
u c₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
((λ q ih → | |
elimEq ⊤ tt | |
(λ u₁ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → con (here , refl)) u q) | |
, | |
(λ n,q ih,tt → | |
elimEq ⊤ tt | |
(λ u₁ q → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u₁ t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t₁ → | |
(c₁ | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u₁) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
(λ u₂ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
u₁ c₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
((λ q ih → | |
elimEq ⊤ tt | |
(λ u₂ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → n₂) u₁ q) | |
, | |
(λ n,q₁ ih,tt₁ → | |
elimEq ⊤ tt | |
(λ u₂ q → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → con (there here , proj₁ ih,tt₁ n₂ , refl)) u₁ (proj₂ n,q₁)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt n₁ (proj₁ ih,tt n₁)) | |
u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt n m)) | |
((λ q ih → | |
elimEq | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(con (here , refl)) | |
(λ n₁ q₁ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q₂ ih₁ → | |
elimEq ⊤ tt | |
(λ u₁ q₃ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → con (here , refl)) u q₂) | |
, | |
(λ n,q ih,tt → | |
elimEq ⊤ tt | |
(λ u₁ q₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₂ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u₁ c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q₂ ih₁ → | |
elimEq ⊤ tt | |
(λ u₂ q₃ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → n₃) u₁ q₂) | |
, | |
(λ n,q₁ ih,tt₁ → | |
elimEq ⊤ tt | |
(λ u₂ q₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) u₁ (proj₂ n,q₁)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt n₂ (proj₁ ih,tt n₂)) | |
u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt n₁ m)) | |
(con (here , refl)) n q) | |
, | |
(λ n',x,xs,q ih,tt → | |
elimEq | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(con (there here , proj₁ n',x,xs,q , refl)) | |
(λ n₁ q → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q₁ ih → | |
elimEq ⊤ tt | |
(λ u₁ q₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → con (here , refl)) u q₁) | |
, | |
(λ n,q ih,tt₁ → | |
elimEq ⊤ tt | |
(λ u₁ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₂ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u₁ c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q₁ ih → | |
elimEq ⊤ tt | |
(λ u₂ q₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → n₃) u₁ q₁) | |
, | |
(λ n,q₁ ih,tt₂ → | |
elimEq ⊤ tt | |
(λ u₂ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → con (there here , proj₁ ih,tt₂ n₃ , refl)) u₁ (proj₂ n,q₁)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt n₂ (proj₁ ih,tt₁ n₂)) | |
u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt n₁ m)) | |
(ind | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → | |
`Arg A (λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t)) | |
(λ m₁ xs → | |
(n₁ | |
: μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
→ | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
n₁ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q ih → | |
elimEq ⊤ tt | |
(λ u₁ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → n₂) u q) | |
, | |
(λ n,q ih,tt₁ → | |
elimEq ⊤ tt | |
(λ u₁ q → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → con (there here , proj₁ ih,tt₁ n₂ , refl)) u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt m₁ n₁)) | |
(λ n₁ t,c₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ t → | |
(c | |
: El | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t) | |
(λ n₂ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
n₂) | |
n₁) | |
→ | |
All | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t) | |
(λ n₂ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
n₂) | |
(λ m₁ xs → | |
(n₂ | |
: μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
→ | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
n₂ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ u _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t₁ → | |
(c₁ | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
u c₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
((λ q ih → | |
elimEq ⊤ tt | |
(λ u₁ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → n₃) u q) | |
, | |
(λ n,q ih,tt₁ → | |
elimEq ⊤ tt | |
(λ u₁ q → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt m₁ n₂)) | |
n₁ c → | |
(n₂ | |
: μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
→ | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
n₂ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₁)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ u _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t₁ → | |
(c₁ | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
u c₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
((λ q ih → | |
elimEq ⊤ tt | |
(λ u₁ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → n₃) u q) | |
, | |
(λ n,q ih,tt₁ → | |
elimEq ⊤ tt | |
(λ u₁ q → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt n₁ n₂)) | |
((λ q ih → | |
elimEq | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(con (here , refl)) | |
(λ n₂ q₁ → | |
(n₃ | |
: μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
→ | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₄ → | |
`Arg A (λ _ → `Rec n₄ (`End (con (there here , n₄ , refl))))) | |
, tt) | |
t)) | |
n₃ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₄ → | |
`Arg A (λ _ → `Rec n₄ (`End (con (there here , n₄ , refl))))) | |
, tt) | |
t)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q₂ ih₁ → | |
elimEq ⊤ tt | |
(λ u₁ q₃ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₄ → n₄) u q₂) | |
, | |
(λ n,q ih,tt₁ → | |
elimEq ⊤ tt | |
(λ u₁ q₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₄ → con (there here , proj₁ ih,tt₁ n₄ , refl)) u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt n₂ n₃)) | |
(λ n₂ ys → ys) n₁ q) | |
, | |
(λ n',x,xs,q₁ ih,tt₁ → | |
elimEq | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(con (there here , proj₁ n',x,xs,q₁ , refl)) | |
(λ n₂ q → | |
(n₃ | |
: μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
→ | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₄ → | |
`Arg A (λ _ → `Rec n₄ (`End (con (there here , n₄ , refl))))) | |
, tt) | |
t)) | |
n₃ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₄ → | |
`Arg A (λ _ → `Rec n₄ (`End (con (there here , n₄ , refl))))) | |
, tt) | |
t)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q₁ ih → | |
elimEq ⊤ tt | |
(λ u₁ q₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₄ → n₄) u q₁) | |
, | |
(λ n,q ih,tt₂ → | |
elimEq ⊤ tt | |
(λ u₁ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₄ → con (there here , proj₁ ih,tt₂ n₄ , refl)) u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt n₂ n₃)) | |
(λ n₂ ys → | |
con | |
(there here , | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q ih → | |
elimEq ⊤ tt | |
(λ u₁ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → n₃) u q) | |
, | |
(λ n,q ih,tt₂ → | |
elimEq ⊤ tt | |
(λ u₁ q → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₃ → con (there here , proj₁ ih,tt₂ n₃ , refl)) u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt (proj₁ n',x,xs,q₁) n₂ | |
, proj₁ (proj₂ n',x,xs,q₁) , proj₁ ih,tt₁ n₂ ys , refl)) | |
n₁ (proj₂ (proj₂ (proj₂ n',x,xs,q₁)))) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
m (proj₁ (proj₂ n',x,xs,q)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q ih → | |
elimEq ⊤ tt | |
(λ u₁ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₁ → con (here , refl)) u q) | |
, | |
(λ n,q ih,tt₁ → | |
elimEq ⊤ tt | |
(λ u₁ q → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₁ → | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ u₁ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₂ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
u₁ c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
((λ q ih → | |
elimEq ⊤ tt | |
(λ u₂ q₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → n₂) u₁ q) | |
, | |
(λ n,q₁ ih,tt₂ → | |
elimEq ⊤ tt | |
(λ u₂ q → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ n₂ → con (there here , proj₁ ih,tt₂ n₂ , refl)) u₁ (proj₂ n,q₁)) | |
, tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt n₁ (proj₁ ih,tt₁ n₁)) | |
u (proj₂ n,q)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt (proj₁ n',x,xs,q) m) | |
(proj₁ ih,tt)) | |
n (proj₂ (proj₂ (proj₂ n',x,xs,q)))) | |
, tt) | |
(proj₁ t,c) (proj₂ t,c)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
λ A m → | |
ind | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n → | |
`Arg | |
(μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₁ → | |
`Arg A (λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t₁)) | |
m) | |
(λ _ → `Rec n (`End (con (there here , n , refl))))) | |
, tt) | |
t)) | |
(λ n xss → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → | |
`Arg A (λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ n₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q ih n₁ → con (here , refl)) , | |
(λ m,q ih,tt n₁ → | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₂ n₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂) | |
u₁ c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
((λ q ih n₂ → n₂) , | |
(λ m,q₁ ih,tt₁ n₂ → con (there here , proj₁ ih,tt₁ n₂ , refl)) , | |
tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt n₁ (proj₁ ih,tt n₁)) | |
, tt) | |
(proj₁ t,c) (proj₂ t,c)) | |
tt n m)) | |
(λ n t,c → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ t → | |
(c | |
: El | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → | |
`Arg | |
(μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
m) | |
(λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t) | |
(λ n₁ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg | |
(μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₂ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₃ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₃)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₃ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₃)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₂)) | |
m) | |
(λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
n₁) | |
n) | |
→ | |
All | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → | |
`Arg | |
(μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
m) | |
(λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t) | |
(λ n₁ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg | |
(μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₂ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₃ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₃)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₃ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₃)) | |
tt) | |
(λ n₃ → | |
`Arg A (λ _ → `Rec n₃ (`End (con (there here , n₃ , refl))))) | |
, tt) | |
t₂)) | |
m) | |
(λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
n₁) | |
(λ n₁ xss → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t₁ → | |
(c₁ | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
(λ u₁ n₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁) | |
u c₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u) | |
((λ q ih n₂ → con (here , refl)) , | |
(λ m,q ih,tt n₂ → | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u₁ t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t₁ → | |
(c₁ | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u₁) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
(λ u₂ n₃ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₂) | |
u₁ c₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁) | |
((λ q ih n₃ → n₃) , | |
(λ m,q₁ ih,tt₁ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) , | |
tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt n₂ (proj₁ ih,tt n₂)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt n₁ m)) | |
n c → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₁ → | |
`Arg A (λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t₁)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t₁ → | |
(c₁ | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
(λ u₁ n₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁) | |
u c₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u) | |
((λ q ih n₁ → con (here , refl)) , | |
(λ m,q ih,tt n₁ → | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u₁ t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t₁ → | |
(c₁ | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u₁) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
(λ u₂ n₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₂) | |
u₁ c₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁) | |
((λ q ih n₂ → n₂) , | |
(λ m,q₁ ih,tt₁ n₂ → con (there here , proj₁ ih,tt₁ n₂ , refl)) , | |
tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt n₁ (proj₁ ih,tt n₁)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt n m)) | |
((λ q ih → | |
subst | |
(λ n₁ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ n₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q₁ ih₁ n₂ → con (here , refl)) , | |
(λ m,q ih,tt n₂ → | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₂ n₃ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂) | |
u₁ c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
((λ q₁ ih₁ n₃ → n₃) , | |
(λ m,q₁ ih,tt₁ n₃ → con (there here , proj₁ ih,tt₁ n₃ , refl)) , | |
tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt n₂ (proj₁ ih,tt n₂)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt n₁ m)) | |
q (con (here , refl))) | |
, | |
(λ n',xs,xss,q ih,tt → | |
subst | |
(λ n₁ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ n₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q ih n₂ → con (here , refl)) , | |
(λ m,q ih,tt₁ n₂ → | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₂ n₃ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂) | |
u₁ c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
((λ q ih n₃ → n₃) , | |
(λ m,q₁ ih,tt₂ n₃ → con (there here , proj₁ ih,tt₂ n₃ , refl)) , | |
tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt n₂ (proj₁ ih,tt₁ n₂)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt n₁ m)) | |
(proj₂ (proj₂ (proj₂ n',xs,xss,q))) | |
(ind | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → | |
`Arg A (λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t)) | |
(λ m₁ xs → | |
(n₁ | |
: μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
→ | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
n₁ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ n₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q ih n₂ → n₂) , | |
(λ m,q ih,tt₁ n₂ → con (there here , proj₁ ih,tt₁ n₂ , refl)) , tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt m₁ n₁)) | |
(λ m₁ t,c₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ t → | |
(c | |
: El | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → | |
`Arg A (λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t) | |
(λ n₁ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
n₁) | |
m₁) | |
→ | |
All | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₁ → | |
`Arg A (λ _ → `Rec n₁ (`End (con (there here , n₁ , refl))))) | |
, tt) | |
t) | |
(λ n₁ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
n₁) | |
(λ m₂ xs → | |
(n₁ | |
: μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
→ | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
n₁ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t₁ → | |
(c₁ | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
(λ u₁ n₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁) | |
u c₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u) | |
((λ q ih n₂ → n₂) , | |
(λ m,q ih,tt₁ n₂ → con (there here , proj₁ ih,tt₁ n₂ , refl)) , tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt m₂ n₁)) | |
m₁ c → | |
(n₁ | |
: μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
→ | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
n₁ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t₁ → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t₁)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ u t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t₁ → | |
(c₁ | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂))) | |
(λ u₁ n₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u₁) | |
u c₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₂ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₂)) | |
u) | |
((λ q ih n₂ → n₂) , | |
(λ m,q ih,tt₁ n₂ → con (there here , proj₁ ih,tt₁ n₂ , refl)) , tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt m₁ n₁)) | |
((λ q ih n₁ → | |
subst | |
(λ m₂ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ n₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q₁ ih₁ n₂ → n₂) , | |
(λ m,q ih,tt₁ n₂ → con (there here , proj₁ ih,tt₁ n₂ , refl)) , tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt m₂ n₁)) | |
q) | |
, | |
(λ m',x,xs,q ih,tt₁ n₁ ys → | |
subst | |
(λ m₂ → | |
μ | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(`Arg (Tag ("nil" ∷ "cons" ∷ [])) | |
(λ t → | |
case ("nil" ∷ "cons" ∷ []) | |
(λ _ → | |
Desc | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt)) | |
(`End (con (here , refl)) , | |
`Arg | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
tt) | |
(λ n₂ → | |
`Arg A (λ _ → `Rec n₂ (`End (con (there here , n₂ , refl))))) | |
, tt) | |
t)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ n₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q ih n₂ → n₂) , | |
(λ m,q ih,tt₂ n₂ → con (there here , proj₁ ih,tt₂ n₂ , refl)) , tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt m₂ n₁)) | |
(proj₂ (proj₂ (proj₂ m',x,xs,q))) | |
(con | |
(there here , | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ n₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q ih n₂ → n₂) , | |
(λ m,q ih,tt₂ n₂ → con (there here , proj₁ ih,tt₂ n₂ , refl)) , tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt (proj₁ m',x,xs,q) n₁ | |
, proj₁ (proj₂ m',x,xs,q) , proj₁ ih,tt₁ n₁ ys , refl))) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
m (proj₁ (proj₂ n',xs,xss,q)) | |
(ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u t,c₁ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₁ n₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
u c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u) | |
((λ q ih n₁ → con (here , refl)) , | |
(λ m,q ih,tt₁ n₁ → | |
ind ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
(λ _ _ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t)) | |
tt) | |
(λ u₁ t,c₂ → | |
case ("zero" ∷ "suc" ∷ []) | |
(λ t → | |
(c | |
: El ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
u₁) | |
→ | |
All ⊤ | |
(case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t) | |
(μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁))) | |
(λ u₂ n₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₂) | |
u₁ c → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁ → | |
μ ⊤ | |
(`Arg (Tag ("zero" ∷ "suc" ∷ [])) | |
(λ t₁ → | |
case ("zero" ∷ "suc" ∷ []) (λ _ → Desc ⊤) | |
(`End tt , `Rec tt (`End tt) , tt) t₁)) | |
u₁) | |
((λ q ih n₂ → n₂) , | |
(λ m,q₁ ih,tt₂ n₂ → con (there here , proj₁ ih,tt₂ n₂ , refl)) , | |
tt) | |
(proj₁ t,c₂) (proj₂ t,c₂)) | |
tt n₁ (proj₁ ih,tt₁ n₁)) | |
, tt) | |
(proj₁ t,c₁) (proj₂ t,c₁)) | |
tt (proj₁ n',xs,xss,q) m) | |
(proj₁ ih,tt))) | |
, tt) | |
(proj₁ t,c) (proj₂ t,c)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment