रेंडरिंगhi

Translation status: हिन्दी reader-locale proof. Code fences render through the hi pipeline; prose is canonical Latin.

Equality and ordering comparisons returning bivalens.

Syntax: <expression> ≡ <expression> | <expression> ≠ <expression> | <expression> ≤ <expression> | <expression> ≥ <expression>

Category#

comparison

Examples#

radix/corpus/operatores/comparatio.fab (canonical · operator-group)#

Equality and ordering comparisons returning bivalens.

# =============================================================================
# ≡ — Equality and ordering comparisons returning bivalens.
# =============================================================================
#
# What this teaches:
#   • Comparison operators — `≡` (equal), `≠` (not equal), `≤` (less-or-equal), `≥` (greater-or-equal).
#   • Chaining — Comparisons can be chained with `et` for interval tests like `0 < x et x < 10`.
#
# Common mistakes:
#   • Using == instead of ≡ for equality, or != instead of ≠ for inequality — Faber uses Unicode operators.
#
# See also: ≠, ≤, ≥, est, adfirma
# =============================================================================

# operatores/comparatio — ≡ ≠ ≤ ≥
#
# GRAMMAR:
#   cmpExpr :← expr ('≡' | '≠' | '≤' | '≥' | '<' | '>') expr
#
# EXPECTED OUTPUT:
#   verum, verum, verum, verum, verum
#
# BACKEND:
#   Scalar bivalens stdout; chain with et for interval tests.

main {
    const _ aequalis  10  10
    print aequalis

    const _ diversus  10  5
    print diversus

    const _ nonMaior  5  10
    print nonMaior

    const _ nonMinor  10  5
    print nonMinor

    const _ intervallum  0 < 5 and 5 < 10
    print intervallum
}

test "equal and not-equal comparisons" {
    assert 10  10
    assert 10  5
}

test "ordering and chained interval" {
    assert 5  10
    assert 10  5
    assert 0 < 5 and 5 < 10
}

Expected output:

verum
verum
verum
verum
verum