19 if (
not is_indeterminate(is_square_)) {
31 void bvisit(
const Basic &x){};
34 is_square_ = tribool::indeterminate;
39 is_square_ = tribool::tritrue;
44 auto diff =
sub(x.nrows(), x.ncols());
45 is_square_ = is_zero(*diff, assumptions_);
50 is_square_ = tribool::tritrue;
55 if (x.nrows() == x.ncols()) {
56 is_square_ = tribool::tritrue;
58 is_square_ = tribool::trifalse;
64 check_vector(x.get_terms());
69 check_vector(x.get_factors());