Interval Notations
JavaScript (ES6), 184 182 181 180 bytes
Takes input in currying syntax (a)(b)
. Returns an array of 4 strings.
a=>b=>[1,2,3,4].map(k=>'31,23 = 31,23 = {10x72}4{10x&&x72}45..6'.replace(/\d/g,(n,i)=>[(+n?k<3:k&1)?'<':'<=',a,b,'][)([[]('[(i*17^k*718)%9],' = '.slice(k/2),a+k%2,b-(k<3)][n%7]))
Try it online!
How?
For each row k with 1 ≤ k ≤ 4, we start with the following template:
"31,23 = 31,23 = {10x72}4{10x&&x72}45..6"
and replace each decimal digit n at position i according to the following table:
n | Replaced with | Code
-----+-------------------------+------------------------------------------
0,7 | comparison operator | (+n ? k < 3 : k & 1) ? '<' : '<='
1 | a | a
2 | b | b
3 | interval bound | '][)([[]('[(i * 17 ^ k * 718) % 9]
4 | a substring of ' = ' | ' = '.slice(k / 2)
5 | either 'a' or 'a + 1' | a + k % 2
6 | either 'b' or 'b - 1' | b - (k < 3)
Python 2, 225 203 195 bytes
a,b=input()
for d in 0,1:
for m in 0,1:k=`a`+','+`b`;o='{'+`a`+'<'+m*'=';c='x<'+d*'='+`b`+'}'+' '[m+d:];print' = '.join(['(['[m]+k+')]'[d],']['[m]+k+'[]'[d],o+c,o+'x&&'+c,`a+1-m`+'..'+`b-1+d`])
Try it online!
Python 2, 187 bytes
t=a,b=input()
for j in 1,0:
for i in 1,0:print"%%s%d,%d%%s = "%t*2%('[('[i],'])'[j],'[]'[i],']['[j])+"{%d<%sx%%s<%s%d}%s = "%(a,'='[i:],'='[j:],b,' '*(i+j))*2%('','&&x')+`a+i`+'..'+`b-j`
Try it online!