@Test
    @FeatureRequirement(featureClass = GraphFeatures.class, feature = GraphFeatures.FEATURE_ORDERABILITY_SEMANTICS)
    public void testOr() {
        final P TRUE = P.eq(1);
        final P FALSE = P.gt(1);
        final P ERROR = P.lt(Double.NaN);

        // TRUE, TRUE -> TRUE
        checkHasNext(true, g.inject(1).or(is(TRUE),is(TRUE)));
        checkHasNext(true, g.inject(1).is(TRUE.or(TRUE)));
        // TRUE, FALSE -> TRUE
        checkHasNext(true, g.inject(1).or(is(TRUE),is(FALSE)));
        checkHasNext(true, g.inject(1).is(TRUE.or(FALSE)));
        // TRUE, ERROR -> TRUE
        checkHasNext(true, g.inject(1).or(is(TRUE),is(ERROR)));
        checkHasNext(true, g.inject(1).is(TRUE.or(ERROR)));

        // FALSE, TRUE -> TRUE
        checkHasNext(true, g.inject(1).or(is(FALSE),is(TRUE)));
        checkHasNext(true, g.inject(1).is(FALSE.or(TRUE)));
        // FALSE, FALSE -> FALSE
        checkHasNext(false, g.inject(1).or(is(FALSE),is(FALSE)));
        checkHasNext(false, g.inject(1).is(FALSE.or(FALSE)));
        // FALSE, ERROR -> ERROR -> FALSE
        checkHasNext(false, g.inject(1).or(is(FALSE),is(ERROR)));
        checkHasNext(false, g.inject(1).is(FALSE.or(ERROR)));

        // ERROR, TRUE -> TRUE
        checkHasNext(true, g.inject(1).or(is(ERROR),is(TRUE)));
        checkHasNext(true, g.inject(1).is(ERROR.or(TRUE)));
        // ERROR, FALSE -> ERROR -> FALSE
        checkHasNext(false, g.inject(1).or(is(ERROR),is(FALSE)));
        checkHasNext(false, g.inject(1).is(ERROR.or(FALSE)));
        // ERROR, ERROR -> ERROR -> FALSE
        checkHasNext(false, g.inject(1).or(is(ERROR),is(ERROR)));
        checkHasNext(false, g.inject(1).is(ERROR.or(ERROR)));
    }
Being symetrically defined to AND, OR only returns FALSE in the case that both arguments evalute to FALSE.
In cases where one argument is FALSE and the other ERROR, OR propogates the ERROR. Whenever one argument
is TRUE, OR returns TRUE since TRUE || X => TRUE.
gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/TernaryBooleanLogicsTest.java