proposition: Lemma mx_str_blk n1 n2 (a: mx (X u u) n1 n1) (b: mx (X u u) n1 n2) (c: mx (X u u) n2 n1) (d: mx (X u u) n2 n2): let e := d^* in let f := (a+(b⋅e)⋅c)^* in (blk_mx a b c d)^* ≡ blk_mx f (f⋅(b⋅e)) ((e⋅c)⋅f) (e+(e⋅c⋅f)⋅(b⋅e)).
proof: Proof. intros e f. rewrite mx_str_blk'. unfold mx_str_build. ra_fold (mx_ops X). now rewrite mx_sub00_blk, mx_sub01_blk, mx_sub10_blk, mx_sub11_blk. Qed.
imports: kleene normalisation ordinal sups matrix