Definition is_upper_triangular_pred :
  forall (F : field) (m n : Nat), Predicate (Mmn F m n).Definition is_lower_triangular_pred :
  forall (F : field) (m n : Nat), Predicate (Mmn F m n).Definition is_diagonal_pred :
  forall (F : field) (n : Nat), Predicate (Mmn F n n).

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.