### Description

A query like `from employees | where true` is perfectly valid. So is `from employees | where still_hired`. In other words, a simple boolean expression is accepted, even if that expression is a field. For fields `where [field_name]` is the short version of `where [field_name] == true`.

But, for fields that are not booleans `from employees | where salary` for example, ESQL throws an exception:

```
                "type": "class_cast_exception",
                "reason": "class org.elasticsearch.compute.data.IntVectorBlock cannot be cast to class org.elasticsearch.compute.data.BooleanBlock (org.elasticsearch.compute.data.IntVectorBlock and org.elasticsearch.compute.data.BooleanBlock are in unnamed module of loader java.net.FactoryURLClassLoader @c6a692e)"
```

The error message should be more user-friendly, like validating the parameters of regular functions.
x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/analysis/VerifierTests.java
/*
 * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
 * or more contributor license agreements. Licensed under the Elastic License
 * 2.0; you may not use this file except in compliance with the Elastic License
 * 2.0.
 */
package org.elasticsearch.xpack.esql.analysis;
import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.xpack.esql.parser.EsqlParser;
import org.elasticsearch.xpack.esql.parser.TypedParamValue;
import org.elasticsearch.xpack.esql.type.EsqlDataTypes;
import org.elasticsearch.xpack.ql.type.DataType;
import java.util.ArrayList;
import java.util.List;
import static org.elasticsearch.xpack.ql.type.DataTypes.UNSIGNED_LONG;
import static org.hamcrest.Matchers.containsString;
public class VerifierTests extends ESTestCase {
    private static final EsqlParser parser = new EsqlParser();
    private final Analyzer defaultAnalyzer = AnalyzerTestUtils.expandedDefaultAnalyzer();
    public void testIncompatibleTypesInMathOperation() {
        assertEquals(
            "1:40: second argument of [a + c] must be [numeric], found value [c] type [keyword]",
            error("row a = 1, b = 2, c = \"xxx\" | eval y = a + c")
        );
        assertEquals(
            "1:40: second argument of [a - c] must be [numeric], found value [c] type [keyword]",
            error("row a = 1, b = 2, c = \"xxx\" | eval y = a - c")
        );