simpl in |- *.
red in |- *.
simpl in |- *.
intros; destruct i; destruct j.
simpl in |- *; simpl in H.
apply Kronecker_case_unequal; auto with algebra.
Qed.

Lemma is_upper_and_lower_then_diagonal :
forall (F : field) (n : Nat) (M : matrix F n n),
is_up_triang M -> is_lo_triang M -> is_diagonal M.