The transitivity of > can be expressed as
let ((_y_ exists_such_that) (_x_ > _y_) and _y_ > _z_) => _x_ > _z_
But if reductions of expressions containing variables are interpreted as meaning that the expression is true no matter what concepts are substituted for the variables, the same transitivity property can be expressed as
let ((_x_ > _y_) and _y_ > _z_) => _x_ > _z_
When evaluating 2 > 0, the expression is generalised to _x_ > _z_ which has sufficient conditions matching the pattern (_x_ > _y_) and _y_ and _z_. Substituting variables leads to 2 > 0 having sufficient conditions matching the pattern (2 > _y_) and _y_ > 0. At this point the ContextSearch::find_example can be used to find that (2 > 1) and 1 > 0 matches which implies 2 > 0.
The interpreter currently would only conclude that 2 > 0 if (2 > _y_) and _y_ > 0 for all _y_ which is clearly not desired.
The transitivity of
>can be expressed asBut if reductions of expressions containing variables are interpreted as meaning that the expression is true no matter what concepts are substituted for the variables, the same transitivity property can be expressed as
When evaluating
2 > 0, the expression is generalised to_x_ > _z_which has sufficient conditions matching the pattern(_x_ > _y_) and _y_ and _z_. Substituting variables leads to2 > 0having sufficient conditions matching the pattern(2 > _y_) and _y_ > 0. At this point theContextSearch::find_examplecan be used to find that(2 > 1) and 1 > 0matches which implies2 > 0.The interpreter currently would only conclude that
2 > 0if(2 > _y_) and _y_ > 0for all_y_which is clearly not desired.