fact: Fixpoint ribbon_from inner outer := if inner is inn0 :: inn then if outer is out0 :: out then (inn0 < out0) && ((out == inn) || ((head 0 out == inn0.+1) && (ribbon_from inn out))) else false else if outer is out0 :: out then head 0 out <= 1 else false.
imports: HB(structures) mathcomp(all_ssreflect) tools sorted partition