fact: CoFixpoint itree_diagonal (u:nat->itree) : itree := match u 0 with | itree_leaf n => itree_leaf n | itree_node t1 t2 => itree_node (itree_diagonal (itree_left \o shifts u)) (itree_diagonal (itree_right \o shifts u)) end.
imports: TLC(LibTactics LibLogic LibReflect LibFun LibEpsilon LibList LibInt LibNat LibProd LibSum LibRelation LibWf LibFix LibStream) ZifyNat TLC.LibNat