5 kyu

Coinduction Proof Principle

Description:

Prove that coinduction (on coinductive stream) is equivalent to path.

Please do this Kata in advance to ensure that you know what is bisimulation. Preloaded codes are basically identical, but this time it's based on Cubical Path instead of Propositional Equality:

{-# OPTIONS --copattern --cubical --safe --no-sized-types --guardedness #-}
module StreamDef where

open import Cubical.Core.Everything

record Stream (A : Set) : Set where
  coinductive
  field
    head : A
    tail : Stream A
open Stream public

-- | Bisimulation as equality
record _==_ {A : Set} (x : Stream A) (y : Stream A) : Set where
  coinductive
  field
    refl-head : head x ≡ head y
    refl-tail : tail x == tail y
open _==_ public

You need to know what is the univalence axiom to do this.

Theorem Proving
Mathematics
Fundamentals

Similar Kata:

Stats:

CreatedMar 18, 2019
PublishedMar 18, 2019
Warriors Trained76
Total Skips12
Total Code Submissions9
Total Times Completed8
Agda Completions8
Total Stars1
% of votes with a positive feedback rating100% of 4
Total "Very Satisfied" Votes4
Total "Somewhat Satisfied" Votes0
Total "Not Satisfied" Votes0
Total Rank Assessments3
Average Assessed Rank
4 kyu
Highest Assessed Rank
4 kyu
Lowest Assessed Rank
6 kyu
Ad
Contributors
  • ice1000 Avatar
  • lwoo1999 Avatar
Ad