fact: Fixpoint bmx_str n: bmx n n -> bmx n n := match n with | O => fun M => M | S n => fun M => let b := sub01_mx (n1:=1) (m1:=1) M in let c := sub10_mx (n1:=1) (m1:=1) M in let d := bmx_str (sub11_mx (n1:=1) (m1:=1) M) in blk_mx 1 (b⋅d) (d⋅c) (d+d⋅c⋅(b⋅d)) end.
imports: kleene boolean sups matrix