Assert relationship between variables with Symbolics.jl


I was just wondering if there’s a way to assert and then test for a relationship between two varablie in Symbolics, or Julia in general.

Specifically, a game theory payoff table

| | R   | W 
|R| 0   | b    
|W| b-k | b - k/2    

where the payoff is to the player on the left. Given that b > k I want to show that

V(R|R) <V(W|R) < V(W|W) < V(R|W)

Obviously, this is pretty trivial in this example. But that’s not the point. I can plug in values like so

V(self,other) = payoffTable[self,other]
b = 2
k = 1
R = 1
W = 2
payoffTable = [0 b
                b-k b-k/2]

V(R,R) < V(W,R) < V(W,W) <V(R,W)

But it would be nice to have a way to assert b > k instead of inputting values.

Seems like this could be possible with IntervalConstraintProgramming + ModelingToolkit and setting a large enough IntervalBox to cover all feasible values, unless I’ve misunderstood how IntervalConstraintProgramming works. But it would require ModelingToolkit v3, which conflicts with Symbolics.

I am Weaving solutions to mathematical problems from here (some plotting, algebra, diffeqs and a bit of optimization to come) into a pdf for students at my university, and trying to showcase how cool Julia is in this domain. So ideally I need a solution that doesn’t involve uninstalling and reinstalling key packages throughout.